A full-stack, production-ready task management application built with React, Spring Boot, and Docker. This project demonstrates a complete CRUD (Create, Read, Update, Delete) lifecycle, advanced filtering, and a decoupled cloud architecture.
- Frontend (Vercel): https://agentic-sdlc.vercel.app
- Backend API (Render): https://agentic-backend-xhm9.onrender.com/api/tasks
- Full CRUD Operations: Create, view, edit, and delete tasks seamlessly.
- Smart Filtering & Search: Search by title and filter by categories (Work, Personal, Urgent).
- Responsive UI: Optimized for both desktop and mobile viewing.
- Decoupled Architecture: Frontend and Backend are hosted independently but communicate securely via REST.
- Containerized Backend: Dockerized Spring Boot application for consistent environment deployments.
- Framework: React 18 (Vite)
- Language: TypeScript
- Styling: CSS3 (Modern Flexbox/Grid)
- API Client: Axios
- Framework: Spring Boot 3+
- Language: Java 21
- Build Tool: Maven
- Deployment: Docker (eclipse-temurin:21-jdk-jammy)
This project was developed using an Agentic Software Development Life Cycle (SDLC) approach. Rather than traditional manual coding, I collaborated with an AI thought partner to navigate complex deployment hurdles.
- Deployment Pivot: When the cloud provider (Render) failed to auto-detect the Java environment, we shifted to a Dockerized approach. I authored a custom
Dockerfileto ensure the Spring Boot environment was perfectly replicated in the cloud. - CORS Security: Resolved cross-origin resource sharing blocks by explicitly configuring the Backend to recognize and trust the Vercel frontend domain.
- Defensive Programming: Handled "Network Latency" and "Cold Start" issues on the free-tier server by implementing safety checks (
tasks || []) to prevent the UI from crashing during data fetching.
- Navigate to
/task-backend. - Ensure you have Java 21 and Maven installed.
- Run:
./mvnw spring-boot:run
- Navigate to
/task-frontend. - Create a
.envfile and add:VITE_API_URL=http://localhost:8080/api/tasks - Run:
npm installthennpm run dev
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/tasks |
Fetch all tasks |
| POST | /api/tasks |
Create a new task |
| PUT | /api/tasks/{id} |
Update an existing task |
| DELETE | /api/tasks/{id} |
Remove a task |
This project is open-source and available under the MIT License.