MyWallet is an application that came to help their users to keep tracking their incomes and outcomes!! It is a digital Wallet!
In this application users can add their incomes and outcomes with a brief description and check their total amount left in real time!
It is an easy and simple way to organise finances with no stress!
You can find this front-end application at https://github.com/jumeneguete/mywallet-front-end
This is an web application where people can add their incomes and expenses and keep it on track. Below are the implemented features:
-
Sign Up (/signup);
-
Sign In (/signin);
Authenticated routes:
-
Get all existent income or outcome registers (/registers);
-
Get an specific income or outcome register (/registers/:id);
-
Add new income (/cashin);
-
Edit an specific registered income (/updatecashin/:id);
-
Add new outcome (/cashout);
-
Edit an specific registered outcome (/updatecashout/:id);
-
Delete a register (/delete/:id);
-
Logout (/logout);
- NodeJS
- Express
- PostgreSQL
- Jest
- Supertest
- Bcrypt
- uuid
- Dayjs
- Joi
- Front-end using ReactJS at https://github.com/jumeneguete/mywallet-front-end
On this project I was training NodeJS, Express and database PostgresSQL without any appliance of clean architecture and it was my first time trainning integration tests.
Later on I appplied some clean arquitecture fetures using controllers, services and repositories, and also using middleware to the authenticated routes.
→ Soon I intend to implement integration tests to all routes.
- Clone this repository
- Ypu can clone the front-end repository an follow its instruction for installation at https://github.com/jumeneguete/mywallet-front-end
- Install dependencies
npm i
- Ceate an .env file based on env.example
- The database required to run the application can be found at assets/dump.sql;
- Run server
npm run dev
- Congrats! App is runnig and you can test it using some API Client or together with the front-end application.