A full-stack task management application with user authentication, built with Spring Boot, Angular, PostgreSQL, Redis, and Docker.
tasktracker/
├── README.md # This file
├── QWEN.md # Development guidelines
├── task-tracker/ # Main application
│ ├── backend/ # Spring Boot application
│ ├── frontend/ # Angular application
│ ├── docker-compose.yml # Docker Compose configuration
│ └── README.md # Application documentation
└── samples/ # Sample implementations
- Backend: Spring Boot 3.5.3 with Java 21
- Frontend: Angular 20.0.0 with Node.js 18.20.0
- UI Libraries: Tailwind CSS v4 and PrimeNG v20
- Database: PostgreSQL 17.6
- Cache: Redis 8-alpine
- Web Server: Nginx 1.29.1
- Containerization: Docker and Docker Compose
The main application is located in the task-tracker/ directory. It includes:
- User authentication (login/logout) with secure session management
- Task management (create, read, update, delete)
- User profile management
- Role-based access control
- RESTful API
- Containerized deployment with Docker
- PostgreSQL for data persistence
- Redis for session management
- Modern UI with Tailwind CSS v4 and PrimeNG v20 components
- Responsive design for all device sizes
- Professional UI components and consistent design language
For detailed information about the application, see task-tracker/README.md.
This repository follows specific development guidelines documented in QWEN.md. These guidelines cover:
- Core development philosophy (KISS, YAGNI)
- Code structure and modularity
- Style and conventions
- Testing strategy
- Error handling and logging
- Security best practices
- Clone the repository
- Navigate to the task-tracker directory:
cd task-tracker - Run the application using Docker Compose:
docker-compose up --build
The application will be available at:
- Frontend: http://localhost
- Backend API: http://localhost/api/
- Health check: http://localhost/health
POST /api/auth/login- User loginPOST /api/auth/logout- User logout
GET /api/tasks- Get all tasksGET /api/tasks/{id}- Get a specific taskPOST /api/tasks- Create a new taskPUT /api/tasks/{id}- Update a taskDELETE /api/tasks/{id}- Delete a task
GET /api/profile- Get user profilePUT /api/profile- Update user profile
GET /health- Health check
The frontend uses Angular with Tailwind CSS v4 and PrimeNG v20 components.
- Node.js 18+ (for frontend development)
- Uses the new
@import "tailwindcss";syntax - Configured with
.postcssrc.jsonfor proper PostCSS integration - Includes
@tailwindcss/postcsspackage for Angular compatibility
- Latest version of the popular Angular UI component library
- Comprehensive set of accessible and responsive UI components
- Uses new theme system with
@primeuix/themespackage - Component imports follow the new PrimeNG v20 structure
To run the frontend locally:
cd task-tracker/frontend
npm install
npm start- Java 21 (for local development)
- Maven 3.9+ (for backend development)
The backend uses Spring Boot with Java 21.
To run the backend locally:
cd task-tracker/backend
./mvnw spring-boot:runRun unit tests:
cd backend
./mvnw testRun integration tests:
cd backend
./mvnw verifyRun unit tests:
cd frontend
npm testThe application is containerized using Docker and can be deployed using Docker Compose.
To deploy in production mode:
docker-compose -f docker-compose.yml up --build- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a pull request
This project is licensed under the MIT License.