# 👷🏻 后勤报修管理系统
## 📝 简介
本项目是一个基于`TypeScript + Next.js 14 (App Router)` 开发的后勤报修管理系统,由管理员端(Web端)和用户端(以PWA形式的移动设备)组成,管理员端可对用户、维修单、维修工人进行管理,用户端可进行报修单的提交、查看等功能;通过Web Worker技术,实现了两端只要开启通知权限,都可以接收到维修单状态的最新动态推送通知。
![screenshot](./screenshot.jpg)
## 🚀 技术栈
- `Next.js 14 (App Router)`
- `Tailwindcss`
- `shadcn/ui`
- `高德地图SDK`
- `PWA + Web Worker`
- `useSWR`
- `Next-Auth`
- `Prisma ORM`
- `PostgreSQL`
## 🛠️ 功能
### 👨🏻💼 管理员端
- 登录/登出
- 数据面板
- 用户管理
- 维修单管理
- 报修工人管理
- 报修类型管理
- 报修位置管理(通过高德地图进行可视化操作)
## 📱 用户端
- 登录/登出
- 查看历史维修单列表
- 创建报修单
- 可安装(PWA),并接收到维修单状态的最新动态推送通知
## 🛠️ 本地开发
1. 首先 `git clone` 本仓库,然后进入项目目录,执行以下命令:
```bash
pnpm install
pnpm dev
```
2. 将项目根目录下的`.env.`和`.env.development`中的环境变量配置好,尤其是`.env.development`中的`DATABASE_URL`(即你的数据库url),并启动好数据库。
3. 初始化并seeding数据库(将一些模拟数据和管理员账号写进数据库):
```bash
pnpm add -g dotenv-cli
pnpm run resetDB:dev
```
4. 之后在浏览器打开 [http://localhost:3000](http://localhost:3000) 即可。
## 📦 部署
### Vercel部署
只需要将本仓库fork到自己的GitHub Repo下,再将项目对应的`.env`文件配置好然后在Vercel中导入即可。
### Docker部署
首先将本仓库clone到本地,然后进入项目目录,配置好`.env`与`docker-compose.yml`对应的环境变量之后后执行以下命令即可完成部署:
```bash
docker-compose up -d
```
之后在浏览器打开 [http://localhost](http://localhost) 即可(已由nginx进行反向代理到80端口)。
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 基于TypeScript + Next.js 14(App Router) 开发的后勤报修管理系统源码+项目说明(支持PWA).zip
资源推荐
资源详情
资源评论
收起资源包目录
基于TypeScript + Next.js 14开发的后勤报修管理系统源码+项目说明(支持PWA).zip (139个子文件)
nginx.conf 342B
globals.css 3KB
MapStyle.css 564B
style.css 353B
ReportDetailsStyle.css 168B
.env.development 206B
Dockerfile 1KB
.dockerignore 62B
.env 326B
.gitignore 372B
favicon.ico 182KB
screenshot.jpg 648KB
avatar.jpg 48KB
tailwind.config.js 2KB
serviceWorker.js 1KB
next.config.js 94B
postcss.config.js 82B
package.json 3KB
tsconfig.json 723B
manifest.json 610B
components.json 323B
.prettierrc.json 49B
README.md 2KB
school-logo-purple.png 205KB
school-logo-fill.png 182KB
icon-512x512.png 168KB
icon-384x384.png 106KB
bg.png 75KB
icon-256x256.png 56KB
icon-192x192.png 35KB
map-pin.png 2KB
schema.prisma 2KB
entrypoint.sh 447B
migration.sql 1KB
migration.sql 1KB
migration.sql 1KB
migration.sql 994B
migration.sql 900B
migration.sql 855B
migration.sql 595B
migration.sql 535B
migration.sql 441B
migration.sql 441B
migration.sql 407B
migration.sql 181B
migration.sql 70B
migration.sql 42B
migration.sql 42B
Admin-Control-Panel.svg 27KB
illustration.svg 14KB
migration_lock.toml 126B
subscriptionStore.ts 3KB
seed.ts 3KB
route.ts 2KB
authOptions.ts 2KB
route.ts 2KB
route.ts 2KB
utils.ts 2KB
useUncompletedReports.ts 2KB
middleware.ts 1KB
index.ts 1KB
route.ts 1KB
route.ts 1KB
route.ts 1KB
route.ts 1019B
route.ts 990B
route.ts 983B
next-auth.d.ts 933B
route.ts 790B
route.ts 779B
route.ts 769B
route.ts 722B
route.ts 652B
route.ts 571B
reportItemType.ts 447B
db.ts 284B
route.ts 162B
global.d.ts 66B
page.tsx 8KB
LoginForm.tsx 8KB
ReportsTable.tsx 8KB
ReportDetailsProvider.tsx 8KB
dropdown-menu.tsx 7KB
ReportForm.tsx 7KB
page.tsx 6KB
DataTable.tsx 6KB
page.tsx 6KB
Map.tsx 5KB
UnCompletedBox.tsx 5KB
page.tsx 4KB
select.tsx 4KB
sheet.tsx 4KB
form.tsx 4KB
page.tsx 4KB
dialog.tsx 4KB
ReportItem.tsx 3KB
Header.tsx 3KB
page.tsx 3KB
table.tsx 3KB
MyReports.tsx 2KB
共 139 条
- 1
- 2
资源评论
土豆片片
- 粉丝: 1567
- 资源: 5643
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功