Student Planar is a robust role-based scheduling and task management platform. Built on the MERN stack and optimized with Vite, it provides distinct, secure dashboards for Teachers and Studentsβmaking academic coordination and task tracking completely seamless.
With its modern, futuristic UI and robust scalable backend, Student Planar is designed to streamline academic administrative duties and ensure students remain on track.
- π Role-Based dashboards: Dedicated views and permissions for 'Teachers' and 'Students'.
- π Course Management: Teachers can securely create, edit, and assign courses.
- π File-Based Assignments: Teachers assign homework and coursework by uploading files (PDFs, Word docs, images, txt files, etc.).
- π₯ Interactive Downloading: Students can download assignment files directly from their task view with a custom, theme-integrated download interface.
- π Schedule & Task Tracking: Intuitive daily scheduling, real-time date-restrictions, and calendar syncs.
- π Immersive UI: A rich, responsive UI utilizing dynamic layouts and modern styling constraints.
- π‘οΈ Secure Authentication: JWT-based user authentication and robust password hashing.
This is a monorepo-style setup containing both the Frontend (client) and the Backend (server).
STUDENT-PLANAR/
βββ client/ # React frontend (Vite)
β βββ src/ # Source files, Components, Views
β βββ public/ # Static assets
β βββ package.json # Client dependencies
βββ server/ # Node.js/Express backend
β βββ models/ # Mongoose DB Schemas
β βββ routes/ # Express API Endpoints
β βββ uploads/ # Local file storage
β βββ server.js # Entry point for backend
β βββ package.json # Server dependencies
βββ .gitignore # Shared Git Ignore configurations
βββ README.md # This file
To run this project locally, ensure you have Node.js (v16+) and MongoDB installed on your workstation.
git clone https://github.com/HimanshuKumarRout/student-planar.git
cd student-planar# Navigate to the server folder
cd server
# Install backend dependencies
npm install
# Create environment variables
# Duplicate .env.example into .env or create a new .env file with the following:
# PORT=5000
# MONGODB_URI=your_mongodb_connection_string
# JWT_SECRET=your_super_secret_key
# Start the development server
node server.jsThe server should now be running on http://localhost:5000.
Open a new terminal window or tab to keep the server running.
# From the root directory, navigate to the client folder
cd client
# Install frontend dependencies
npm install
# Start the Vite development server
npm run devThe client app should now be running and accessible at http://localhost:5173 (default).
Contributions, issues, and feature requests are welcome! Feel free to check the issues page to see what we're working on.
- Fork the Project
- 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
Himanshu Kumar Rout
- GitHub: https://github.com/HimanshuKumarRout
- Email: himanshurout136@gmail.com
Distributed under the MIT License. See LICENSE for more information.
Made with β€οΈ for better academic productivity.