Task management web application enabling users to create, organize, and assign tasks to team members. Features full CRUD operations for task management with a user-friendly interface for tracking and organizing work assignments.
- Task Management: Create, read, update, and delete tasks
- Assignee Management: Assign tasks to team members
- Status Tracking: Monitor task progress with activity feed
- Weekly Overview: Track tasks by due date
- Export: Export tasks to CSV format
- Validation: Input validation for data integrity
- Notifications: Toast notifications for user feedback
- Framework: Vue 3 with TypeScript
- Build Tool: Vite
- Routing: Vue Router
- UI Components: Agnostic UI, FontAwesome Icons
- Framework: Spring Boot 3.3.5
- Language: Java 21
- Database: MariaDB
- API Documentation: Swagger UI / OpenAPI
- Containerization: Docker & Docker Compose
- Development: Maven Wrapper, Hot Reload
- Java: JDK 21 or later
- Node.js: Latest LTS version
- Database: MariaDB (or use Docker Compose)
- Maven: Included via Maven Wrapper
- Docker (optional): For containerized deployment
docker compose upApp runs at: http://localhost:8080/
- Swagger UI: http://localhost:8080/swagger-ui/index.html
- API Docs: http://localhost:8080/api-docs
Start MariaDB locally or run only the database via Docker:
docker compose up databasecd api
./mvnw spring-boot:runBackend runs at: http://localhost:8080/
- Swagger UI: http://localhost:8080/swagger-ui/index.html
- API Docs: http://localhost:8080/api-docs
cd frontend
npm install
npm run devFrontend runs at: http://localhost:5173/
Go to Docker Desktop → Settings → Docker Engine and add "dns": ["8.8.8.8", "1.1.1.1"], then Apply & Restart.
cd api
# Run with live reload
./mvnw spring-boot:run
# Run tests
./mvnw test
# Generate test coverage report
./mvnw jacoco:report
# Report available at: target/site/jacoco/index.html
# Build without tests
./mvnw clean install -DskipTestscd frontend
# Development server with hot reload
npm run dev
# Type checking
npm run type-check
# Linting
npm run lint
# Format code
npm run format
# Build for production
npm run build