Interview scheduler is a single page app for students to book, edit, and delete interview appointments that they schedule with a selected interviewer. The interview scheduler client application connects with a WebSocket server to allow for a realtime experience.
Scheduler is built using React, CSS (SASS), JS/JSX, and axios. The client application is created using Create React App. The Scheduler API server is built with Express. A PostgreSQL database is used to persist data.
- Jest: unit and integration tests
- Storybook: testing components in isolation
- Cypress: end-to-end testing
Client application is hosted on Netlify.
WebSockets are supported in this application. Open a second browser window or tab to see changes made live!
The scheduler API/PostgreSQL database are hosted using the free version of Heroku. 10-15 seconds of wait time or a refresh of the page may be required to wake the database.
Install dependencies with npm install
.
npm start
The app will be served at http://localhost:8000/.
*Requires scheduler API server to be running
npm test
npm run storybook
Install cypress using npm install -g cypress
npm run cypress
- axios v.0.21.x
- classnames v.2.2.x
- react v.16.9.0
- node v.10.16.1