The interview scheduler is a single page Full Stack application. It allows user to book an appointment and choose an interviewer. The application utilizes WebSocket connection to support multiple user connections. It allows data to update across all session without users refreshing the page.
The application uses a wide range of testing technics:
- Static testing;
- Unit and Integration testing (StoryBook, Jest);
- E2E testing (Cypress).
The overall test coverage for the application is 95%:
The app has been deployed on Netlify
and can be accessed via the link:
https://goofy-noether-013749.netlify.app/
Please allow approximately 15 seconds for application to start up. It runs on AWS servers, so if application has been inactive for 30 minutes, it will be terminated so it needs some time to restart
.
- Single Page App;
- Built using functional React;
- Reducer was used to controll application state;
- WebSocket was used to allow for synchoniously updating data in multiple active clients;
- 95% of application is covered by unit and integration tests.
Node.js
React
Axios
Express
Jest
Cypress
PostgreSQL
SASS
classnames
Create a new appointment for selected day and time slot:
Edit an existing appointment:
Delete an existing appointment:
Demonstrate two types of errors thrown when there is no Student name or Interviewer selected while trying to submit an appointment form:
Demonstrate an update of number of available slots on each appointment createing/deletion. If no spots available for any given day, this day is greyed out:
Websocket allows a synchronous update on more than one running instance of application. In this case there are two separate sessions opened in separate browsers. Once a change is made in one open browser, it is reflected in the other one: