# Capricorn **Repository Path**: r0nin/capricorn ## Basic Information - **Project Name**: Capricorn - **Description**: 这是一个看板软件,是武汉大学 计算机学院 软件工程专业 开源软件生态与开发技术课程 的期末项目 - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-18 - **Last Updated**: 2025-11-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Capricorn ♑ - 极简任务管理看板系统 > **Define your tasks. Design your life.** **Capricorn** 是一个基于 JavaEE 技术栈开发的现代化任务管理看板系统(类 Trello)。它结合了经典的看板工作流与极具现代感的磨砂玻璃(Glassmorphism)UI 设计,支持拖拽交互、多项目管理及个性化皮肤切换,旨在提供流畅、优雅的任务协作体验。 ## ✨ 核心功能 ### 1. 交互式看板 (Kanban Board) - **拖拽排序**:基于 jQuery UI 实现的丝滑拖拽体验,支持卡片在不同列表间移动,也支持列表本身的排序。 - **状态流转**:默认提供“待办事项”、“进行中”、“已完成”三个标准流转列表。 - **防遮挡优化**:拖拽时卡片自动悬浮于顶层,解决了长列表滚动条遮挡的问题。 - **感应特效**:拖拽卡片经过列表时,目标列表会自动放大并高亮,提供清晰的视觉反馈。 ### 2. 项目与列表管理 - **多项目支持**:用户可以创建多个独立的看板项目(如“期末作业”、“生活琐事”),并在主页进行管理。 - **无刷新操作**:新建、重命名、删除项目均通过 AJAX 实现,无需刷新页面。 - **智能归档**:当用户删除某个列表时,该列表下的任务不会丢失,而是自动移动到底部的“**未分类/归档池**”中。 - **未分类区域**:底部设有独立的横向滚动区域,用于存放临时或归档的任务。 ### 3. 现代化 UI/UX 设计 - **落地页 (Landing Page)**:炫酷的视频背景首页,配合花体字标题和入场动画。 - **磨砂玻璃风格**:全站采用半透明磨砂玻璃卡片设计,适配各种深浅背景。 - **个性化皮肤**:内置皮肤切换侧边栏,支持在多张精美壁纸间无缝切换,并自动保存用户偏好(Local Storage)。 - **垃圾桶交互**:右下角悬浮垃圾桶,支持将卡片拖入进行粉碎式删除。 ### 4. 用户系统 - **注册/登录**:基于 Session 的用户认证体系。 - **数据隔离**:每个用户只能查看和管理属于自己的项目。 ## 🛠 技术栈 - **后端框架**:Spring 5.x, Spring MVC, MyBatis (SSM 架构) - **数据库**:MySQL 8.0 / 5.7 - **前端技术**:JSP, JSTL, jQuery, jQuery UI (Sortable/Droppable/Draggable) - **样式设计**:CSS3 (Flexbox, Grid), Google Fonts - **服务器**:Apache Tomcat 9 ## 💾 数据库设计 (Database Schema) 项目包含 4 张核心数据表,体现了清晰的层级关系:`User` -> `Project` -> `List` -> `Card`。 ``` -- 1. 用户表 CREATE TABLE t_user ( user_id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(100) NOT NULL UNIQUE, password VARCHAR(100) NOT NULL ); ``` ```-- 2. 项目表 CREATE TABLE t_project ( project_id INT AUTO_INCREMENT PRIMARY KEY, project_name VARCHAR(255) NOT NULL, owner_user_id INT NOT NULL, FOREIGN KEY (owner_user_id) REFERENCES t_user(user_id) ); ``` ```-- 3. 列表表 CREATE TABLE t_list ( list_id INT AUTO_INCREMENT PRIMARY KEY, list_name VARCHAR(255) NOT NULL, project_id INT NOT NULL, order_index INT NOT NULL DEFAULT 0, FOREIGN KEY (project_id) REFERENCES t_project(project_id) ); ``` ```-- 4. 卡片表 CREATE TABLE t_card ( card_id INT AUTO_INCREMENT PRIMARY KEY, card_content TEXT NOT NULL, list_id INT NOT NULL, order_index INT NOT NULL DEFAULT 0, FOREIGN KEY (list_id) REFERENCES t_list(list_id) ); ``` ## 🚀 快速开始 (Installation) 1. **环境准备**:确保本地安装了 JDK 1.8+, Maven, Tomcat 9 和 MySQL。 2. **数据库配置**: - 在 MySQL 中创建数据库 `kanban_db`。 - 执行上述 SQL 脚本建表。 - 修改 `src/main/resources/db.properties` 中的数据库账号密码。 - 启动数据库`mysql -u root -p` 3. **静态资源**: - 确保 `src/main/webapp/images/` 下包含背景图片 (`bg1.png`, `bg2.png` 等)。 - 确保 `src/main/webapp/videos/` 下包含视频文件 (`test.mp4`)。 4. **运行项目**: - 使用 IntelliJ IDEA 打开项目。 - 配置 Tomcat Server,部署 Artifact (`xxx:war exploded`)。 - 启动服务器,访问 `http://localhost:8081/kanban/`(根据实际配置路径)。 ------ **© 2025 Capricorn Project.** Created for Final Assignment. 特别致谢:Gemini 3 pro