A modern, full-stack task management platform built for developers who think in sprints.
Features β’ Screenshots β’ Tech Stack β’ Getting Started β’ API Reference β’ Project Structure
TaskFlow is a premium, full-stack task management platform designed for developers and professionals who demand absolute clarity in their workspace. Built with a high-end "Void Blue" aesthetic, it combines the powerful organization features of enterprise tools like Jira with the friction-less speed of a modern React SPA.
Track your momentum with interactive dashboards, visualize your sprint on the calendar, and manage your workflow with a buttery-smooth drag-and-drop Kanban board.
π Live Demo: trytaskflow.vercel.app
- JWT-based authentication with secure token management
- Personalized Profile: Update name, email, and security settings
- Password Management: Secure hashing with Bcrypt and "Show Password" toggles
- Privacy First: Secure account deletion with cascading data removal
- Full CRUD operations β create, read, update, delete tasks
- 4-level priority system β Low, Medium, High, Urgent (color-coded)
- 4 status stages β Todo, In Progress, Done, Blocked
- Rich text descriptions and personal notes per task
- Due date and assigned date tracking with overdue highlighting
- Break tasks into multi-stage sub-tasks (development β testing β merge β deployment)
- Link Git branches directly to checklist items
- Visual progress tracking per task
- Drag-and-drop reordering
- Drag-and-Drop Kanban: Buttery-smooth status management using
@hello-pangea/dnd - 4-Column View: To Do, In Progress, Completed, and Blocked stages
- Optimistic Updates: Zero-latency UI β cards snap to columns while the DB updates silently
- Visual Hierarchy: Priorities and types instantly identifiable at a glance
- Clickable Stats: Tap on Total, In Progress, or Overdue cards to instantly filter your task feed
- Dynamic Indicators: Real-time checklist completion rates and progress tracking
- Overdue Detection: Advanced timezone-aware logic for tracking missed deadlines
- Interactive monthly/weekly calendar powered by FullCalendar.js
- Tasks plotted by assigned date
- Click any date to see or create tasks
- Today highlighting
- Real-time search across task titles, descriptions, and Jira IDs
- Filter by status, priority, and date range
- Combined filters for precise task discovery
- Glassmorphic dark theme with premium "Void Blue" aesthetic
- Light/dark mode toggle with smooth transitions
- Fully responsive β works on desktop, tablet, and mobile
- Smooth animations and micro-interactions
- Import tasks from Jira tickets (extensible architecture)
- Store Jira ID and URL per task for cross-referencing
| Technology | Purpose |
|---|---|
| React 18 | Component-based UI with hooks |
| React Router v6 | Client-side routing with protected routes |
| Vite | Lightning-fast dev server and build tool |
| FullCalendar.js | Interactive calendar component |
| Axios | HTTP client with interceptors for auth |
| Lucide React | Modern icon library |
| Vanilla CSS | Custom design system β no framework dependency |
| Technology | Purpose |
|---|---|
| Python 3.8+ | Server-side runtime |
| Flask 3.0 | Lightweight REST API framework |
| Flask-SQLAlchemy | ORM for database operations |
| Flask-JWT-Extended | JWT authentication & authorization |
| Flask-Bcrypt | Password hashing |
| PostgreSQL | Production database (SQLite for local dev) |
| Technology | Purpose |
|---|---|
| Vercel | Frontend & backend deployment |
| PostgreSQL (Cloud) | Managed production database |
| Git | Version control |
- Python 3.8+
- Node.js 16+
- npm or yarn
git clone https://github.com/NagarajuReddyBoggala/TaskFlow.git
cd TaskFlowcd backend
# Create virtual environment
python -m venv venv
# Activate it
# Windows:
venv\Scripts\activate
# macOS/Linux:
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Run the server
python app.pyThe API will be available at http://localhost:5000
cd frontend
# Install dependencies
npm install
# Start dev server
npm run devThe app will be available at http://localhost:3000
| Variable | Description |
|---|---|
DATABASE_URL |
PostgreSQL connection string |
JWT_SECRET_KEY |
Secret key for JWT token signing |
All endpoints (except auth) require a valid JWT token in the Authorization: Bearer <token> header.
| Method | Endpoint | Description |
|---|---|---|
POST |
/api/auth/register |
Register a new user |
POST |
/api/auth/login |
Login and receive JWT token |
GET |
/api/auth/me |
Get current user profile |
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/tasks |
List all tasks (with filters) |
GET |
/api/tasks/:id |
Get task details with checklist & dependencies |
POST |
/api/tasks |
Create a new task |
PUT |
/api/tasks/:id |
Update a task |
DELETE |
/api/tasks/:id |
Delete a task |
| Method | Endpoint | Description |
|---|---|---|
POST |
/api/tasks/:id/checklist |
Add checklist item to a task |
PUT |
/api/checklist/:id |
Update a checklist item |
DELETE |
/api/checklist/:id |
Delete a checklist item |
| Method | Endpoint | Description |
|---|---|---|
POST |
/api/tasks/:id/dependencies |
Add a task dependency |
DELETE |
/api/dependencies/:id |
Remove a dependency |
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/dashboard/stats |
Get dashboard statistics |
POST |
/api/jira/import |
Import a task from Jira |
TaskFlow/
βββ backend/
β βββ app.py # Flask app, models, and all API routes
β βββ requirements.txt # Python dependencies
β
βββ vercel.json # Root deployment & cache optimization config
β
βββ frontend/
β βββ src/
β β βββ components/ # Reusable UI components
β β β βββ Layout.jsx # App shell with navbar
β β β βββ TaskCard.jsx # Task card component
β β β βββ TaskModal.jsx # Create/edit task modal
β β βββ pages/ # Route-level pages
β β β βββ Dashboard.jsx # Dashboard with stats & charts
β β β βββ TaskList.jsx # Task list with search & filters
β β β βββ TaskDetail.jsx # Task detail with checklist & deps
β β β βββ CalendarView.jsx # FullCalendar integration
β β β βββ KanbanBoard.jsx # Drag-and-drop board
β β β βββ ProfilePage.jsx # User account & security portal
β β β βββ LandingPage.jsx # Public landing page
β β β βββ LoginPage.jsx # Authentication - login
β β β βββ RegisterPage.jsx # Authentication - register
β β βββ contexts/ # React context providers
β β β βββ AuthContext.jsx # Auth state management
β β β βββ ThemeContext.jsx # Theme toggle state
β β βββ services/ # API service layer
β β β βββ api.js # Axios instance & API methods
β β βββ App.jsx # Root component with routing
β β βββ main.jsx # Entry point
β βββ package.json
β βββ vite.config.js
β
βββ docs/
β βββ screenshots/ # App screenshots for README
β
βββ README.md
- Separation of Concerns β Clean split between API layer (
services/api.js), state management (contexts/), UI components, and pages - Protected Routes β HOC pattern wrapping authenticated routes with automatic redirect
- JWT Token Flow β Token stored in localStorage, auto-attached to every API request via Axios interceptors
- Database Flexibility β SQLite for local development, PostgreSQL for production, swapped via environment variable
- RESTful API Design β Resource-based routing with proper HTTP methods and status codes
- Cascading Deletes β Deleting a task automatically removes its checklist items and dependencies
- Drag & Drop Kanban Board
- Task Analytics with Charts (Recharts)
- Database Migrations with Alembic
- Export to CSV/JSON
- Profile Page & User Settings
- Toast Notification System
- Unit & Integration Tests (Vitest)
- CI/CD Pipeline with GitHub Actions
Nagaraju Reddy Boggala
- GitHub: @NagarajuReddyBoggala
This project is open source and available under the MIT License.
β If you found this useful, consider giving it a star!







