DuckBank | Home Banking
DuckBank is a digital banking web application designed to streamline personal finance management. Users can manage accounts, transfer funds, pay utility bills, and track transaction history through a secure and user-friendly interface. The project focuses on delivering a seamless online banking experience with an emphasis on usability, security, and accessibility.

The final project for ITBA's Advanced Full Stack Developer Certification required building a complete system demonstrating mastery of all program axes: modern front-end, robust back-end, relational database, and RESTful API. The challenge was designing a cohesive product across 8 Scrum sprints with incremental deliveries and a functional MVP per sprint, as a team with Celina Bono and Ignacio Iannino.
A fictional digital bank with secure authentication, account management, CBU and alias transfers, persistent transaction history, loan and card request and cancellation, and a centralized financial dashboard. The React and Next.js front-end consumes a RESTful API built with Django REST Framework. The SQL database models users, accounts, transactions, loans, and cards with full referential integrity. Automatically assigned CBU, branch assignment by province, and permanent account deletion with complete data removal.
- 01
Coordinating 8 team sprints with functional incremental deliveries while maintaining architectural coherence across modules each member developed asynchronously
- 02
Modeling the relational database for a real banking system: users, accounts, transactions, loans, and cards with referential integrity, SQL transactions, and optimized views
- 03
Implementing secure token-based authentication with Django REST Framework and managing client-side sessions in React without exposing sensitive data in global state
- 04
Integrating Next.js on top of an existing React base to improve performance and SEO without rewriting components already developed in previous sprints
- 05
Designing transfer logic between accounts with CBU, alias, and balance validation, guaranteeing atomicity through SQL transactions
- 01
Scrum methodology with functional sprint deliveries forces early architectural decisions: a database modeling decision in sprint 6 directly affects the sprint 8 API and sprint 2 front-end
- 02
Django ORM is productive for rapid development but requires knowing its limitations with complex queries: in several cases it was necessary to write raw SQL for joins and subqueries the ORM generated inefficiently
- 03
Teamwork on a full stack project requires explicit contracts between layers: defining API schemas before implementing them avoids weeks of friction between whoever builds the backend and whoever consumes the endpoints
- 04
Next.js SSR on top of an existing React SPA is not a trivial refactor: it requires thinking about which data can be pre-rendered on the server and which depends on authenticated user state
- 05
ITBA selected 60 participants nationwide: the pressure of working with real professional standards from sprint 1 accelerated learning more than any isolated exercise
