Interview Scheduler is a single page application (SPA) using the latest tools and techniques, we build and test a React application that allows users to book, edit and cancel interview appointments. We combine a concise API with a WebSocket server to build a realtime experience.
-
Fork this repository, then clone your fork of this repository.
-
Fork scheduler-api repository, then clone your fork of scheduler-api repository.
-
Install dependencies using the
npm install
command in both the scheduler folder as well as the scheduler-api folder. -
Start the web server using the
npm start
command while in the "scheduler-api" folder. You will also need to start the client by navigating to the root folder and running thisnpm start
command there as well. The app will be served at http://localhost:8000/. -
Go to http://localhost:8000/ in your browser.
Realtime communication (WebSocket)
npm start
npm test
npm run storybook
Make sure scheduler-api server is running in test mode with this command.
- in scheduler-api directory
npm run test:server
Make sure
scheduler
is running.
- in scheduler directory
npm run start
Type this command to run cypress in
scheduler
directory.
Make sure bothscheduler
andscheduler-api
are running.
-
another terminal tap
-
in scheduler directory
npm run cypress
Now, you should have 3 terminal taps (
scheduler
,scheduler-api
,cypress
)
- React
- Axios
- react-dom
- classnames
- WebSocket
- storybook
- @testing-library
- Cypress
- node-sass
- prop-types
- react-test-renderer
Replace useState to useReducerCombine a concise API with a WebSocket server to build a realtime experienceDeploy the server to HerokuDeply the Client to Netlify