BookMySession is a system for booking appointments between teachers and students. It has three primary roles: Student, Teacher, and Admin. This project is built using the MERN stack and provides a secure and user-friendly interface for managing sessions.
- Directories:
- BookMySession
- Directories:
- Client
- Server
- Directories:
- BookMySession
- Directories:
- public
- src
- Files:
- .gitignore
- eslint.config.js
- index.html
- package.json
- package-lock.json
- README.md
- vite.config.js
- Files:
- vite.svg
- Directories:
- assets
- components
- screens
- Files:
- App.css
- App.jsx
- main.jsx
- MainApp.jsx
- Files:
- react.svg
- Directories:
- addstudent
- addteacher
- appointmentprofile
- Calendar
- countcard
- custommodal
- loader
- login
- passwordmodal
- register
- ScheduleAppointment
- ScheduleAppointmentTeacher
- sidebar
- studentappointmentprofile
- StudentPicker
- studentprofile
- studentregisterform
- StudentScheduleAppointment
- studentsidebar
- teacherprofile
- teacherscheduleappointment
- teachersidebar
- TimePicker
- upadatestudent
- upadateteacher
- Files:
- addstudent.css
- AddStudent.jsx
- Files:
- addteacher.css
- AddTeacher.jsx
- Files:
- appointmentprofile.css
- AppointmentProfile.jsx
- Files:
- calendar.css
- Calendar.jsx
- Files:
- countcard.css
- CountCard.jsx
- Files:
- custommodal.css
- CustomModal.jsx
- Files:
- loader.css
- Loader.jsx
- Files:
- LoginForm.css
- LoginForm.jsx
- Files:
- passwordmodal.css
- PasswordModal.jsx
- Files:
- RegisterForm.css
- RegisterForm.jsx
- Files:
- scheduleappointment.css
- ScheduleAppointment.jsx
- Files:
- scheduleappointmentteacher.css
- ScheduleAppointmentTeacher.jsx
- Files:
- sidebar.css
- SideBar.jsx
- Files:
- studentappointmentprofile.css
- StudentAppointmentProfile.jsx
- Files:
- studentpicker.css
- StudentPicker.jsx
- Files:
- studentprofile.css
- StudentProfile.jsx
- Files:
- studentregisterform.css
- StudentRegisterForm.jsx
- Files:
- studentscheduleappointment.css
- StudentScheduleAppointment.jsx
- Files:
- studentsidebar.css
- StudentSideBar.jsx
- Files:
- teacherprofile.css
- TeacherProfile.jsx
- Files:
- teacherscheduleappointment.css
- TeacherScheduleAppointment.jsx
- Files:
- teachersidebar.css
- TeacherSideBar.jsx
- Files:
- timepicker.css
- TimePicker.jsx
- Files:
- updatestudent.css
- UpdateStudent.jsx
- Files:
- updateteacher.css
- UpdateTeacher.jsx
- Directories:
- adminscreens
- notfound
- studentscreen
- teacherscreens
- Directories:
- dashboard
- loginscreen
- registerscreen
- studentscreen
- teacherscreen
- Files:
- dashboard.css
- Dashboard.jsx
- Files:
- loginscreen.css
- LoginScreen.jsx
- Files:
- registerscreen.css
- RegisterScreen.jsx
- Files:
- studentscreen.css
- StudentScreen.jsx
- Files:
- teacherscreen.css
- TeacherScreen.jsx
- Files:
- NotFound.jsx
- Directories:
- appointment
- studentlogin
- studentregister
- teachers
- Files:
- StudentAppointment.jsx
- studentappointments.css
- Files:
- StudentLogin.jsx
- Files:
- StudentRegister.jsx
- Files:
- Teachers.jsx
- Directories:
- appointmentscreen
- studentsscreen
- teacherloginscreen
- teachermessages
- Files:
- appointmentscreen.css
- AppointmentScreen.jsx
- Files:
- StudentsScreen.jsx
- Files:
- teacherloginscreen.css
- TeacherLoginScreen.jsx
- Files:
- TeacherMessages.jsx
- Directories:
- controllers
- db
- middlewares
- Files:
- app.js
- package.json
- package-lock.json
- Files:
- addAppointment.js
- addStudent.js
- Addteacher.js
- adminLogin.js
- approveAppointment.js
- approveStudent.js
- changeStudentPassword.js
- changeTeacherPassword.js
- deleteStudent.js
- deleteTeacher.js
- getAppointments.js
- getScheduledStudents.js
- getScheduledTeachers.js
- getStudentDetails.js
- getStudents.js
- getTeacherDetails.js
- getTeachers.js
- myAppointments.js
- saveLog.js
- searchStudentAppointments.js
- searchTeacherAppointments.js
- studentLogin.js
- teacherLogin.js
- updateStudent.js
- updateTeacher.js
- Files:
- admin.js
- appointment.js
- counter.js
- index.js
- log.js
- student.js
- teacher.js
- Files:
- verifyToken.js
- User authentication and authorization with JWT.
- Secure password storage using Argon2.
- Role-based access for students, teachers, and admins.
- React.js-based frontend with a responsive design.
- Node.js and Express.js for backend operations.
- MongoDB Atlas as the database.
- Clone the repository.
- Install dependencies:
- Run
npm installin the root directory. - Navigate to the
clientfolder and runnpm installfor the frontend.
- Run
- Set up environment variables for MongoDB connection and JWT secrets.
- Start the backend server:
- Run
npm startornodemonin the root directory.
- Run
- Start the frontend server:
- Navigate to the
clientfolder and runnpm start.
- Navigate to the
Contributions are welcome! Please fork the repository and create a pull request.
This project is licensed under the MIT License.