TaskTide is a cross-platform academic productivity app designed to help students manage assignments, track progress, and stay focused using Pomodoro-style timers. Built with a clean MVC architecture, TaskTide is modular, scalable, and easy to contribute to.
- ✅ Assignment creation, filtering, sorting, and completion tracking
- 📊 Progress overview with streaks, completion rates, and overdue tasks
- ⏱️ Pomodoro timer with session switching and pause/resume controls
- 📅 Calendar integration and quick analytics access
- 🔍 FilterPanel with status, priority, and search options
- 🧠 Clean separation of concerns using MVC principles
- React + Redux Toolkit
- React Router
- SCSS Modules
- Component-based architecture
- Node.js + Express
- MongoDB (via Mongoose)
- RESTful API design
- Modular controllers and models
tasktide/
├── client/ # React frontend
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── pages/ # Page-level views
│ │ ├── store/ # Redux slices
│ │ ├── utils/ # Helpers and constants
│ │ └── App.jsx # Main app entry
│ └── public/
├── server/ # Express backend
│ ├── controllers/ # Route logic
│ ├── models/ # Mongoose schemas
│ ├── routes/ # API endpoints
│ └── app.js # Server entry
├── tasktide.postman_collection.json # API testing
└── README.md
git clone https://github.com/Hossain-13/tasktide.git
cd tasktide# Frontend
cd client
npm install
# Backend
cd ../server
npm installCreate a .env file in server/ with:
PORT=5000
MONGO_URI=your_mongodb_connection_string# Backend
cd server
npm run dev
# Frontend (in a new terminal)
cd client
npm startUse the included tasktide.postman_collection.json to test endpoints like:
GET /api/assignmentsPOST /api/assignmentsPUT /api/assignments/:idDELETE /api/assignments/:id
We welcome contributors! Here's how to get started:
- Fork the repo
- Clone your fork
- Create a new branch (
git checkout -b feature-name) - Make your changes
- Submit a pull request
Please follow the MVC structure and keep components modular. Annotate new files and update documentation where needed.
- Assignment CRUD
- Pomodoro timer
- Filter and sort panel
- Calendar sync
- User authentication
- Mobile optimization
This project is licensed under the MIT License.
Built by Mohammad Hossain with a focus on clarity, maintainability, and student-centered design.