Skip to content

Latest commit

Β 

History

18 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ—‚οΈ Task Manager Web Application

Python Django MongoDB Tailwind CSS License

A modern, full-stack task management solution built with Django and MongoDB

Features β€’ Demo β€’ Installation β€’ Tech Stack β€’ Contributing


πŸ“‹ Table of Contents


🎯 Overview

Task Manager is a production-ready web application designed to streamline personal and team productivity. Built with modern web technologies, it offers a seamless experience for creating, organizing, and tracking tasks with enterprise-grade security and scalability.

Why Task Manager?

  • πŸ” Secure Authentication - Built on Django's robust authentication system
  • πŸš€ High Performance - Leveraging MongoDB's NoSQL capabilities for fast data operations
  • πŸ“± Responsive Design - Beautiful UI that works flawlessly across all devices
  • 🎨 Modern Interface - Clean, intuitive design with Tailwind CSS
  • πŸ”’ Data Isolation - Complete privacy with user-specific task management

✨ Features

πŸ” Authentication & Security

  • User registration with validation
  • Secure login/logout functionality
  • Session-based authentication
  • Protected routes with @login_required decorator
  • Password encryption and secure storage

πŸ“ Task Management

  • Full CRUD Operations - Create, Read, Update, and Delete tasks effortlessly
  • Rich Task Attributes - Title, description, priority levels, and due dates
  • Status Tracking - Toggle between Completed and Pending states
  • Priority Levels - Low, Medium, and High priority classification
  • Bulk Operations - Clear all completed tasks in one click

πŸ“Š Dashboard & Analytics

  • Real-time Statistics - Live counters for total, pending, and completed tasks
  • Smart Filtering - Filter by status (All, Pending, Completed) and priority (High)
  • Visual Indicators - Color-coded priority badges and status markers
  • Progress Tracking - Monitor task completion rates at a glance

🎨 User Experience

  • Responsive Design - Optimized for desktop, tablet, and mobile devices
  • Modern UI - Gradient accents and smooth transitions
  • Toast Notifications - Instant feedback for all user actions
  • Intuitive Navigation - Clean, user-friendly interface

πŸ“Έ Screenshots

πŸ”‘ Authentication

Login Page

Secure Login Interface

Register Page

User Registration

πŸ“Š Dashboard & Task Management

Dashboard

Analytics Dashboard

Task Management

Task Management Interface

πŸ—„οΈ Database Architecture

MongoDB Structure

MongoDB Compass - Database View


πŸ› οΈ Tech Stack

Frontend

HTML5 Tailwind CSS JavaScript

Backend

Python Django

Database

MongoDB PyMongo

Tools & DevOps

Git VS Code Postman

Technology Details

Layer Technology Purpose
Frontend HTML5, Tailwind CSS, JavaScript Responsive UI with modern styling
Backend Django 5.0, Python 3.10+ RESTful API and business logic
Database MongoDB 4.4+ NoSQL document storage for tasks
Authentication Django Auth + SQLite User management and sessions
Driver PyMongo MongoDB integration

πŸ—οΈ Architecture

System Design

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                     Client Browser                      β”‚
β”‚                   (HTML/CSS/JS)                         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                     β”‚ HTTP/HTTPS
                     β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                   Django Backend                        β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚   Views      β”‚  β”‚  Middleware  β”‚  β”‚   Forms      β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
             β”‚                                β”‚
             β–Ό                                β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   SQLite Database      β”‚      β”‚   MongoDB Database     β”‚
β”‚  (User Auth/Sessions)  β”‚      β”‚   (Task Documents)     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Key Architecture Decisions

  • Hybrid Database Approach - SQLite for Django authentication, MongoDB for task data
  • Direct PyMongo Integration - No ORM overhead for maximum performance
  • RESTful API Design - Clean separation between frontend and backend
  • Session-based Authentication - Secure user sessions with Django middleware

πŸš€ Installation

Prerequisites

Before you begin, ensure you have the following installed:

Step-by-Step Setup

1️⃣ Clone the Repository

git clone https://github.com/yourusername/task-manager.git
cd task-manager

2️⃣ Create Virtual Environment

Windows:

python -m venv venv
venv\Scripts\activate

macOS/Linux:

python3 -m venv venv
source venv/bin/activate

3️⃣ Install Dependencies

pip install -r requirements.txt

4️⃣ Configure MongoDB

Ensure MongoDB is running on your system:

# Check if MongoDB is running
mongosh

Update config/settings.py if needed:

# MongoDB Configuration
MONGODB_URI = "mongodb://localhost:27017"
MONGODB_NAME = "task_manager_db"

5️⃣ Run Migrations

python manage.py makemigrations
python manage.py migrate

6️⃣ Create Superuser (Optional)

python manage.py createsuperuser

Follow the prompts to create an admin account.

7️⃣ Start Development Server

python manage.py runserver

πŸŽ‰ Success! Open your browser and navigate to:

πŸ‘‰ http://127.0.0.1:8000/


πŸ’» Usage

Quick Start Guide

  1. Register an Account - Create your user profile
  2. Login - Access your personal dashboard
  3. Create Tasks - Add tasks with title, description, priority, and due date
  4. Manage Tasks - Update status, edit details, or delete tasks
  5. Filter & Organize - Use filters to focus on specific task categories
  6. Track Progress - Monitor your productivity with dashboard statistics

Task Creation

// Example task structure
{
  "title": "Complete Project Documentation",
  "description": "Write comprehensive README and API docs",
  "priority": "High",
  "due_date": "2024-12-31",
  "status": "Pending",
  "user_id": "user@example.com"
}

πŸ“š API Documentation

Authentication Endpoints

Method Endpoint Description
POST /register/ Create new user account
POST /login/ Authenticate user
GET /logout/ End user session

Task Management Endpoints

Method Endpoint Description
GET /tasks/ Retrieve all tasks
POST /tasks/create/ Create new task
PUT /tasks/<id>/update/ Update existing task
DELETE /tasks/<id>/delete/ Delete task
POST /tasks/<id>/toggle/ Toggle task completion

πŸ—ΊοΈ Roadmap

Version 2.0 (Upcoming)

  • 🏷️ Task categories and custom tags
  • πŸ“§ Email verification and notifications
  • 🎯 Drag-and-drop task reordering
  • πŸ‘₯ Team collaboration features
  • πŸ“± Progressive Web App (PWA) support
  • 🐳 Docker containerization
  • πŸ“Š Advanced analytics and reporting
  • πŸ”„ Task recurring/repetition
  • πŸ’Ύ Export tasks to CSV/PDF
  • πŸŒ™ Dark mode theme

Long-term Goals

  • Mobile native applications (iOS/Android)
  • Integration with calendar services
  • AI-powered task suggestions
  • Real-time collaboration with WebSockets

🀝 Contributing

Contributions are what make the open-source community amazing! Any contributions you make are greatly appreciated.

How to Contribute

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Development Guidelines

  • Follow PEP 8 style guide for Python code
  • Write meaningful commit messages
  • Add comments for complex logic
  • Update documentation for new features
  • Test thoroughly before submitting PR

πŸ“„ License

Distributed under the MIT License. See LICENSE file for more information.


πŸ‘¨β€πŸ’» Author

Vivek


πŸ™ Acknowledgments


⭐ Star this repository if you find it helpful!

Built with ❀️ using Django and MongoDB

Report Bug β€’ Request Feature

About

This project is made for testing purpose for the vibe coding with minimal Knowledge of Python ,Django,MongoDB

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages