A comprehensive project management web application built with a modern React frontend and a fast, robust FastAPI backend. It includes authentication, project creation, kanban task boards, and a dashboard overview.
- Authentication: JWT-based login and signup.
- Role-based Access: 'Admin' and 'Member' roles. Admins can create projects and assign tasks. Members can update the status of tasks.
- Dashboard: High-level overview of projects, tasks, and overdue statuses.
- Project Management: Create and manage multiple projects.
- Task Kanban Board: Track tasks through 'Todo', 'In Progress', 'Review', and 'Done' columns.
- Unique Design: Custom-built minimalist UI (without typical AI-generated glossy Tailwind classes) for a clean, professional, human-crafted feel.
- Frontend: React, Vite, React Router, Axios, Lucide Icons, Vanilla CSS
- Backend: FastAPI (Python), SQLAlchemy, Passlib, PyJWT
- Database: PostgreSQL (or SQLite for local dev if Postgres isn't configured)
-
Open a terminal and navigate to the
backenddirectory:cd backend -
Create a virtual environment and activate it:
python -m venv venv # On Windows: venv\Scripts\activate # On Mac/Linux: source venv/bin/activate
-
Install dependencies:
pip install -r requirements.txt
-
Setup Database (PostgreSQL via Docker): Ensure you have Docker Desktop installed and running.
# From the backend directory docker-compose up -dThis will start a PostgreSQL instance on port 5440.
-
Run the FastAPI development server:
uvicorn main:app --reload
The backend will be running at
http://localhost:8000
- Open a new terminal and navigate to the
frontenddirectory:cd frontend - Install Node.js dependencies:
npm install
- Start the Vite development server:
The frontend will be running at
npm run dev
http://localhost:5173