#visit: 👉 http://ec2-35-154-147-201.ap-south-1.compute.amazonaws.com/
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.
+----------------+ +----------------+ +----------------+
| 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.
Main App UI:
Jenkins Pipeline:
ArgoCD Deployment:
- Clone the repository:
git clone https://github.com/Harshitraiii2005/TaskPulse.git
cd TaskPulse- Create & activate virtual environment:
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows- Install dependencies:
pip install -r requirements.txt- Set environment variables (
.envor 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>- Run backend locally:
python backend/app.py- Open http://localhost:5000 in your browser.
- Railway: Live deployment hosted on Railway.
- CI/CD: Jenkins pipeline builds Docker images → ArgoCD deploys to Kubernetes.
- Kubernetes manifests available in
deployment/folder.
- Task Created: Email sent to user with task details.
- Task Due Reminder: Email alert when a task is approaching its due date.
| 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 |
- Fork the repo.
- Create a feature branch:
git checkout -b feature/my-feature - Commit changes:
git commit -m 'Add some feature' - Push to branch:
git push origin feature/my-feature - Open a Pull Request.
MIT License © 2026 Harshit Rai
Live App: TaskPulse on Railway


