A comprehensive school task management app that helps you organize, track, and manage your academic workload efficiently.
-
Task Management: Create and organize tasks with multiple types:
- To-Do
- Classwork
- Homework
- Projects
- Quiz
- Test
-
Calendar Integration: Visual calendar interface to select dates and manage tasks by day
-
Color-Coded Groups: Create custom groups for different subjects/classes with custom colors
-
Priority Levels: Mark tasks as Low, Medium, or High priority
-
Task Details: Add descriptions and notes to your tasks
-
User Authentication: Secure login and registration system
-
Responsive Design: Works seamlessly on desktop and mobile devices
- React 18 - UI library
- Vite - Fast build tool and dev server
- Zustand - State management
- Axios - HTTP client
- React Calendar - Calendar component
- CSS3 - Styling with custom design
- Node.js + Express - Server framework
- MongoDB - Database
- Mongoose - ODM for MongoDB
- JWT - Authentication
- bcryptjs - Password hashing
- Node.js (v16+)
- MongoDB (local or cloud instance)
- npm or yarn
- Clone the repository
git clone https://github.com/Vixez1012/SchoolFlow.git
cd SchoolFlow- Install root dependencies
npm install- Install backend dependencies
cd server
npm install
cd ..- Install frontend dependencies
cd client
npm install
cd ..- Backend setup (create
/server/.env)
MONGODB_URI=mongodb://localhost:27017/schoolflow
PORT=5000
JWT_SECRET=your-secret-key-here- Frontend setup (create
/client/.env.local)
VITE_API_URL=http://localhost:5000/apinpm run devThis will:
- Start the backend server on http://localhost:5000
- Start the frontend dev server on http://localhost:3000
npm run buildSchoolFlow/
βββ client/ # React frontend
β βββ src/
β β βββ components/ # Reusable React components
β β βββ pages/ # Page components
β β βββ store/ # Zustand state management
β β βββ api/ # API client
β β βββ styles/ # CSS files
β β βββ App.jsx # Main app component
β βββ package.json
βββ server/ # Node.js backend
β βββ models/ # MongoDB schemas
β βββ routes/ # API endpoints
β βββ middleware/ # Authentication middleware
β βββ index.js # Entry point
β βββ package.json
βββ package.json # Root package configuration
βββ README.md
POST /api/auth/register- Register new userPOST /api/auth/login- Login user
GET /api/tasks- Get all tasksGET /api/tasks/date/:date- Get tasks for specific datePOST /api/tasks- Create new taskPUT /api/tasks/:id- Update taskDELETE /api/tasks/:id- Delete task
GET /api/groups- Get all groupsPOST /api/groups- Create new groupPUT /api/groups/:id- Update groupDELETE /api/groups/:id- Delete group
-
Register/Login: Create an account or log in with existing credentials
-
Create Groups: Set up groups for your subjects/classes with custom colors
-
Add Tasks: Click "New Task" to create a task with:
- Title and description
- Task type (To-Do, Classwork, etc.)
- Priority level
- Due date
- Associated group
-
Manage Calendar: Use the calendar to navigate dates and view tasks
-
Track Progress: Mark tasks as complete by clicking the checkbox
- Task recurring/recurring reminders
- Due time notifications
- Task attachments
- Sharing tasks with classmates
- Progress analytics and statistics
- Dark mode support
- Mobile app (React Native)
- Export tasks to PDF/Calendar formats
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
If you have any questions or need help, please open an issue on GitHub or contact the maintainers.
Made with β€οΈ to help students stay organized