A comprehensive enterprise-level task management platform built with Django, featuring real-time collaboration, workflow automation, and intelligent task dependencies.
- Company Creation: New users can create and manage their own company workspace
- Employee Management: Add, invite, and manage employees within your organization
- Role-Based Access Control: Hierarchical permissions with managers having full oversight
- Automated Invitations: New employees receive welcome emails with login credentials
- Task Notifications: Real-time email alerts when tasks are assigned or updated
- Status Updates: Automated notifications for task progress and deadline reminders
- Task Assignment: Assign tasks to single or multiple employees
- Dependency Management: Support for various dependency types:
- Start-to-Finish: Task B starts when Task A finishes
- Finish-to-Finish: Task B finishes when Task A finishes
- Start-to-Start: Task B starts when Task A starts
- Finish-to-Start: Task B starts when Task A finishes
- Dynamic Status Tracking: Automatic status updates (Pending, In Progress, Suspended, Completed) based on dependencies
- Smart Date Calculation: Automatic start/end date adjustment based on task relationships
- Task-Specific Chat Rooms: Dedicated chat groups for multi-employee tasks
- Manager Oversight: Company managers have access to all communication channels
- Real-Time Messaging: Powered by Django Channels for instant communication
- WebSocket Integration: Live updates without page refreshes
- Template Creation: Build reusable workflow templates for recurring processes
- Task Prototypes: Define task models that become actual tasks when deployed
- Template Instances: Track and manage multiple deployments of the same template
- Batch Task Creation: Deploy entire workflows with a single action
- Template Reusability: Use templates across multiple projects and time periods
- Employee-Centric Views: Employees see only their assigned tasks
- Intuitive Dashboard: Clean, responsive interface for all user types
- Secure Authentication: Robust login system with email verification
- Permission Management: Fine-grained access control across all features
- Backend: Django (Python)
- Real-Time: Django Channels (WebSockets)
- Database: PostgreSQL/MySQL (configurable)
- Email: Django Email Backend
- Frontend: HTML5, CSS3, JavaScript
- Authentication: Django Auth System
- Python 3.8+
- PostgreSQL/MySQL
- Redis (for Django Channels)
# Clone the repository
git clone https://github.com/yourusername/task-management-system.git
cd task-management-system
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Configure environment variables
cp .env.example .env
# Edit .env with your database and email settings
# Run migrations
python manage.py makemigrations
python manage.py migrate
# Create superuser
python manage.py createsuperuser
# Start Redis server (for WebSockets)
redis-server
# Run the development server
python manage.py runserver
-
Setup Your Company
β Register β Create Company β Add Company Details
-
Invite Employees
β Employees β Add Employee β Send Invitation
-
Create Workflow Templates
β Templates β New Template β Add Task Prototypes β Save
-
Deploy Projects
β Projects β New Project β Select Template β Deploy
-
Join Your Company
β Check Email β Click Invitation Link β Set Password
-
Manage Your Tasks
β Dashboard β View Assigned Tasks β Update Status
-
Collaborate
β Task Details β Join Chat Room β Communicate
# settings.py
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'your-smtp-host.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = 'your-email@company.com'
EMAIL_HOST_PASSWORD = 'your-password'
# settings.py
CHANNEL_LAYERS = {
'default': {
'BACKEND': 'channels_redis.core.RedisChannelLayer',
'CONFIG': {
"hosts": [('127.0.0.1', 6379)],
},
},
}
The system supports four types of task dependencies:
Dependency Type | Description | Use Case |
---|---|---|
Finish-to-Start (FS) | Task B starts when Task A finishes | Sequential tasks |
Start-to-Start (SS) | Task B starts when Task A starts | Parallel tasks with synchronized start |
Finish-to-Finish (FF) | Task B finishes when Task A finishes | Tasks with synchronized completion |
Start-to-Finish (SF) | Task B finishes when Task A starts | Just-in-time scenarios |
POST /api/companies/ # Create company
GET /api/employees/ # List employees
POST /api/employees/ # Add employee
POST /api/tasks/ # Create task
GET /api/tasks/assigned/ # Get assigned tasks
POST /api/templates/ # Create template
POST /api/templates/deploy/ # Deploy template
GET /api/chat/rooms/ # List chat rooms
# Install production dependencies
pip install -r requirements-prod.txt
# Collect static files
python manage.py collectstatic --noinput
# Run with Gunicorn
gunicorn project.wsgi:application --bind 0.0.0.0:8000
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- π§ Email: support@taskmanagement.com
- π Documentation: Wiki
- π Bug Reports: Issues
- Django Team for the excellent framework
- Django Channels for WebSocket support
- Contributors and beta testers
Built with β€οΈ for modern teams who value efficiency and collaboration.