Skip to content

TaskPulse is a modern task management application that helps users organize, track, and complete tasks efficiently. It features a clean 3D card-based dashboard, task status tracking, scheduled reminders, and optional email notifications Built with Flask and designed for scalable deployment using Docker and Kubernetes also includes secure enviroment

License

Notifications You must be signed in to change notification settings

Harshitraiii2005/TaskPulse

Repository files navigation

TaskPulse – 3-Tier Task Management Application

#visit: 👉 http://ec2-35-154-147-201.ap-south-1.compute.amazonaws.com/

Python Flask Docker Kubernetes Jenkins ArgoCD Railway NeonDB Notifications


Overview

TaskPulse is a 3-tier task management web application with:

  • Frontend: User-friendly Flask templates.
  • Backend: Python Flask APIs.
  • Database: Neon (serverless PostgreSQL).
  • Notifications: Email alerts on task creation and due dates.
  • Deployment: Dockerized with Kubernetes, CI/CD via Jenkins & ArgoCD, hosted on EC2.

Key Features:

  • User signup and task assignment.
  • Add, view, and complete tasks.
  • Automatic email notifications for task creation and upcoming due dates.
  • Scalable, modular architecture.

Architecture


+----------------+      +----------------+      +----------------+
|   Frontend     | ---> |   Backend API  | ---> |   Neon DB      |
|  (Flask UI)    |      | (Flask + APIs)|      | PostgreSQL     |
+----------------+      +----------------+      +----------------+
|
v
Notifications (Email)

  • Deployment: Dockerized application running on Kubernetes.
  • CI/CD: Jenkins triggers builds → ArgoCD deploys to Railway.

Screenshots

Main App UI:

TaskPulse UI

Jenkins Pipeline:

Jenkins CI/CD

ArgoCD Deployment:

ArgoCD


Installation / Local Setup

  1. Clone the repository:
git clone https://github.com/Harshitraiii2005/TaskPulse.git
cd TaskPulse
  1. Create & activate virtual environment:
python -m venv venv
source venv/bin/activate  # Linux/Mac
venv\Scripts\activate     # Windows
  1. Install dependencies:
pip install -r requirements.txt
  1. Set environment variables (.env or Railway service variables):
DATABASE_URL=<your_neon_database_url>
EMAIL_ADDRESS=<your_email>
EMAIL_APP_PASSWORD=<your_email_app_password>
SECRET_KEY=<your_secret_key>
  1. Run backend locally:
python backend/app.py
  1. Open http://localhost:5000 in your browser.

Deployment

  • Railway: Live deployment hosted on Railway.
  • CI/CD: Jenkins pipeline builds Docker images → ArgoCD deploys to Kubernetes.
  • Kubernetes manifests available in deployment/ folder.

Notifications

  • Task Created: Email sent to user with task details.
  • Task Due Reminder: Email alert when a task is approaching its due date.

Tech Stack

Layer Technology
Frontend Flask, HTML, CSS, Bootstrap
Backend Python, Flask, psycopg2
Database Neon (PostgreSQL)
CI/CD Jenkins, ArgoCD
Deployment Docker, Kubernetes, Railway
Notifications SMTP Email

Contributing

  1. Fork the repo.
  2. Create a feature branch: git checkout -b feature/my-feature
  3. Commit changes: git commit -m 'Add some feature'
  4. Push to branch: git push origin feature/my-feature
  5. Open a Pull Request.

License

MIT License © 2026 Harshit Rai


Live App: TaskPulse on Railway


About

TaskPulse is a modern task management application that helps users organize, track, and complete tasks efficiently. It features a clean 3D card-based dashboard, task status tracking, scheduled reminders, and optional email notifications Built with Flask and designed for scalable deployment using Docker and Kubernetes also includes secure enviroment

http://ec2-35-154-147-201.ap-south-1.compute.amazonaws.com/

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors