Coder Social home page Coder Social logo

bookatutor's Introduction

TutorUP Capstone Application

About

University of Portland students can:

  1. Login/Register as a user (with a up.edu email)
  2. Create a tutor profile
  3. View/Edit/Update/Delete accounts
  4. Search available tutors (by name, subject, course ID)

Running the Application

Prerequisites: Node.js

  1. Install npm
  2. Run npm install or yarn install at app root
  3. Install the React app dependencies: Run npm install or yarn install within the /client folder
  4. Follow Local Setup instructions (to connect to cloud MongoDB)
  5. Create a keys_dev.js file in <project_root>/config folder. This will be ignored by Git so you don't commit your juicy credentials!
  6. Install the useful Chrome extensions to work with React and Redux
  1. Install nodemon globally (will basically need it for server development, for instant server reloading) npm i -g nodemon
  2. Run npm run dev or yarn dev

Quick Notes

  • Server-side backend stuff is in root
  • Client-side frontend stuff is in /client folder
  • Concurrency is an installed dependency that allows you to run both -ends at once with single command
  • If you make any new config files with important credentials add it to the .gitignore before pushing to Git

IMPORTANT

  • When installing new npm module best thing is to delete the package-lock.json and do npm install again -only if it causes some issues after installing. Next time you push other team mates will have to run npm install again on their machines

Profile Info

  • Handle (user's email without @domain.com suffix)
  • Classes (classes user is available to tutor for)
  • Short bio

Enhancements

  1. Chatroom setup
  2. Serverless backend
  3. Scheduling system for availability

Technologies

  • Express: Fast, flexible Node.js web application framework
  • Mongoose: Models MongoDB objects for Node.js (ORM)
  • React.js: Frontend library from Facebook!
  • Redux: State management library from Facebook!
  • Passport: Authentication library with many auth strategies (we're using JWT)
  • Material-UI: Google Style Library

Testing Technologies

  • Mocha: JS framework for Node.js that allows async testing
  • Chai: Assertion lib used for testing HTTP requests

Local Setup

  1. Create mLab account and create database, add to config/keys_dev.js

Dependencies

  • react-redux
  • redux
  • passport
  • passport-jwt
  • bcrypt
  • express
  • material-ui

Look into

  • Algolia (search)
  • Serverless (for cloud function backend)
    • Rocket Chat * (Chatrooms! Free Slack basically)

Testing

  • expect(component).to.have.class('something')

Run container in background

  • docker-compose up -d

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.