Woovi Bank is an inspired project to challenge required for the position Mid-level Fullstack Developer at Woovi, which makes the transfer between two users possible. The project follows the functional paradigm inspired by the Tao of React and the Tao of Node.js.
To access the production environment you can click in follow link below:
- Woovi Bank Server
- Woovi Bank UI
- Woovi Leaky Bucket Server (Only on localhost for now)
- Woovi Leaky Bucket UI (Only on localhost for now)
Backend: Koa.js, MongoDB, GraphQL
Frontend: Vite, Relay, Shadcn/ui
Tests: Vitest, Memory Mongo DB
Infra: Railway, TurboRepo
- Woovi Crud GraphQL Relay
- Woovi Leaky Bucket
Example to running Server and UI
You need some requirements
- MongoDB
- Redis
Start MongoDB & Redis Instances
$ docker compose up -d
Configure envs
$ pnpm copy:env
Start graphql server
$ cd apps/bank-server && pnpm dev
Access the ui: http://localhost:3333/graphql
Start UI server
$ cd apps/bank-ui && pnpm relay && pnpm dev
Access the ui: http://localhost:5173
Follow the same steps to up the
multi-tenancy-leaky-bucket-server
andmulti-tenancy-leaky-bucket-ui
By default
multi-tenancy-leaky-bucket-server
andbank-server
run on the default port 3333 so run one at a time, and the same goes formulti-tenancy-leaky-bucket-ui
andbank-ui
Multitenancy Leaky Bucket Diagram Sequence
In other langs:
Bank CRUD GraphQL Relay Diagram Sequence
In other langs:
Íf you try run the relay and it throw an error relation to watchman, you can try install using brew command
Watchman error: The watchman server reported an error: "A non-recoverable condition has triggered. Watchman needs your help! The triggering condition was
$ brew install watchman
https://facebook.github.io/watchman/docs/troubleshooting#poison-inotify_add_watch