https://github.com/neverson-silva/woo-bank
https://github.com/neverson-silva/woo-bank
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/neverson-silva/woo-bank
- Owner: neverson-silva
- Created: 2024-06-18T16:29:22.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2024-07-06T18:04:11.000Z (11 months ago)
- Last Synced: 2024-11-05T08:37:09.012Z (7 months ago)
- Language: TypeScript
- Size: 2.63 MB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-woovi-challenge - WooviBank - Woovi Challenge CRUD Bank [neverson-silva](https://github.com/neverson-silva) (Challenges Fullstack)
README
## Overview
This project is a solution for the Woovi Challenge, which involves building a simple CRUD (Create, Read, Update, Delete) application for a bank. The implementation utilizes the specified stack and technologies, closely mirroring day-to-day operations at Woovi.


## Stack
### Backend
- Node.js
- Koa.js
- MongoDB
- GraphQL### Frontend
- React
- Relay### Testing
- Vitest## Features
- **User Registration and Login:**
- Register a new user with a first name, tax ID (CPF/CNPJ), and encrypted password.
- Unique tax ID enforcement to prevent duplicate registrations.
- Login mutation with JWT token authentication.- **Account Management:**
- Create a user account with a unique account number.
- Ensure one account per user.
- Calculate account balance using a ledger strategy.- **Transactions:**
- Send and receive transactions between accounts.
- Idempotent transaction handling to prevent duplicates.
- Track sender and receiver details and transaction value.