A full-stack task manager application built using Flask, MongoDB, and modern HTML/CSS/JavaScript for seamless task management. Users can create, view, update, and delete tasks both from the UI and API.
- ✅ RESTful API with Flask
 - ✅ MongoDB as the backend database
 - ✅ Responsive UI using HTML/CSS/JavaScript
 - ✅ Real-time updates without page reloads
 - ✅ Status and priority filters
 - ✅ Postman collection support
 
task-manager-app/
├── flask_api_server.py       # Main Flask server
├── .env                      # Environment variables (not tracked by Git)
├── .gitignore                # Ignored files/folders
├── requirements.txt          # Python package dependencies
├── run_tests.py              # Test runner with coverage
│
├── docs/
│   ├── index.html            # Frontend HTML (Jinja2)
│   ├── style.css             # CSS styling
│   └── script.js             # Frontend logic (JS)           
|
└── tests/                    # Test suite
    ├── test_api.py
    ├── test_integration.py
    └── test_unit_logic.py
    
Here’s what the Task Manager looks like:
- Swagger UI is available at: http://localhost:5000/swagger-ui
 - OpenAPI JSON schema is served at: http://localhost:5000/openapi.json
 
This project uses Keploy to record and replay API calls for test generation using real-time traffic, enabling high test coverage without manual test writing.
- Records curl-based traffic.
 - Automatically generates unit and integration tests.
 - Validates API behavior deterministically.
 
git clone https://github.com/your-username/task-manager-app.git
cd task-manager-apppython -m venv .venv
source .venv/bin/activate      # On Windows: .venv\Scripts\activatepip install -r requirements.txtMONGO_URI=mongodb://localhost:27017/
PORT=5000Make sure your MongoDB server is running locally (or use MongoDB Atlas).
python flask_api_server.pyThen visit: http://localhost:5000
| Method | Endpoint | Description | 
|---|---|---|
| GET | /api/tasks | 
Get all tasks | 
| GET | /api/tasks/<id> | 
Get a specific task | 
| POST | /api/tasks | 
Create a new task | 
| PUT | /api/tasks/<id> | 
Update a task | 
| DELETE | /api/tasks/<id> | 
Delete a task | 
| GET | /api/stats | 
Get task statistics | 
You can test these using Postman or cURL.
- Clean UI built with HTML5, CSS3, and Vanilla JS
 - Tasks auto-update after creation
 - Form validation and user feedback
 - Filters for status and priority
 - No frameworks — just pure frontend
 
- Unit, integration, and API tests written with 
unittest+coverage - Current coverage: 69%
 - To view HTML report:
 
coverage html
start coverage_html/index.html  # Or open manually in browser.envis in.gitignoreand should never be committed.- Keep credentials and secrets in 
.envonly. - Always use environment variables for production configurations.
 
Flask==3.0.3
Flask-Cors==4.0.1
pymongo==4.7.2
python-dotenv==1.0.1
Install them with:
pip install -r requirements.txt- User authentication & login
 - Deadline reminders or email alerts
 - Task tagging and search
 - Deploy to Render/Heroku with MongoDB Atlas
 
Made by Sayak
This project is open-source under the MIT License.



