This project is a Crypto Wallet that allows the user to check the wallet information and send crypto in transactions to their contacts.
- React as the main library to create the application
- Redux & Redux Saga with the purpose to create a store and managing the async flow outside the components
- Styled Components for styling
- Axios to create the API interface
- Formik + Yup to simplify the form controls
- i18next to provide language accessibility
First of all, you can either use npm
or yarn
to install the dependencies
yarn
or npm install
To run the project in development mode you should run the command below:
yarn start
or npm run start
To build the project you can use this command:
yarn build
or npm run build
Currently we hav only unit-tests for the store using Jest
.
Considering a next step, would be great to configure and implement the react-testing-library
to test the components and the integrations.
One other step ahead is using cypress
for the e2e tests.
To run the tests in this project, use the command below:
yarn test
There are a lot of other possibilities for improvement, but I'd like to highlight these two below:
In this project, we have the folder src/design-tokens
. The main idea here is to create a way to easily change colors, fonts, and sizes.
In this project, this information is described inside the source code, but following the concept of Design Tokens, we can create a separate package that handles this kind of information and distribute it in many different ways so developers can use it for all different platforms, such as mobile applications and desktop applications.
Also, we could create a separate storybook project that contains the atomic components for the applications.