Skip to content

The Interview Scheduler is a Single Page Application (SPA) built in React. It provides a student the ability to create, edit, and delete interview appointments. Data is persisted by an API server using a PostgreSQL database. The client application communicates with an API server over HTTP, using the JSON format.

Notifications You must be signed in to change notification settings

MattSeligman/Scheduler

Repository files navigation

Interview Scheduler 📆

This repository is a demonstration of creating a modern client application using the React view library.

Setup

Install dependencies with npm install.

Pre-Setup Install

Running Webpack Development Server

npm start

Start Project

Functional Requirements

  • Development focuses on a single page application (SPA) called Interview Scheduler, built using React.
  • Data is persisted by the API server using a PostgreSQL database.
  • The client application communicates with an API server over HTTP, using the JSON format.
  • Jest tests are used through the development of the project.

Behavioural Requirements

  • Interviews can be booked between Monday and Friday.
  • A user can switch between weekdays.
  • A user can book an interview in an empty appointment slot.
  • Interviews are booked by typing in a student name and clicking on an interviewer from a list of available interviewers.
  • A user can cancel an existing interview.
  • A user can edit the details of an existing interview.
  • The list of days informs the user how many slots are available for each day.
  • The expected day updates the number of spots available when an interview is booked or canceled.
  • A user is presented with a confirmation when they attempt to cancel an interview.
  • A user is shown an error if an interview cannot be saved or deleted.
  • A user is shown a status indicator while asynchronous operations are in progress.
  • When the user presses the close button of the error they are returned to the Form or Show view (skipping Status and Confirm).
  • The application makes API requests to load and persist data. We do not lose data after a browser refresh.

Technical Specifications

The Scheduler client application created using Create React App. Express is the basis for the Scheduler API server application.

Both servers run concurrently; requests are proxied from the Webpack development server to the API server.

Reference

Running Jest Test Framework

npm test
  • Use npm test with scheduler-api and schedule when testing. Start Tests

Running Storybook Visual Testbed

npm run storybook

Storybook Tests

Cypress Tests

  • Test Appointments Cypress Appointment Test

  • Test Navigation Cypress Navigation Test

About

The Interview Scheduler is a Single Page Application (SPA) built in React. It provides a student the ability to create, edit, and delete interview appointments. Data is persisted by an API server using a PostgreSQL database. The client application communicates with an API server over HTTP, using the JSON format.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published