Skip to content

anton-novak/tutor-finder

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TutorFinder

A place to connect tutors and students.

App features:

  • Clean and responsive user interface based on Bulma CSS framework
  • Different user journeys with focus on the students - the tutors do not have access to the catalogue
  • Chats between students and tutors
  • Stateless authentication based on jsonwebtoken
  • Simple "in-house" image handling and storage

Getting started

Make sure you have Node.js installed or install it. Install the dependencies by running npm install command in the server and client directories.

To start a local development server:

  1. create a .env file in server/src directory and populate it with PORT and SECRET variables:
PORT=8080
SECRET="YOUR SECRET KEY"
  1. run nodemon index.ts command from server/src directory

To start the frontend server run npm start command from the top of the client directory.

By default, the frontend connects to http://localhost:8080. If you wish to use a different port, edit the env.ts file in client/src directory.

In the mocks directory you will find a json file with seventeen user profiles: eight students and nine tutors. Once you have started the app, in the same directory run node fillMockUsers.js to automtaically load the database with the mock data. Copy the uploads directory into server/src directory to display images for these profiles. Password1 is the password for all the mock profiles.

Tech stack

TypeScript on the frontend and the backend

Front end

React, Bulma CSS framework

Backend

Node.js server (Express), jsonwebtoken and bcrypt for authentication, multer for form data handling, MongoDB with Mongoose ODM library

Contributors

This is a fork of Aaron Sherill's project. Developed by Anton Novak and Danny Gold.

About

A place to connect tutors and students

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 87.3%
  • JavaScript 8.3%
  • HTML 2.9%
  • CSS 1.5%