TaskMaster is a powerful task management platform designed to boost productivity and help you stay organized. With features like GitHub-style activity tracking, focus timers with rewards, and motivational notifications, TaskMaster transforms the way you manage your tasks and projects.
-
📋 Task & Project Management
- Create, organize, and track tasks
- Group tasks into projects
- Set priorities and deadlines
- Track progress with status updates
-
📊 GitHub-Style Activity Calendar
- Visualize your productivity with a contribution-style calendar
- Build and maintain activity streaks
- Track daily engagement and consistency
-
⏱️ Focus Timer with Rewards
- Set focused work sessions
- Earn e-coins for completed sessions
- Block distracting notifications during focus time
- Build a virtual wallet of achievements
-
🔔 Smart Notifications
- Receive reminders for pending tasks
- Get motivated with dynamic inspirational quotes
- Stay on top of approaching deadlines
- Celebrate completed tasks and milestones
- Node.js & Express
- PostgreSQL database
- Sequelize ORM
- JWT Authentication
- RESTful API architecture
- React.js
- Redux for state management
- Tailwind CSS for styling
- Responsive design for all devices
- Node.js (v14+)
- PostgreSQL (v12+)
- npm or yarn
-
Clone the repository
git clone https://github.com/yourusername/task-master.git cd task-master -
Set up the backend
cd backend npm install -
Configure environment variables Create a
.envfile in the backend directory with:PORT=5000 NODE_ENV=development JWT_SECRET=your_jwt_secret JWT_EXPIRES_IN=30d DATABASE_URL=postgres://username:password@localhost:5432/taskmaster CORS_ORIGIN=http://localhost:5173 -
Set up the database
npm run setup-db
-
Start the backend server
npm run dev
-
Set up the frontend
cd ../frontend npm install -
Start the frontend application
npm run dev
-
Access the application Open your browser and navigate to
http://localhost:5173
POST /api/users- Register a new userPOST /api/users/login- User loginGET /api/users/profile- Get user profilePUT /api/users/profile- Update user profile
GET /api/tasks- Get all tasksPOST /api/tasks- Create a new taskGET /api/tasks/:id- Get task by IDPUT /api/tasks/:id- Update a taskDELETE /api/tasks/:id- Delete a task
GET /api/projects- Get all projectsPOST /api/projects- Create a new projectGET /api/projects/:id- Get project by IDPUT /api/projects/:id- Update a projectDELETE /api/projects/:id- Delete a project
GET /api/notifications- Get all notificationsPUT /api/notifications/:id/read- Mark notification as readPUT /api/notifications/read-all- Mark all notifications as read
GET /api/activities/calendar- Get activity calendar dataPOST /api/focus/start- Start a focus sessionPUT /api/focus/:id/complete- Complete a focus sessionGET /api/focus/wallet- Get user's e-coin wallet
- JWT-based authentication
- Password hashing with bcrypt
- Protected API routes
- Input validation and sanitization
- CORS protection
- Mobile app (React Native)
- Team collaboration features
- Advanced analytics dashboard
- Integrations with calendar apps
- Custom themes and personalization
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Your Name - luckynawale7@example.com
Project Link: https://github.com/Lucky2004N/task-master