Arghyadeep09/MentorMenteeMangement

A MERN-stack Mentor-Mentee Scheduling System for booking and managing mentorship slots. ๐Ÿš€

โ˜… 0Forks 2JavaScriptGitHub โ†—Compare

Project website โ†—

authenticationexpressjsfirebase-authjwt-authmongodbnodejsreact-routerreactjstailwindcss

README

Mentor Mentee Scheduling App

This application facilitates scheduling between mentors and mentees, allowing mentors to set their availability and mentees to book slots accordingly. It is built using the MERN stack (MongoDB, Express.js, React.js, Node.js) and integrates with Firebase for authentication.

๐Ÿš€ Setup and Run Locally

1. Clone the Repository

 
 
git clone https://github.com/your-username/MentorMenteeMangement.git 
cd MentorMenteeMangement 
 

๐Ÿ“Œ Backend Setup

Step 1: Navigate to the Backend Folder

 
cd Backend 

Step 2: Install Dependencies

 
npm install 

Step 3: Configure Environment Variables

Create a .env file in the Backend directory and add:

 
 
PORT=5000 
MONGODB_URI=your_mongodb_connection_string 
FIREBASE_ADMIN_SDK_JSON=path_to_your_firebase_admin_sdk_json_file 
 

Step 4: Start the Backend Server

 
npm start 

The backend server will run on https://mentormenteemangement.onrender.com/

๐ŸŽจ Frontend Setup

Step 1: Navigate to the Frontend Folder

 
cd ../Frontend 

Step 2: Install Dependencies

 
npm install 

Step 3: Configure Environment Variables

Create a .env file in the Frontend directory and add:

 
 
REACT_APP_FIREBASE_API_KEY=your_firebase_api_key 
REACT_APP_FIREBASE_AUTH_DOMAIN=your_firebase_auth_domain 
REACT_APP_FIREBASE_PROJECT_ID=your_firebase_project_id 
REACT_APP_FIREBASE_STORAGE_BUCKET=your_firebase_storage_bucket 
REACT_APP_FIREBASE_MESSAGING_SENDER_ID=your_firebase_messaging_sender_i
 d 
REACT_APP_FIREBASE_APP_ID=your_firebase_app_id 
 

Step 4: Start the Frontend Application

 
npm start 

The frontend will run on https://mentormenteemangement-1.onrender.com

๐Ÿ”— Access the Application

Open your browser and go to https://mentormenteemangement-1.onrender.com

  • Sign up or log in using Firebase Authentication.
  • Use the dashboard to manage mentor slots and bookings.

โœจ Features

  • ๐Ÿ” Secure Authentication via Firebase.
  • ๓ฐžน Mentors can create and manage available time slots.
  • ๐Ÿ“… Mentees can view and book available mentor slots.
  • ๐Ÿ”„ Real-time slot availability updates.
  • ๐Ÿ“ง Email notifications for booking confirmations.
  • ๐Ÿ“Š Mentor dashboard to track bookings and schedules.

๐Ÿ›  Usage

For Mentors:

  • Sign up as a mentor and log in.
  • Navigate to the Dashboard.
  • Create available slots by selecting a date and time.
  • Manage and update your availability.

For Mentees:

  • Sign up as a mentee and log in.
  • Browse the list of available mentor slots.
  • Select a preferred slot and book it.
  • Receive a confirmation email.

โœจ Prerequisites

Before you begin, ensure you have the following installed:

  • ๐Ÿ” Node.js (v14 or later)
  • ๓ฐžน npm (v6 or later)
  • ๐Ÿ“… MongoDB (Ensure it's running on your local machine or provide a connection string)
  • ๐Ÿ“ง Firebase Project (for authentication)

โš  Troubleshooting

  • Ensure MongoDB is running and MONGODB_URI is correctly set.
  • Verify Firebase credentials in .env.
  • If ports 5000 or 3000 are in use, update them in .env or package.json.

Contributors

Arghyadeep09anshu-rani-trusttAnshuRani7781

Issues