A modern client single page application (SPA) for scheduling interviews, built using React and Storybook, and fully tested using Jest, Testing-Library and Cypress. Accompanied by the Scheduler API built in Node with Express and PostgreSQL.
- Functionality
- Screenshots
- Technical Stack
- Setup
- Running the Tests
- Contributing
- Planned Features
- Acknowledgements
The app's main functionality is to allow for a student to book and manage an interview with a mentor. The user experience is very smooth with no page refreshes, thanks to the SPA characteristic and the usage of simple indicators to inform the user when asynchronous operations take place. The state client-side is synchronized and persisted with the server via an API that communicates with the Express server and a PostgreSQL database.
For a full list of features, please check the list of Functional and Behavioral Features of this application.
- Netlify - Frontend
- Heroku - Backend
- Install dependencies with
npm install
for both the application and the API - Interview Scheduler requires both the Webpack server (this application) and API server to be running at the same time.
- The API requires additional setup with creating and seeding the database. A short guide is provided in README of that repo.
npm start
npm run storybook
npm test
npm run cypress
If you would like to contribute in any way with this project, or if you find any bug and want to attempt a fix, please follow these steps:
- Fork it (https://github.com/DPintoLL/scheduler-v2/fork)
- Create your feature branch (
git checkout -b feature/fooBar
) or issue branch (git checkout -b issue/issue
) - Commit your changes (
git commit -m 'Add some fooBar'
) - Push to the branch (
git push origin feature/fooBar
) - Create a new PR
- No additional planned features currently.