Bridging the gap between students and teachers through structured, conflict-free academic scheduling.
EduMeet is a full-stack MERN web application that streamlines academic interactions by enabling students to book appointments with teachers based on real-time availability β replacing informal communication with a secure, transparent, and efficient scheduling platform.
π Click here to view the app
β οΈ Note: Initial load may take a few seconds due to server cold start.
- Key Features
- Core Functionalities
- Tech Stack
- Project Structure
- Environment Variables
- How to Run Locally
- Security Features
- Future Enhancements
| Feature | Description |
|---|---|
| π Secure Auth | JWT-based authentication with role-based access |
| π Book Appointments | Browse teachers and book based on real-time availability |
| π« Conflict-Free | No duplicate slot bookings via backend validation |
| π§ Email Alerts | Automated notifications for booking & status updates |
| β Ratings | Submit feedback within a 48-hour window post-appointment |
| π― Recommendations | Personalized teacher suggestions based on booking history |
| Feature | Description |
|---|---|
| π Secure Login | Protected dashboard access |
| π Manage Slots | Define and update availability slots |
| β Appointment Control | Accept or reject incoming booking requests |
| π View Schedule | See all confirmed upcoming appointments |
| Feature | Description |
|---|---|
| βοΈ User Approvals | Approve or reject student/teacher registrations |
| π₯ User Management | Manage all students and teachers |
| π Central Monitoring | Oversee all appointments from a single dashboard |
- π Role-Based Access Control (RBAC) β Admin, Teacher, Student
- π Availability-Based Scheduling β Structured and real-time
- π« Conflict-Free Booking β Backend-validated slot protection
- π§ Automated Email Notifications β Booking confirmations & updates
- β 48-Hour Rating System β Enforced strictly at the backend
- π― Personalized Recommendations β Based on booking history & recency logic
π EDUMEET/
βββ π backend/
β βββ π config/
β βββ π controllers/
β βββ π middleware/
β βββ π models/
β βββ π node_modules/
β βββ π public/
β βββ π routes/
β βββ π utils/
β βββ βοΈ .env
β βββ π .gitignore
β βββ π package-lock.json
β βββ π package.json
β βββ π server.js
βββ π frontend/
βββ π node_modules/
βββ π src/
βββ π index.html
βββ π package-lock.json
βββ π package.json
βββ π postcss.config.js
βββ π tailwind.config.js
βββ β‘ vite.config.js
Create a .env file inside the backend/ folder and add the following:
PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
EMAIL_USER=your_email@example.com
EMAIL_PASS=your_app_password
FRONTEND_URL=http://localhost:5173
β οΈ Never commit your.envfile to GitHub. Make sure it's listed in.gitignore.
git clone https://github.com/your-username/edumeet-smart-scheduler.git
cd edumeet-smart-schedulercd backend
npm install
npm run devcd frontend
npm install
npm run devπ The app will be running at
http://localhost:5173(frontend) andhttp://localhost:5000(backend).
- β JWT-based stateless authentication
- β Role-based authorization (RBAC)
- β Password hashing using bcrypt
- β Protected API routes with middleware
- β Backend validation for all critical operations
- β
.envkept out of version control
- π Real-time notifications using WebSockets
- π Admin analytics dashboard (top-rated teachers, booking trends)
- π Google Calendar integration
- π± Mobile application support
- π€ Advanced AI-powered recommendation system
P. Lakshmi Sravani
B.Tech CSE | Full-Stack Developer
β If you found this project helpful, please give it a star! β
Made with β€οΈ by P. Lakshmi Sravani | Full Stack Developer




