rchen1996 / scheduler

Single-page interview scheduling app built with React for students to book, edit, and delete interview appointments. The client connects with a WebSocket server to allow for a realtime experience.

Home Page:https://scheduler-rchen.netlify.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Interview Scheduler

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.

Tech Stack

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.

Testing

  • Jest: unit and integration tests
  • Storybook: testing components in isolation
  • Cypress: end-to-end testing

Hosting

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.

Final Product

"Create/edit interview form" "Appointment shown in hover state with edit/delete buttons visible" "Confirm message prior to destructive action"

Setup

Install dependencies with npm install.

Running Webpack Development Server

npm start

The app will be served at http://localhost:8000/.

*Requires scheduler API server to be running

Running Jest Test Framework

npm test

Running Storybook Visual Testbed

npm run storybook

Running Cypress Test Framework

Install cypress using npm install -g cypress

npm run cypress

Dependencies

  • axios v.0.21.x
  • classnames v.2.2.x
  • react v.16.9.0
  • node v.10.16.1

About

Single-page interview scheduling app built with React for students to book, edit, and delete interview appointments. The client connects with a WebSocket server to allow for a realtime experience.

https://scheduler-rchen.netlify.app


Languages

Language:JavaScript 83.3%Language:SCSS 13.9%Language:HTML 2.8%