Skip to content

Latest commit

Β 

History

34 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ EduMeet β€” Smart Appointment Scheduler

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.

Made with License Status


🌐 Live Demo

πŸ‘‰ Click here to view the app

⚠️ Note: Initial load may take a few seconds due to server cold start.


πŸ“Œ Table of Contents


πŸš€ Key Features

πŸ‘¨β€πŸŽ“ Student

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

πŸ‘©β€πŸ« Teacher

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

πŸ› οΈ Admin

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

🧠 Core Functionalities

  • πŸ”’ 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

πŸ› οΈ Tech Stack

πŸ–₯️ Frontend

React TailwindCSS Axios React Router Vite

βš™οΈ Backend

Node.js Express.js MongoDB JWT bcrypt

πŸ“¦ Other Tools

Nodemailer Git GitHub


πŸ“Έ Screenshots

🏠 Home Page

Home Page


πŸ› οΈ Admin Dashboard

Admin Dashboard


πŸ‘¨β€πŸŽ“ Student Dashboard

Student Dashboard


πŸ“… Teacher β€” Manage Appointments

Manage Appointments


πŸ‘©β€πŸ« Teacher β€” Set Availability

Teacher Availability


πŸ“‚ Project Structure

πŸ“ 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

βš™οΈ Environment Variables

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 .env file to GitHub. Make sure it's listed in .gitignore.


▢️ How to Run Locally

1️⃣ Clone the Repository

git clone https://github.com/your-username/edumeet-smart-scheduler.git
cd edumeet-smart-scheduler

2️⃣ Backend Setup

cd backend
npm install
npm run dev

3️⃣ Frontend Setup

cd frontend
npm install
npm run dev

🌐 The app will be running at http://localhost:5173 (frontend) and http://localhost:5000 (backend).


πŸ” Security Features

  • βœ… JWT-based stateless authentication
  • βœ… Role-based authorization (RBAC)
  • βœ… Password hashing using bcrypt
  • βœ… Protected API routes with middleware
  • βœ… Backend validation for all critical operations
  • βœ… .env kept out of version control

πŸ“Œ Future Enhancements

  • πŸ”” Real-time notifications using WebSockets
  • πŸ“Š Admin analytics dashboard (top-rated teachers, booking trends)
  • πŸ“… Google Calendar integration
  • πŸ“± Mobile application support
  • πŸ€– Advanced AI-powered recommendation system

πŸ‘©β€πŸ’» Author

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

About

Developed a MERN-based smart academic scheduler with secure role-based access, conflict-free booking, email notifications, and a time-bound feedback and recommendation system.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages