Simple bank application that uses Yapily (open banking provider) to fetch bank accounts, transactions, and balances. The application is with React frontend, NestJS backend, Postgres database and Redis with BullMQ for job queueing.
1. FE → BE : POST /bank/connect
2. BE → Yapily : create auth URL
3. FE : redirect browser to Yapily
4. User ↔ Yapily : login & consent
5. Yapily → BE : GET /bank/callback?consent=…
6. BE : save consent & enqueue “sync-account” jobs
7. FE : open SSE → GET /event/sync
8. Worker : process jobs → fetch & save transactions
9. Worker → FE : emit SSE “transactions-updated” events
10. FE : on SSE event → refresh UI
Run locally using docker compose (localhost:80)
make docker-local-upYAPILY_APP_ID: The application ID for Yapily. This is required for the application to connect to the Yapily API.YAPILY_APP_SECRET: The application secret for Yapily. This is required for the application to connect to the Yapily API.DATABASE_URL: The URL for the database. This is required for the application to connect to the database.REDIS_HOST: The host for the Redis server. This is required for the application to connect to the Redis server.REDIS_PORT: The port for the Redis server. This is required for the application to connect to the Redis server.