Skip to content
NagarajuReddyBoggalaPublic

About

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

Β 

History

40 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

TaskFlow Banner

⚑ TaskFlow

A modern, full-stack task management platform built for developers who think in sprints.

Features β€’ Screenshots β€’ Tech Stack β€’ Getting Started β€’ API Reference β€’ Project Structure

React Flask PostgreSQL Vite Vercel


🎯 What is TaskFlow?

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


✨ Features

πŸ” Authentication & Profile

  • 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

πŸ“‹ Task Management

  • 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

βœ… Deep Checklists

  • 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

πŸ“‹ Kanban Board & Workflows

  • 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

πŸ“Š Dashboard Analytics

  • 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

πŸ“… Calendar View

  • Interactive monthly/weekly calendar powered by FullCalendar.js
  • Tasks plotted by assigned date
  • Click any date to see or create tasks
  • Today highlighting

πŸ” Search & Filters

  • Real-time search across task titles, descriptions, and Jira IDs
  • Filter by status, priority, and date range
  • Combined filters for precise task discovery

🎨 UI/UX

  • 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

πŸ”Œ Jira Integration

  • Import tasks from Jira tickets (extensible architecture)
  • Store Jira ID and URL per task for cross-referencing

πŸ“Έ Screenshots

🏠 Landing Page β€” Master Your Work with Absolute Clarity
Landing Page
πŸ“‹ Kanban Board β€” Frictionless status management
Kanban Board
πŸ“Š Interactive Dashboard β€” Data-driven focus
Dashboard
πŸ”‘ Login Page β€” Click to expand
Login Page
πŸ“Š Dashboard β€” Click to expand
Dashboard
πŸ“‹ Tasks View β€” Click to expand
Tasks
πŸ“… Calendar View β€” Visualize your deadlines
Calendar
πŸ‘€ Profile & Security β€” Manage your identity
Profile

πŸ› οΈ Tech Stack

Frontend

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

Backend

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)

DevOps

Technology Purpose
Vercel Frontend & backend deployment
PostgreSQL (Cloud) Managed production database
Git Version control

πŸš€ Getting Started

Prerequisites

  • Python 3.8+
  • Node.js 16+
  • npm or yarn

1. Clone the repository

git clone https://github.com/NagarajuReddyBoggala/TaskFlow.git
cd TaskFlow

2. Backend Setup

cd 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.py

The API will be available at http://localhost:5000

3. Frontend Setup

cd frontend

# Install dependencies
npm install

# Start dev server
npm run dev

The app will be available at http://localhost:3000

4. Environment Variables (Production)

Variable Description
DATABASE_URL PostgreSQL connection string
JWT_SECRET_KEY Secret key for JWT token signing

πŸ“‘ API Reference

All endpoints (except auth) require a valid JWT token in the Authorization: Bearer <token> header.

Authentication

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

Tasks

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

Checklists

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

Dependencies

Method Endpoint Description
POST /api/tasks/:id/dependencies Add a task dependency
DELETE /api/dependencies/:id Remove a dependency

Dashboard & Jira

Method Endpoint Description
GET /api/dashboard/stats Get dashboard statistics
POST /api/jira/import Import a task from Jira

πŸ“ Project Structure

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

πŸ—οΈ Architecture Highlights

  • 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

πŸ—ΊοΈ Roadmap

  • 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

πŸ‘€ Author

Nagaraju Reddy Boggala


πŸ“„ License

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


⭐ If you found this useful, consider giving it a star!

About

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages