A sleek, minimalist task management web application built with Django, designed for individual and team collaboration. Featuring a professional yet cool UI with real-time updates, team-based task assignments, notifications, and a clean, responsive design, Task Manager streamlines workflows with simplicity and style.
Click here to view the live app
- Task Management: Create, edit, delete, and track tasks with statuses (Open, In Progress, Resolved, Closed, Reopened) and priorities (Low, Medium, High).
- Team Collaboration: Assign tasks to team members, manage teams with invite codes, and filter tasks by team or category (derived from tags).
- Real-Time Updates: WebSocket-powered live comment and status updates on task detail pages.
- Notifications: In-app notifications for task updates, with unread highlighting.
- Minimalist UI: Clean, professional design with a deep blue (
#1E3A8A) and emerald green (#10B981) palette, small typography, and subtle hover effects. - Attachments: Upload and view files per task.
- Responsive: Mobile-friendly layout with Bootstrap 5.
- User Authentication: Secure signup, login, and logout functionality.
- Backend: Django 5.1.7, Python 3.12.3
- Frontend: HTML, CSS (custom minimalist styles), Bootstrap 5, Chart.js (for dashboard stats)
- Real-Time: Django Channels, WebSockets
- Database: SQLite (default, configurable for PostgreSQL)
- Dependencies: See
requirements.txt
- Python 3.12+
- pip
- Virtualenv (recommended)
- Redis (for WebSocket support)
- Clone the Repository
git clone https://github.com/M-Hammad-Faisal/Task-Nest.git
cd Task-Nest- Create a Virtual Environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install Dependencies
pip install -r requirements.txt- Set Up Environment Variables Create a .env file in the project root:
DEBUG=True
SECRET_KEY=your-secret-key-here
DATABASE_URL=sqlite:///db.sqlite3
[email protected]
EMAIL_HOST_PASSWORD=your-email-password
- Apply Migrations
python manage.py migrate- Create a Superuser
python manage.py createsuperuser-
Install Redis
- On macOS:
brew install redis - On Ubuntu:
sudo apt-get install redis-server - On Windows: Use WSL or a Redis Docker container
- Start Redis:
redis-server
- On macOS:
-
Run the Development Server
python manage.py runserver
Visit http://localhost:8000 in your browser.
-
Run WebSocket Server Ensure Redis is running, then:
python manage.py runserver # Channels handles WebSockets automatically
- Dashboard: View your tasks, team stats, and filter by status, priority, team, or category (
/dashboard/). - Task List: See all tasks (
/tasks/). - Task Details: Update status, add comments or attachments in real-time (
/tasks/<id>/). - Teams: Create or join teams with invite codes (
/teams/). - Notifications: Check task updates (
/notifications/). - Admin: Manage users, tasks, and teams at
/admin/(superuser only).
Run the test suite:
python manage.py testTests cover task CRUD, team functionality, and notifications.
- Fork the repo.
- Create a branch:
git checkout -b feature/your-feature. - Commit changes:
git commit -m "Add your feature". - Push:
git push origin feature/your-feature. - Open a pull request.
- Overdue task alerts via email or in-app.
- Task dependencies and Gantt chart view.
- Dark mode toggle.
- API endpoints for third-party integration.
MIT License—feel free to use, modify, and distribute.

