# 投票系统 **Repository Path**: rymaker/voting-system ## Basic Information - **Project Name**: 投票系统 - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-24 - **Last Updated**: 2026-02-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
ModernVote Logo # ModernVote 🗳️ 现代化在线投票系统 简体中文 | [English](./README.md)
--- ## 项目简介 ModernVote 是一个功能完善、界面美观的现代化在线投票系统。采用 Nuxt 3 + Vue 3 + TypeORM + MySQL 技术栈,提供了完整的投票创建、管理和统计功能。 ## 主要特性 - ✅ 完整的投票 CRUD 功能 - ✅ 实时投票统计和数据可视化 - ✅ 防重复投票机制(IP + 指纹) - ✅ 响应式设计,完美支持移动端 - ✅ 管理后台,支持投票管理 - ✅ 炫酷的 UI 动画和粒子特效 - ✅ Docker 容器化部署 - ✅ Token 认证和会话管理 ## 技术栈 **前端** - Nuxt 3 - Vue 3 全栈框架 - Pinia - 状态管理 - Naive UI - UI 组件库 - SCSS - 样式预处理 - Anime.js - 动画库 **后端** - Nitro - Nuxt 服务端 - TypeORM - ORM 框架 - MySQL - 数据库 - bcrypt - 密码加密 ## 快速开始 ### 1. 安装依赖 ```bash npm install ``` ### 2. 配置环境变量 复制 `.env.example` 为 `.env` 并配置: ```env DB_HOST=localhost DB_PORT=3306 DB_USER=root DB_PASSWORD=your_password DB_NAME=modernvote ``` ### 3. 启动开发服务器 ```bash npm run dev ``` 访问 http://localhost:3000 ### 4. 登录管理后台 默认管理员账户: - 用户名: `admin` - 密码: `admin123` ## Docker 部署 ```bash # 开发环境 docker-compose -f docker-compose.dev.yml up -d # 生产环境 docker-compose up -d ``` ## 项目结构 ``` modernvote/ ├── assets/ # 静态资源和样式 ├── components/ # Vue 组件 ├── pages/ # 页面路由 ├── server/ # 服务端代码 │ ├── api/ # API 接口 │ ├── database/ # 数据库配置 │ └── entities/ # 数据实体 ├── stores/ # Pinia 状态管理 ├── middleware/ # 路由中间件 └── public/ # 公共文件 ``` ## 功能说明 ### 投票功能 1. **创建投票** - 支持多选项,可设置状态 2. **参与投票** - 用户选择选项并提交 3. **查看结果** - 实时显示投票统计 4. **防重复** - IP 和指纹双重验证 ### 管理后台 1. **数据概览** - 投票总数、活跃投票、总票数 2. **投票管理** - 创建、编辑、删除投票 3. **状态管理** - 草稿、进行中、已结束 4. **安全认证** - Token 认证机制 ## API 接口 ### 投票相关 - `GET /api/votes` - 获取投票列表 - `GET /api/votes/detail` - 获取投票详情 - `POST /api/votes` - 创建投票 - `POST /api/votes/submit` - 提交投票 - `PUT /api/votes/update` - 更新投票 - `DELETE /api/votes/remove` - 删除投票 - `GET /api/votes/stats` - 获取统计数据 ### 管理员相关 - `POST /api/admin/login` - 管理员登录 - `GET /api/admin/verify` - 验证 Token 详细文档请查看 [API.md](./API.md) ## 自定义配置 ### 修改主题颜色 编辑 `assets/styles/Variables.scss` ### 修改 Logo 替换 `public/logo.svg` 和 `public/favicon.svg` ### 修改管理员账户 在 `.env` 中配置: ```env ADMIN_USERNAME=your_admin ADMIN_PASSWORD=your_password ``` ## 生产部署 ### 构建 ```bash npm run build ``` ### 预览 ```bash npm run preview ``` ### Docker ```bash docker-compose up -d ``` ## 开发计划 - [x] 基础投票功能 - [x] 管理后台 - [x] 防重复投票 - [x] 响应式设计 - [x] Docker 支持 - [ ] 多语言支持 - [ ] 数据导出功能 - [ ] 邮件通知 - [ ] 投票时间限制 ## 贡献 欢迎提交 Issue 和 Pull Request! ## 许可证 MIT License ## 联系方式 如有问题或建议,请提交 Issue 或联系开发团队。 ---
⭐ 如果觉得不错,请给个 Star 支持一下!