# matrix-nebula **Repository Path**: matxtop/matrix-nebula ## Basic Information - **Project Name**: matrix-nebula - **Description**: No description available - **Primary Language**: Java - **License**: Unlicense - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-05-10 - **Last Updated**: 2025-09-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Matrix-Nebula 企业级项目管理平台 ## 项目简介 Matrix-Nebula 是一个基于 Spring Boot 3.x + WebFlux + R2DBC 的企业级项目管理平台,采用响应式编程架构,提供高性能、高并发的项目管理解决方案。了解更多请访问: https://www.matx.top ## 技术栈 - **后端框架**: Spring Boot 3.x + WebFlux - **数据库**: MySQL + R2DBC - **安全认证**: Spring Security + JWT - **构建工具**: Gradle - **开发语言**: Java 17+ ## 核心功能 ### 1. 用户认证与权限管理 - 基于 JWT 的无状态认证 - 细粒度权限控制 - 角色管理 - 部门管理 ### 2. 项目管理 - 项目里程碑管理 - 项目阶段管理 - 项目成员管理 - 项目进度跟踪 ### 3. 低代码平台 - 可视化设计器 - 动态表单生成 - 业务模型定义 - 事件扩展机制 ### 4. 系统管理 - 系统配置管理 - 审计日志 - 国际化支持 - 定时任务 ### 5. 首次登录改密码功能 ⭐ **新增功能**: 首次登录强制修改密码机制 #### 功能特性 - **环境配置**: 开发环境默认禁用,生产环境默认启用 - **智能检测**: 通过 `lastLoginTime` 字段判断是否首次登录 - **防绕过机制**: 首次登录时不更新 `lastLoginTime`,只有修改密码成功后才更新 - **安全验证**: 密码格式严格验证(大小写字母、数字、特殊字符) - **用户体验**: 友好的密码修改界面和提示信息 - **国际化支持**: 完整的中英文支持 #### 配置说明 ```yaml # 开发环境 (application-dev.yml) matrix: security: first-login-change-password: false # 生产环境 (application-prod.yml) matrix: security: first-login-change-password: true ``` #### API 接口 - **登录检测**: `POST /api/auth/login` - 返回首次登录标识 - **密码修改**: `POST /api/auth/change-password` - 修改用户密码 #### 前端集成 详细的前端处理方案请参考: [首次登录改密码功能文档](docs/first-login-change-password.md) ## 快速开始 ### 环境要求 - JDK 17+ - MySQL 8.0+ - Gradle 7.x+ ### 安装步骤 1. **克隆项目** ```bash git clone https://github.com/your-org/matrix-nebula.git cd matrix-nebula ``` 2. **配置数据库** ```bash # 创建数据库 mysql -u root -p CREATE DATABASE matrix CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; # 执行DDL脚本 mysql -u root -p matrix < ddl/matrix.sql ``` 3. **配置应用** ```bash # 修改数据库连接配置 vim src/main/resources/application-dev.yml ``` 4. **启动应用** ```bash # 开发环境 ./gradlew bootRun # 生产环境 ./gradlew build java -jar build/libs/matrix-nebula-1.2.0.jar --spring.profiles.active=prod ``` ### 默认账户 - **用户名**: admin - **密码**: admin@123 - **角色**: 超级管理员 ## 项目结构 ``` matrix-nebula/ ├── src/main/java/com/matrix/ │ ├── app/ # 业务模块 │ │ ├── common/ # 公共组件 │ │ ├── flux/ # 响应式业务模块 │ │ └── mvc/ # MVC业务模块 │ └── framework/ # 框架核心 │ ├── auth/ # 认证授权 │ ├── core/ # 核心组件 │ ├── lowcode/ # 低代码平台 │ └── sysconfig/ # 系统配置 ├── src/main/resources/ # 资源文件 ├── src/test/ # 测试代码 ├── docs/ # 文档 └── ddl/ # 数据库脚本 ``` ## 开发规范 ### 代码规范 - 遵循阿里巴巴Java开发手册 - 使用统一的代码格式化配置 - 重要方法必须有Javadoc注释 - 控制器返回值统一使用 `Result` 封装 ### 安全规范 - 所有接口必须进行权限校验 - 敏感操作必须记录审计日志 - 用户输入必须进行严格验证 - 密码等敏感信息不得明文存储 ### 国际化规范 - 所有用户可见文本必须国际化 - 使用 `I18n.getMessage()` 获取消息 - 支持中英文切换 ## 部署说明 ### 开发环境 ```bash # 使用开发配置启动 ./gradlew bootRun --args='--spring.profiles.active=dev' ``` ### 生产环境 ```bash # 构建生产版本 ./gradlew build -x test # 启动生产服务 java -jar build/libs/matrix-nebula-1.2.0.jar \ --spring.profiles.active=prod \ --server.port=8080 ``` ### Docker 部署 ```bash # 构建镜像 docker build -t matrix-nebula:1.2.0 . # 运行容器 docker run -d \ --name matrix-nebula \ -p 8080:8080 \ -e SPRING_PROFILES_ACTIVE=prod \ matrix-nebula:1.2.0 ``` ## 测试 ### 单元测试 ```bash ./gradlew test ``` ### 集成测试 ```bash ./gradlew integrationTest ``` ### 性能测试 ```bash ./gradlew performanceTest ``` ## 贡献指南 1. Fork 项目 2. 创建功能分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 创建 Pull Request ## 许可证 本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情 ## 联系方式 - **项目维护者**: Leo - **邮箱**: leo@matrix.com - **项目地址**: https://github.com/your-org/matrix-nebula ## 更新日志 ### v1.2.0 (2025-01-27) - ✨ 新增首次登录改密码功能 - 🔧 优化系统配置管理 - 🐛 修复已知问题 - 📚 完善文档 ### v1.1.0 (2024-12-15) - ✨ 新增低代码平台 - ✨ 新增项目管理功能 - 🔧 优化认证授权机制 ### v1.0.0 (2024-10-03) - 🎉 项目初始版本发布 - ✨ 基础用户认证功能 - ✨ 权限管理系统