EVO-TODO is a multi-phase software engineering project designed to demonstrate the evolution of an application from a simple terminal-based script to a sophisticated, production-grade full-stack platform.
This project is structured into five distinct architectural phases. Currently, we have completed Phase I and are mid-way through Phase II.
- Phase I: The In-Memory CLI
- Robust Python CLI with in-memory state.
- Features: Priority levels, tags, recurrence, and overdue tracking.
- [~] Phase II: Decoupled Full-Stack Architecture (Current)
- Transition to a modern Web UI and REST API.
- Status: Backend CRUD & Database integrated; Frontend core UI complete.
- Next Steps: Implement advanced filtering, sorting, and due-date management in the Web UI.
- Phase III: User Authentication & Multi-Tenancy (Planned)
- Secure login/signup and personalized task lists.
- Phase IV: Advanced Analytics & Productivity Insights (Planned)
- Visualization of task completion trends and productivity scoring.
- Phase V: Global Scale & Mobile Integration (Planned)
- Cloud-native deployment and cross-platform mobile support.
- Language: Python 3.10+
- Key Modules:
datetime,uuid,enum - Architecture: Clean separation between
TaskManagerlogic and CLI presentation.
- Frontend: Next.js 15 (App Router), TypeScript, Tailwind CSS, Framer Motion (Animations).
- Backend: FastAPI (Python), SQLAlchemy ORM.
- Database: PostgreSQL (Hosted on Neon DB).
- Icons: Lucide React.
- Navigate to the
src/directory. - Run the application:
python main.py
- Navigate to
src/backend/. - Install dependencies:
pip install -r requirements.txt
- Set up your
.envfile with yourDATABASE_URL. - Run the server:
uvicorn main:app --reload
- Navigate to
frontend/. - Install dependencies:
npm install
- Run the development server:
npm run dev
- Open http://localhost:3000 in your browser.
- FastAPI REST Endpoints (CRUD)
- Neon DB PostgreSQL Integration
- Modern Cinematic UI with Next.js
- Real-time Task Creation & Status Toggling
- Advanced Filtering & Sorting (Frontend)
- Due Date Picker & Reminders (Frontend)
- Toast Notifications & Error Boundaries
This project is for educational purposes as part of an evolutionary coding journey.