This project's goal is to implement an app flow that lets users create shipments and pick the best rate from a list of different providers.
- React
- NextJS
- TypeScript
- Redux
- Redux Toolkit (+ RTK Query)
- Mantine
- TailwindCSS
- Jest
- React Testing Library
- MSW
- Prettier
- ESLint
- Lint-staged
- husky
- Clone the repository
git clone [email protected]:rmzNadir/shipment-service-selector.git
- Create a
.env.local
file and add the following variables to it:NEXT_PUBLIC_API_URL=https://api-demo.skydropx.com/v1/
NEXT_PUBLIC_API_KEY
- this must be a valid API for the Skydropx API
- Run
yarn
in the root directory to install the dependencies - And finally, run
yarn dev
to start the project in development mode 🥳- Additionally, you can also start the project in production mode by building it with
yarn build
and starting it after withyarn start
- Additionally, you can also start the project in production mode by building it with
To run tests, run the following command
yarn test
Additionally you can also check the global coverage by running the test command with the --coverage
flag
yarn test --coverage
Spoiler
It's over 9000 80% 😁
There's two deployment environments for this project
Which is the main environment, it is based of the master branch and every new commit made to this branch will trigger a new build.
Everytime a PR is created it will also create a new deployment with the changes for that specific branch, additionally, any new commits will also trigger a new preview build.