University of Portland students can:
- Login/Register as a user (with a up.edu email)
- Create a tutor profile
- View/Edit/Update/Delete accounts
- Search available tutors (by name, subject, course ID)
Prerequisites: Node.js
- Install npm
- Run
npm install
oryarn install
at app root - Install the React app dependencies: Run
npm install
oryarn install
within the /client folder - Follow Local Setup instructions (to connect to cloud MongoDB)
- 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!
- Install the useful Chrome extensions to work with React and Redux
- Install nodemon globally (will basically need it for server development, for instant server reloading)
npm i -g nodemon
- Run
npm run dev
oryarn dev
- 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
- 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
- Handle (user's email without @domain.com suffix)
- Classes (classes user is available to tutor for)
- Short bio
- Chatroom setup
- Serverless backend
- Scheduling system for availability
- 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
- Mocha: JS framework for Node.js that allows async testing
- Chai: Assertion lib used for testing HTTP requests
- Create mLab account and create database, add to config/keys_dev.js
- react-redux
- redux
- passport
- passport-jwt
- bcrypt
- express
- material-ui
- Algolia (search)
- Serverless (for cloud function backend)
-
- Rocket Chat * (Chatrooms! Free Slack basically)
expect(component).to.have.class('something')
docker-compose up -d