Wallet app with deposit, exchange, transactions and accounts management functionalities. UI built on React + Redux + Redux Toolkit + Tailwind CSS. Data is persisted in a JSON file and updated via a REST API provided by a json-server. Formatting and static code analysis are performed by Prettier and ESLint. For the styling I chose Tailwind CSS.
- React
- Redux
- Redux Toolkit
- Typescript
- Tailwind css
- json-server
- Prettier
- ESLint
All exchange ratios are compared to EUR (ratio property in accounts at db.json file)
- 1 EUR - €1
- 1 EUR - $1.24
- 1 EUR - CHF1.09
- Edit
db.jsonfile adding the newcurrencyentry, ratio is the exchange value to EUR :
{
"id": "AED",
"ratio": 0.25,
"symbol": "AED"
}- Add then an account for the new currency within
accounts:
{
"id": "AED",
"balance": 0
}User actions:
- Shows total balance based on user's default currency
- Shows list of accounts and balance
- User can change default currency
- User can deposit any of the accepted currencies. No limit in the amount to deposit, middle-east style ;)
- Use can exchange any of the accepted currencies within its current balance.
- Shows a list of wallet transactions.
This project was bootstrapped with Create React App.
Install all dependencies before running the app via yarn.
Runs the app and json-server in the development mode.\
Builds the app for production to the build folder.\