Skip to content

MERN stack application that helps students get the academic help they need

License

Notifications You must be signed in to change notification settings

amandaay/Tutor-Match-App

 
 

Repository files navigation

Tutor-Match-App

This is a MERN stack web application that helps students get the academic help they need. The website is a tutor matching app for students and tutors. The app helps students (users) to match a tutor according to their academic needs. The main collections in the db would be user basic info and classes, the other collection would be the tutor profiles, such as tutor’s academia record and reviews. For more detailed information, please refer to the design documents attached

Technology used

Node.js and Express.js for backend
React for frontend
MongoDB for database
Passport.js for authentication
Cloudinary API for image upload
Multer middleware for handling multi-part data (for file uploading)
Observable notebook for mock data manipulation to get tutor data

Development usage

  1. Run npm install
  2. Run npm run dev to run in development mode on port 5001
  3. Run npm run initDB to get tutor data in your local MongoDB
  4. Run npm start to run the client side React App on port 3000

Deployment link

https://tutorapp-zwr3.onrender.com/

Updated Deployment Link

https://tutormatchapp.onrender.com/

Design Document

Design Docs in the DesignDoc file and also here

Design

Color Palette

Our color palette is inspired by the blackboard, which is a dark green color. The profile page designs has lighter green hue for background. We also have orange and blue tones throughout the website, which are reflected in colors of some buttons and text.

Screen-Shot-2022-12-08-at-3-49-23-PM.png

Usability study report

Unsigned Consent Form given to users

Usability report conducted on 6 participants by Amanda and Yian collectively

Full report here

Changes made to improve accessibility and usability

  1. The color contrast for the navbar was increased to ratio of 4.5:1. Originally the tabs that were not active would appear darker, however that did not pass the accessibility validator.

  2. Contrast of landing page changed to have the background in a darker gradient to allow the text to pop more original: Landing page

    changed: darkend background and improved text visbility Screen-Shot-2022-12-08-at-4-47-17-PM.png

  3. The buttons on the main page will appear bigger in size when hovered to let users know they these are focused/hovered, in case color changes are not obvious.

    original navbar contrast: Search bar

    changed navbar contrast and header to be WCAG compliant: Improved contrast with navbar, and added header Screen-Shot-2022-12-08-at-8-52-45-PM.png

  4. Search results now show how many there are
    before: Tutor profiles

    after: title shows how many search results there are Screen-Shot-2022-12-09-at-11-18-59-AM.png

  5. Card content alignment changed
    before: alignment was off and main text was centered Tutor profiles

    after: strong alignment to the left of card Screen-Shot-2022-12-08-at-9-29-34-PM.png

  6. User can view details in "My Schedule" Per usability study, some users requested to be able to view details of their booked class. The button colors have also been adjusted to be WCAG compliant
    before: Class schedule

    after: Modal of class/tutor details added for users Screen-Shot-2022-12-09-at-12-08-08-AM.png

  7. User will be asked to double confirm cancellation Per usability study, users pointed out users should be given the option to confirm their cancellation of classes when "cancel class" was clicked in "My Schedule"
    after: A pop up window will ask users to confirm Screen-Shot-2022-12-09-at-12-08-45-AM.png

  8. Sign Up and Login page
    Per usability study, users pointed out that the buttons should be replaced as a login and sign up instead of a "submit" button. Another user also pointed out the "No account" and "Already have an account" should be clickable.
    To improve accessibility, changes were made including increase color contrast of the buttons and the "No account" and "Already have an account" link.
    Before: Screen Shot 2022-11-28 at 3 03 59 PM Screen Shot 2022-11-28 at 3 03 48 PM After: Screen Shot 2022-12-09 at 8 09 04 PM Screen Shot 2022-12-09 at 8 08 51 PM

  9. My profile updates
    Per usability study, users pointed out that send a message to the tutor and book a trial was misleading, so "send a message to the tutor" was removed and "book a trial" was updated to redirect to the book class link.
    To improve accessibility, font size were increased.
    Before:
    User profile After:
    Screen Shot 2022-12-09 at 10 54 40 PM

  10. Edit Profile updates
    Per usability study, users felt that they were not notified when saving the profile picture. An alert will be shown after user saves a Profile Picture.
    To improve accessibility, an h1 tag of Profile was used to distingusish the header.
    Per WCAG (Web Content Accessibility Guidelines), buttons color contrast were increased to 4.5:1.
    Before: Screen Shot 2022-11-28 at 3 11 35 PM After: Screen Shot 2022-12-10 at 1 13 15 AM

  11. Account Settings
    Per WCAG (Web Content Accessibility Guidelines), color contrast were increased to 4.5:1.
    Before: Price panel After: Screen Shot 2022-12-10 at 12 37 11 AM

60% completion by Nov 15

https://github.com/yianan261/Tutor-Match-App/tree/602a17dd0e83302ea39311b539f68717950999fb

80% completion by Nov 22

https://github.com/yianan261/Tutor-Match-App/tree/a0a0bdea6f071ef2d0fe2534192e95a47d190df8

100% completion by Nov 28

https://github.com/yianan261/Tutor-Match-App/tree/33143c3ea8d385bf73fc6430d9117fab58d2287f

Design Mockup

Mockup docs here

Component Diagram

Tutor App component diagram

Class Link

https://johnguerra.co/classes/webDevelopment_fall_2022/

Authors

Yian Chen & So Man Amanda Au-Yeung

Website images

Landing page Screen Shot 2022-11-28 at 3 03 59 PM Screen Shot 2022-11-28 at 3 03 48 PM Screen Shot 2022-11-28 at 3 11 35 PM Search bar Tutor profiles User profile Class schedule Class history Price panel

Google Slides

https://docs.google.com/presentation/d/1_Ht--i4RtaW4VXUX7TEaVxc8PrCrZrVgcXAEmqJYUpA/edit#slide=id.p

Updated Slides

https://docs.google.com/presentation/d/1XQjXYT5RAmvWul5nFMSSMDTBmEJw9rnNUnSKGrvS0Rk/edit?usp=sharing

Presentation Video

https://www.youtube.com/watch?v=J88GZya1jVo

References

Picture references: https://unsplash.com/ https://fontawesome.com/icons https://www.freepik.com/free-photos-vectors/people

  • other references referred inside code

About

MERN stack application that helps students get the academic help they need

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • JavaScript 78.1%
  • CSS 19.7%
  • HTML 2.2%