# system-cursor-2 **Repository Path**: aicode-design/system-cursor-2 ## Basic Information - **Project Name**: system-cursor-2 - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-12-10 - **Last Updated**: 2024-12-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # RBAC Permission Management System A Role-Based Access Control (RBAC) system with a Vue.js frontend and Spring Boot backend, supporting both Maven and Gradle build systems, and implementations in both Java and Kotlin. ## Features - User Management - Role Management - Permission Management - Fine-grained Access Control - JWT Authentication - Modern Vue.js Frontend - RESTful API Backend ## Project Structure ``` . ├── backend │ └── jvm │ └── spring-boot │ ├── java-gradle/ # Java implementation with Gradle │ ├── java-maven/ # Java implementation with Maven │ ├── kotlin-gradle/ # Kotlin implementation with Gradle │ └── kotlin-maven/ # Kotlin implementation with Maven └── frontend └── vue-app/ # Vue.js frontend application ``` ## Prerequisites - JDK 17 or later - Node.js 16 or later - Maven 3.8+ (for Maven builds) - Gradle 8.0+ (for Gradle builds) ## Backend Setup ### Maven Build (Java/Kotlin) ```bash # Java Maven cd backend/jvm/spring-boot/java-maven ./mvnw spring-boot:run # Kotlin Maven cd backend/jvm/spring-boot/kotlin-maven ./mvnw spring-boot:run ``` ### Gradle Build (Java/Kotlin) ```bash # Java Gradle cd backend/jvm/spring-boot/java-gradle ./gradlew bootRun # Kotlin Gradle cd backend/jvm/spring-boot/kotlin-gradle ./gradlew bootRun ``` ## Frontend Setup ```bash cd frontend/vue-app npm install npm run dev ``` ## API Documentation The backend provides the following RESTful endpoints: ### Authentication - POST `/api/auth/login` - User login - POST `/api/auth/register` - User registration ### Users - GET `/api/users` - List all users - GET `/api/users/{id}` - Get user by ID - POST `/api/users` - Create new user - PUT `/api/users/{id}` - Update user - DELETE `/api/users/{id}` - Delete user ### Roles - GET `/api/roles` - List all roles - GET `/api/roles/{id}` - Get role by ID - POST `/api/roles` - Create new role - PUT `/api/roles/{id}` - Update role - DELETE `/api/roles/{id}` - Delete role ### Permissions - GET `/api/permissions` - List all permissions - GET `/api/permissions/{id}` - Get permission by ID - POST `/api/permissions` - Create new permission - PUT `/api/permissions/{id}` - Update permission - DELETE `/api/permissions/{id}` - Delete permission ## Default Credentials The system is initialized with a default admin user: - Username: `admin` - Password: `admin123` ## Security The system implements the following security measures: - JWT-based authentication - Password encryption using BCrypt - Role-based access control - Stateless session management - CORS configuration - CSRF protection ## Database The application uses H2 in-memory database by default. The H2 console is available at: - URL: `http://localhost:8080/h2-console` - JDBC URL: `jdbc:h2:mem:rbacdb` - Username: `sa` - Password: `password` ## Contributing 1. Fork the repository 2. Create your feature branch (`git checkout -b feature/amazing-feature`) 3. Commit your changes (`git commit -m 'Add some amazing feature'`) 4. Push to the branch (`git push origin feature/amazing-feature`) 5. Open a Pull Request ## License This project is licensed under the MIT License - see the LICENSE file for details.