You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Team Task Manager is a production-ready, full-stack web application designed to help teams collaborate efficiently. It provides a clean separation between Admin and Member roles — admins create projects, assign tasks, and track team performance, while members focus on updating milestone progress through an intuitive drag slider interface.
✨ Features
🔐 Authentication & Security
JWT-based authentication with bcrypt password hashing
Token persistence via localStorage with auto-logout on expiry (401 handling)
Protected routes with role-based access control (RBAC)
👑 Admin Capabilities
Feature
Description
Project Management
Create, view, and delete projects (cascade deletes tasks)
Task Creation
Create tasks with title, description, due date, and multiple milestones
Team Assignment
Assign tasks to specific team members
Dashboard
View statistics: total members, tasks, in-progress, and overdue
Performance Tracking
Monitor each member's overall progress and milestone counts
👤 Member Capabilities
Feature
Description
Task View
See only tasks assigned to them
Milestone Progress
Update progress via drag slider (0–100%)
Personal Dashboard
View active tasks, completed milestones, and overall progress %
Go to railway.app → New Project → Deploy from GitHub
Select the backend/ folder → Add PostgreSQL plugin
Create another project → Select frontend/ folder → Add the API URL variable
🎉 Done!
🧪 Testing
# Register an admin user
curl -X POST http://localhost:8000/api/auth/signup \
-H "Content-Type: application/json" \
-d '{"email":"admin@test.com","username":"admin","password":"admin123","role":"admin"}'# Login and get token
curl -X POST http://localhost:8000/api/auth/login \
-H "Content-Type: application/json" \
-d '{"username":"admin","password":"admin123"}'# Use token for protected routes
curl -X GET http://localhost:8000/api/projects \
-H "Authorization: Bearer <your_token>"
🐞 Troubleshooting
Problem
Solution
Backend won't start
Verify DATABASE_URL in .env and run python init_db.py
Frontend can't connect
Check REACT_APP_API_URL and backend CORS config
Progress not saving
Verify user is assigned to the task and JWT token is valid
401 errors
Token expired — log in again
403 errors
You're trying to access an admin-only route as a member
🔭 Roadmap
📎 File attachments for tasks
📧 Email notifications for task assignments
💬 Comment system on tasks
⏱️ Time tracking per milestone
📄 Export reports (PDF / CSV)
🌙 Dark mode support
📱 Mobile-responsive improvements
⚡ WebSocket for real-time updates
📋 Task templates
💬 Team chat integration
🤝 Contributing
Contributions, issues, and feature requests are welcome!
Fork the repository
Create your branch: git checkout -b feature/awesome-feature
Commit your changes: git commit -m 'Add awesome feature'
Push to the branch: git push origin feature/awesome-feature