Skip to content

afsanhk/scheduler

Repository files navigation

Interview Scheduler

Interview Scheduler is a single page React App which allows you to book appointments.

Built upon an existing back-end provided by LHL during the Web Deb Bootcamp to practice React.

This is deployed at: https://scheduler-ahk.netlify.app/ using a heroku hosted postgres-API and CircleCI.

The deployed app does not integrate websockets but websockets were implemented in another branch (stretch/websockets).

** Note: Please give the app some time to initially load data as heroku will shut off the API after 30 minutes of inactivity. **

Major Learnings

Creating a react app with create-react-app and using numerous testing libraries, the major learnings were:

  1. Creating React components, passing props and hooks (useState, useEffect, useReducer).
  2. Managing state and using custom hooks to render components and create controlled forms.
  3. Axios requests and web sockets (not in production -- branch: stretch/websockets).
  4. Immutable patterns, conditional rendering and managing DOM events.
  5. Testing with Storybook (components), Jest (unit, integration) and Cypress (End to End).

Final Product

Add, edit or delete an interview

Functionality

Form validation

Form Validation

Save/Delete errors

Error

Day List

Day List

Websockets

No Websockets

No WebSox

Adding With Websockets

WebSoxAdd

Editing With Websockets

WebSoxEdit

Deleting With Websockets

WebSoxDelete

Setup

Install dependencies with npm install.

Note: If you are not running the deployed version, you will also need to fork the scheduler-api repo and run the DB server alongside the React app.

Running Webpack Development Server

npm start

Running Jest Test Framework

npm test

Running Storybook Visual Testbed

npm run storybook

About

Template from lighthouse-labs/scheduler

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published