Skip to content

Latest commit

Β 

History

History
143 lines (104 loc) Β· 3.33 KB

File metadata and controls

143 lines (104 loc) Β· 3.33 KB

πŸ§‘β€πŸ« Language Exchange - Online Tutor Booking Platform

Welcome to Language Exchange, an online tutor booking platform where users can easily find and book tutors based on language categories. Inspired by platforms like Preply and Italki, this web app is designed for accessible and friendly learning.


πŸš€ Live Site

πŸ”— Live Website Link


🎯 Project Purpose

This project is part of Assignment-11-assignment_category_14. It evaluates your skills in full-stack development, focusing on routing, authentication, CRUD operations, deployment, responsiveness, and user experience.


🧩 Key Features

πŸ‘¨β€πŸ« Tutor Booking System

  • Find tutors by language categories
  • View detailed tutor profiles
  • Book tutors securely
  • Submit reviews

πŸ“ Tutorial Management

  • Add new tutorials (Private route)
  • View and update personal tutorials
  • Delete unwanted tutorials

πŸ‘₯ User Features

  • JWT-based secured login with Firebase
  • Google sign-in integration
  • Profile image with name dropdown
  • Fully responsive UI for all devices
  • Dark/Light mode toggle

πŸ“ˆ Home Page Sections

  • Banner/Carousel section
  • Stats section (Tutor count, Review count, Languages, Users)
  • Language Category Cards (9+)
  • 2 additional engaging sections

πŸ” Search Functionality

  • Search tutors based on language on the "Find Tutors" page

πŸ” Authentication & Authorization

  • Firebase Authentication (Email/Password + Google Sign-in)
  • JWT Token implementation (token generated on login and sent with secure requests)
  • Protected routes with proper redirection
  • Firebase Admin SDK used in backend for token verification

🌐 Routing Structure

  • / - Home Page
  • /find-tutors - All Tutors
  • /find-tutors/:category - Category-based tutors
  • /tutor/:details - Tutor Details (Private)
  • /add-tutorials - Add Tutorial (Private)
  • /my-tutorials - My Added Tutorials (Private)
  • /my-booked-tutors - Booked Tutors (Private)
  • /login - Login Page
  • /register - Registration Page
  • * - 404 Error Page

πŸ§ͺ Form Fields

Registration:

  • Name
  • Email
  • Password
  • Photo URL

Add Tutorial:

  • User Name
  • Email
  • Image
  • Language
  • Price
  • Description
  • Review (0 default)

Update Tutorial:

  • Editable: image, language, price, description
  • Non-editable: name, email, review

πŸ“¦ NPM Packages Used

Frontend:

  • React
  • React Router DOM
  • Axios
  • Firebase
  • Tailwind CSS
  • DaisyUI / (Any other UI library used)
  • Framer Motion (if implemented)

Backend:

  • Express.js
  • MongoDB
  • Firebase Admin
  • CORS
  • JSON Web Token (JWT)
  • Dotenv

πŸ’» Responsive Design

βœ… Mobile | βœ… Tablet | βœ… Desktop
All screens are optimized with proper spacing, alignment, and color contrast. fully done here


βš™οΈ Deployment Checklist

  • βœ… Firebase keys stored in .env file
  • βœ… MongoDB credentials secured
  • βœ… No CORS / 404 / 504 errors
  • βœ… All routes reload without crashing
  • βœ… Domain added in Firebase Auth
  • βœ… JWT protects private routes without redirect issues

🧠 Optional Features Implemented

  • βœ… Dark/Light Mode Toggle
  • βœ… Spinner on data loading

Thank You! 😊 This project showcases your ability to create industry-level full-stack applications. Best of luck in your evaluation!