Skip to content

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

🚀 Smart Task Management System

A premium, full-stack Task Management System built with Python, Flask, and PostgreSQL. Features real-time updates via WebSockets and advanced analytics using Pandas and NumPy.

✨ Features

  • User Authentication: Secure registration, login, and logout.
  • Task Management: Full CRUD operations for tasks with title, description, priority, and status.
  • Real-time Notifications: Live updates via WebSockets when tasks are added, updated, or deleted.
  • Advanced Analytics: Interactive dashboard showing task statistics processed with Pandas/NumPy.
  • Premium UI: Clean, responsive design using modern CSS best practices.
  • RESTful API: Well-structured API endpoints for all operations.

🛠️ Tech Stack

  • Backend: Python, Flask, Flask-SQLAlchemy, Flask-SocketIO
  • Database: PostgreSQL (SQLAlchemy ORM)
  • Analytics: Pandas, NumPy
  • Frontend: HTML5, CSS3 (Vanilla), JavaScript (ES6+)
  • Communication: WebSockets (Socket.IO)

🚀 Setup Instructions

1. Prerequisites

  • Python 3.8+
  • PostgreSQL installed and running (optional, defaults to SQLite)

2. Installation

Clone the repository and navigate to the project directory:

git clone <repository-url>
cd task-management

3. Virtual Environment

Create and activate a virtual environment:

python -m venv venv
# Windows:
venv\Scripts\activate
# Mac/Linux:
source venv/bin/activate

4. Install Dependencies

pip install -r requirements.txt

5. Configuration

Copy the .env.example to .env and update your settings:

cp .env.example .env

Note: If you want to use PostgreSQL, update the DATABASE_URL in .env.

6. Run the Application

python app.py

The app will be available at http://127.0.0.1:5000.

📊 Database Schema

The system uses two main tables:

  • users: Stores user credentials and profile data.
  • tasks: Stores task details with a foreign key to users.

You can find the raw SQL schema in schema.sql.

📝 API Endpoints

  • GET /api/tasks: Fetch all tasks for the logged-in user.
  • POST /api/tasks: Create a new task.
  • PUT /api/tasks/<id>: Update an existing task.
  • DELETE /api/tasks/<id>: Delete a task.
  • GET /api/analytics: Get processed task statistics.

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages