Skip to content

r0nY-0017/TaskFlow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Task-Flow 🚀

A premium task management web application built for the AcmeAI Fellowship Technical Assignment.

✨ Features

  • Full CRUD: Create, View, Edit, and Delete tasks.
  • Status Toggle: Easily switch between 'Pending' and 'Completed'.
  • Filtering: Filter tasks by their current status.
  • Persistent Storage: All data is saved in a PostgreSQL (Supabase) database.
  • Modern UI: Clean, responsive interface with SweetAlert2 notifications.

🛠️ Tech Stack

  • Frontend: Plain HTML5, CSS3 (Vanilla), JavaScript (ES6+)
  • Backend: Python 3.11+, FastAPI
  • Database: PostgreSQL (via Supabase)
  • Deployment: Optimized for Vercel

📋 Prerequisites

  • Python: 3.11 or higher
  • pip: Python package installer
  • PostgreSQL Database: A running instance (e.g., Supabase)

📁 Project Structure

.
├── api/              # Backend API logic and routes
│   ├── tasks.py      # Task CRUD endpoints
│   └── index.py      # Vercel entry point
├── database/         # Database initialization scripts
│   └── init_db.py    # Tables creation script
├── templates/        # Frontend assets (Static Files)
│   ├── index.html    # Main UI
│   ├── style.css     # Premium styling
│   └── script.js     # Frontend logic & API calls
├── main.py           # Application entry point (FastAPI)
├── vercel.json       # Vercel deployment configuration
├── requirements.txt  # Python dependencies
├── .env              # Environment variables (Real)
└── .env.example      # Environment variables (Placeholder)

🚀 Local Setup Instructions

  1. Clone the Repository:

    git clone https://github.com/r0nY-0017/TaskFlow.git
    cd TaskFlow
  2. Install Dependencies:

    pip install -r requirements.txt
  3. Environment Configuration:

    • Copy .env.example to .env.
    • Update the DATABASE_URL in .env with your actual PostgreSQL connection string.
  4. Initialize Database: Run the following script to create the necessary tables:

    python database/init_db.py
  5. Run the Application:

    python main.py

    Open http://localhost:8000 in your browser.

📡 API Endpoints

The backend exposes the following RESTful endpoints:

  • GET /api/tasks: Retrieve all tasks.
  • POST /api/tasks: Create a new task.
  • PUT /api/tasks/:id: Update an existing task (title, description).
  • PATCH /api/tasks/:id/toggle: Toggle task completion status.
  • DELETE /api/tasks/:id: Delete a task.

☁️ Deployment

The project is configured for one-click deployment to Vercel.

  • Simply run vercel in the root directory.
  • Add your DATABASE_URL as an environment variable in the Vercel dashboard.

Built with ❤️ by Md. Mehedi Hasan Rony

About

A premium task management web application built for the AcmeAI Fellowship Technical Assignment.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors