Interview Scheduler is a single page App built in JS and React.
It simulates a web portal that allows students to view and book appointments with instructors.
disclaimer - this project was built for educational purposes only as part of the curriculum at Lighthouse Labs - Web Dev Bootcamp
View and Book Appointments
Update or Cancel Appointments
Mobile and Desktop View
Dark & Light Mode
Automated Testing
Download or Clone the Project
git clone git@github.com:symphony/interview-scheduler.git && cd interview-scheduler
Set up Server API (Cloned from: @lighthouse-labs/scheduler-api)
cd server
cp .env.development.example .env.development
(file is already configured with default values)cp .env.test.example .env.test
npm i
npm start
Once running, curl
or visit http://localhost:8001/api/debug/reset
to reseed the db.
Visit Lighthouse Labs repo above for more information.
Set up Client in Separate Terminal
cd client
cp .env.development.example .env.development
npm i
npm start
Visit Scheduler in Your Browser
Stop the Server or Client
- Use hotkey
ctrl + c
in respective terminal
npm test
for Jest testsnpm run storybook
and visithttp://localhost:9009
Restart Scheduler API in test environment
NODE_ENV=test npm start
npm run cypress
- react
- react-dom
- react-scripts
- typescript
- axios
- normalize.css
- @storybook/addon-actions
- @storybook/addon-backgrounds
- @storybook/addon-links
- @storybook/addons
- @storybook/react
- @testing-library/jest-dom
- @testing-library/react
- @testing-library/react-hooks
- @types/node
- @types/react
- @types/react-dom
- babel-plugin-named-exports-order
- cypress
- sass
- webpack
- body-parser
- cors
- dotenv
- express
- helmet
- pg
- socket.io
- ws
- jest
- supertest
- The API database data can be reset by visiting
http://localhost:8001/api/debug/reset
or by runningnpm run reset
- The Scheduler API can intentionally reject requests by running it with
npm run error
- A test environment for the Scheduler API can be run with
NODE_ENV=test npm start
- this is used for Cypress E2E testing - Cypress may need an external server to be running (such as X-Server on WSL Machines)
- More instructions for Scheduler API can be found here: https://github.com/lighthouse-labs/scheduler-api