easyKitchen is an application that allows amateur chefs to offer delivery service. The application has two views, one in which chefs can create daily menus as well as track orders, and the other where clients can view the offers and create orders.
This repo is created for refactoring the project to TypeScript and implementing unit and E2E tests, using Jest and Cypress respectively.
Application landing page:
Cypress E2E testing:

- Clone the repo
git clone https://github.com/MathiasSoderqvist/easyKitchen.git
cd easyKitchen
- Install server dependencies
cd server
npm install
- Create your database related variables in a .env file under 'server' folder, using the 'config.js' file under 'server/config' for a list of required variables. Your .env file should look like below. Don't forget to add this file to your gitignore!
DB_USER=**your database username**
DB_PASSWORD=**your db password**
DB_NAME=**your db name**
DB_DIALECT="postgres"
DB_HOST=**your db host, ex: localhost**
DB_PORT=**your db port, ex: 3001**
NODE_ENV=**one of environments used in config.js file**
DB_TEST=**db name for test environment as an example**
TEST_PORT=**db port for test environment as an example**
- You can run your server using nodemon to watch for changes
nodemon
- Install client dependencies
cd ../client
npm install
- Run your react app
npm start
- Run tests on client using jest (press a when prompted to run all tests):
jest
- Run tests on server using jest (press a when prompted to run all tests):
cd ../server
jest
- Configuration for Cypress will depend on setup. You can find instructions on installation here. Tests written for this project can be found under the path cypress/integration.