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 database
docker-compose up -dInstall and start MariaDB locally. Update api/src/main/resources/application.properties if needed.
cd api
# Install dependencies and run
./mvnw spring-boot:runBackend runs at: http://localhost:8080/api/v1/
- Swagger UI: http://localhost:8080/api/v1/swagger-ui
- API Docs: http://localhost:8080/api/v1/api-docs
cd frontend
# Install dependencies
npm install
# Run development server
npm run devFrontend runs at: http://localhost:5173/
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