Both server
and web
folders are independent npm packages, so you can work separately with their own package.json
scripts to facilitate the process of development.
After cloning this repository, run yarn install
on the project root folder to install all npm dependencies.
Run yarn build
to build a production version of the app and yarn start
to start it.
If you want to run all projects test, use yarn test
.
- Typescript as main programming language
- Prettier for code formatting
- CircleCI for continuous integration
- Server
- Web client
- React for UI
- styled-components for CSS and styling
- react-router for routing
- Jest for testing
- ducks methodology for separation of concearns regarding the app login
We are not really using the Redux dependency in this app but just the
useReducer
React hook. Since it has the same concepts of reducing state and dispatching actions of Redux, the ducks methodology still aplies.
Use yarn start
inside both server
and web
folders to start a development server.
We use Jest for testing. The tests files are places in the same folder of their target files, inside a __tests__
folder, with the same name of the target file and a .test.[extension]
suffix.
Use yarn test --watch
inside both web
and server
folders to start Jest in watch mode.