Skip to content

Latest commit

 

History

History
105 lines (88 loc) · 4.94 KB

File metadata and controls

105 lines (88 loc) · 4.94 KB

CodeTutors

Motivation

The quest for quality education is universal, yet the challenge often lies in finding the right match between students and tutors. Our project, CodeTutors, seeks to revolutionize this search by leveraging technology to closely align educational support with students' specific needs and learning outcomes. Recognizing the role of tangible academic achievements in evaluating teaching effectiveness and tutors’ actual teaching abilities, we propose an innovative approach to enhance the matchmaking process on our platform. We envision a platform where students can find credible tutors that match their various requirements and where tutors can earn an income, using their skills, and eventually develop into better tutors using our unique TutorScore system.

Features

Profile Creation and Management (Core)

  • Creation:
    • Mechanism for both tutors and students.
    • Sign-up through Google/Outlook/LinkedIn, or by providing an email and password (with optional verification code feature).
    • Separate profile creation pages for tutors and students to collect respective fields of information.
  • Maintenance:
    • Users can manage and update their personal information.
    • Use of a database (PostgreSQL with Django) to store tutor and student information.

TutorScore System

Each tutor will have a TutorScore, similar to the rating system on Carousell. The score is computed using the average of several metrics, implemented in the form of a questionnaire given to the students two months after starting the first lesson or upon termination of the tutoring service. Students can filter tutors by their TutorScore.

Metrics

  • Clarity and understandability of the tutor’s explanations.
  • How well the tutor addresses questions and concerns.
  • Engagement during tutoring sessions.
  • Responsiveness to questions and concerns outside of scheduled sessions.
  • Further criteria may be added in the future.

Filter System

  • Location: Use Google Maps API to locate students' houses from that of tutors for face-to-face sessions. Tutors can filter available students based on location.
  • Price: Students and tutors can filter based on price per hour.
  • Subjects: Students can filter tutors by subjects taught, and tutors can filter students by subjects they are looking for.
  • Years of Experience: Students can filter tutors by their number of years of experience.

UI/UX

  • Display:
    • Each card shows the tutor’s name and overall rating.
    • A more details button reveals strengths, weaknesses, and past reviews.
    • Start messaging icon allows direct messaging with the tutor.

Job Posting

Students can post job postings to find a tutor specifying subject, rate, and TutorScore requirements. Tutors can see these postings on the Google Map interface and apply for the job postings.

Payment System

To monetize our system, tutors are required to pay to keep their profiles visible and to apply to job requests. This is achieved by integrating the Stripe API. Tutors can also pay extra for profile priority to be displayed preferentially to students.

SWE Practices

  • User Testing
  • Automated Testing (optional)
  • Version Control
  • Unit Testing + Integrated Testing
  • User-Centric Designs (personalization of the app)
  • Don’t Repeat Yourself (DRY) Principle

Milestone 1 Report

Insert detailed text for Milestone 1 Report here.

Installation

Instructions for setting up the development environment.

  1. Clone the repository.
  2. Install dependencies: pip install -r requirements.txt
  3. Set up the database: python manage.py migrate
  4. Run the server: python manage.py runserver

Dependencies

  1. python3 for virtual env
  2. Django
  3. Sqlite
  4. npm
  5. react-dom
  6. Nextjs
  7. MaterialUI
  8. Babel
  9. Webpack

Contributing

Please read our CONTRIBUTING.md for the process for submitting pull requests.

Acknowledgments

Thanks to everyone who has contributed to this project.