A full-stack task management application built with Angular frontend, Spring Boot backend, and MariaDB database.
This project was built as a rapid experiment using GitHub Copilot as the primary coding assistant, with the end-to-end implementation completed in approximately 30 minutes.
Use this repository as a practical reference for:
- Fast full-stack scaffolding with AI assistance
- Keeping architecture boundaries clear under tight delivery time
- Converting a prototype into a maintainable baseline
Related docs:
- Frontend: Angular 17+ with TypeScript and Angular Material UI
- Backend: Spring Boot 3.x with Java 17+
- Database: MariaDB 11.0
- API: RESTful services for task CRUD operations
- ✅ Create new tasks with title and description
- ✅ Mark tasks as completed/uncompleted
- ✅ Delete tasks
- ✅ Search tasks by title or description
- ✅ Filter tasks (All, Pending, Completed)
- ✅ Responsive design with Angular Material
- ✅ Real-time updates and error handling
docker-compose up -d mariadbcd frontend
npm installBackend (Terminal 1):
cd backend
./mvnw spring-boot:runFrontend (Terminal 2):
cd frontend
npm start- Frontend: http://localhost:4200
- Backend API: http://localhost:8080/api/tasks
- Database: localhost:3306
- Node.js 18+ and npm
- Java 17+
- Maven 3.6+
- Docker and Docker Compose
- VS Code (recommended)
Use VS Code tasks:
- Run
Tasks: Run Task-> "Full Stack Setup" - Run
Tasks: Run Task-> "Start Database"
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/tasks |
Get all tasks |
| POST | /api/tasks |
Create new task |
| PUT | /api/tasks/{id} |
Update task |
| PATCH | /api/tasks/{id}/toggle |
Toggle completion |
| DELETE | /api/tasks/{id} |
Delete task |
-
Database Connection Error
docker-compose up -d mariadb
-
Port Already in Use
npx kill-port 4200 8080 3306
MIT License