Skip to content

isorbon/Agentic_SDLC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“ Agentic Task Manager

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.

πŸš€ Live Demo


✨ Features

  • 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.

πŸ› οΈ Tech Stack

Frontend

  • Framework: React 18 (Vite)
  • Language: TypeScript
  • Styling: CSS3 (Modern Flexbox/Grid)
  • API Client: Axios

Backend

  • Framework: Spring Boot 3+
  • Language: Java 21
  • Build Tool: Maven
  • Deployment: Docker (eclipse-temurin:21-jdk-jammy)

🧠 Agentic SDLC Reflection

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.

Key Problem-Solving Milestones:

  1. Deployment Pivot: When the cloud provider (Render) failed to auto-detect the Java environment, we shifted to a Dockerized approach. I authored a custom Dockerfile to ensure the Spring Boot environment was perfectly replicated in the cloud.
  2. CORS Security: Resolved cross-origin resource sharing blocks by explicitly configuring the Backend to recognize and trust the Vercel frontend domain.
  3. 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.

πŸ”§ Local Setup

Backend

  1. Navigate to /task-backend.
  2. Ensure you have Java 21 and Maven installed.
  3. Run: ./mvnw spring-boot:run

Frontend

  1. Navigate to /task-frontend.
  2. Create a .env file and add: VITE_API_URL=http://localhost:8080/api/tasks
  3. Run: npm install then npm run dev

πŸ“‘ API Endpoints

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

πŸ“œ License

This project is open-source and available under the MIT License.