Skip to content

Repository files navigation

TutorMe

A role-based tutor-matching web app built for KFUPM students — students find and request tutors by course and availability, tutors manage their own schedule and course list, and admins moderate the whole thing.

Course project for SWE363: Software Engineering, KFUPM.

Overview

TutorMe connects students who need help in a course with tutors qualified to teach it. Students search by course and available day, send a tutoring request, get notified when a tutor accepts, and leave a rating afterward. Tutors set their weekly availability (including a virtual-tutoring option) and can request to add new courses to their profile, pending admin approval. Admins review those requests and keep an eye on tutor reviews across the platform.

Features

  • Student

    • Search for tutors by course and day, or by "any available time"
    • Send and track tutoring requests, with notifications when a tutor accepts
    • Rate and review past tutors
  • Tutor

    • Set weekly availability per course, including a virtual-tutoring option
    • Request approval to tutor additional courses (grade-verified)
    • Get notified of incoming student requests and admin decisions by email and in-app
  • Admin

    • Approve or reject tutor course requests
    • Browse tutors and their reviews
  • Shared

    • Role-based login (Student / Tutor / Admin) with OTP-based password reset

Pages & Routes

All routes are relative to the base URL (http://localhost:4639 locally).

Page Route Description
Home / Landing page — links to every login flow and registration
Student Login /StudentLogin Student sign-in
Tutor Login /TutorLogin Tutor sign-in
Admin Login /AdminLogin Admin sign-in
Register /Register Create a Student or Tutor account
Forgot Password /ForgetPasswordPage KFUPM ID → OTP → new password flow
Student Dashboard /StudentPage Search for a tutor by course/day, view upcoming sessions
Tutor Dashboard /TutorPage Set weekly availability, view upcoming sessions
Admin Dashboard /AdminPage Search/browse tutors, view reviews, revoke access
Review a Tutor /ReviewTutorPage Rate and comment on a past tutor
Request to Tutor /RequestToTutor Apply to tutor an additional course

Everything else in app.js (/TakeToStudentPage, /ScheduleTutor, /StudentLoginForm, /ReviewTutorSubmit, etc.) is a form-submission or redirect endpoint used by the pages above, not a page to navigate to directly.

Tech Stack

  • Node.js + Express
  • Nunjucks templating
  • SQLite (sqlite / sqlite3)
  • Nodemailer for email notifications
  • HTML5 / CSS3

Installation

  1. Clone the repository:
    git clone https://github.com/OzyCode/SWE363_TutorMe.git
    cd SWE363_TutorMe
  2. Install dependencies:
    npm install
  3. Start the server:
    npm start
  4. Open http://localhost:4639 in your browser.

Built by Osama Al-Bahnasi.

About

Role-based tutor-matching web app for KFUPM students — students request tutors, tutors manage availability, admins moderate reviews. Built with Node.js, Express, Nunjucks, and SQLite.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages