Skip to content

Repository files navigation

Task Manager

🔗 Live demo: https://task-manager-j4eg.onrender.com

Note: hosted on Render's free tier — the first load after inactivity may take 30–60 seconds to wake up.

A web app where students log in, add assignments with deadlines, mark them done, and track progress on a dashboard.

Built as a learning project to practice a full backend + frontend + testing + deployment workflow.

Tech Stack

  • Backend: Python, Flask (REST API)
  • Database: SQLite
  • Frontend: HTML, CSS, JavaScript (vanilla)
  • Testing: Pytest
  • Containerization: Docker
  • CI/CD: GitHub Actions

Features

  • User registration and login (passwords securely hashed, never stored in plain text)
  • Add, view, mark-done, and delete tasks
  • Progress percentage based on completed vs total tasks
  • Deadline shown with days-remaining, calculated live (not stored)

API Routes

Method Route Purpose
GET/POST /register show register page / create a new user
GET/POST /login show login page / authenticate
POST /logout end session
GET /tasks get all tasks for logged-in user
POST /tasks create a new task
PUT /tasks/<id> update a task (e.g. mark done)
DELETE /tasks/<id> delete a task
GET /progress return progress % for logged-in user

Running Locally

git clone https://github.com/ShaikhAhmed39/task-manager.git
cd task-manager
python -m venv venv
venv\Scripts\activate      # Windows
pip install -r requirements.txt
python app.py

Visit http://127.0.0.1:5000

Running Tests

pytest

Running with Docker

docker build -t task-manager .
docker run -p 5000:5000 task-manager

Visit http://127.0.0.1:5000

Project Structure

task-manager/
├── app.py                  # Flask app + all routes
├── models.py                # Database setup
├── requirements.txt
├── static/
│   ├── style.css
│   └── script.js
├── templates/
│   ├── login.html
│   ├── register.html
│   └── dashboard.html
├── tests/
│   └── test_api.py
├── Dockerfile
├── .dockerignore
└── .github/workflows/main.yml   # CI: runs tests on every push

About

Full-stack task management web app for students — Flask REST API, SQLite, Docker, and automated CI/CD with GitHub Actions.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages