RevoBank

A Robust API

Revobank is a digital banking application developed as a milestone project during the RevoU bootcamp. It serves as a secure backend solution for essential digital banking operations. The project addresses the need for reliable financial transaction management, including user registration, authentication, and various banking activities within a structured environment.

Preview Documentation

Project

Revou

Period

December 2025

About

Goals

The primary objective was to build a robust API capable of handling core banking features such as deposits, withdrawals, and transfers. The project aimed to implement secure authentication using JWT access and refresh tokens. Additionally, it sought to establish a clean, maintainable architecture using the Repository Pattern and automated testing.

Process

I developed the backend using NestJS, implementing modules for users, accounts, and transactions. I designed a PostgreSQL database schema and utilized Prisma ORM for data management and migrations. I implemented secure password hashing with bcrypt and established role-based access control (Admin/User) through custom AuthGuards to protect sensitive routes.

Output

The final deliverable is a fully functional Digital Banking API deployed on Railway. Key features include account management, transaction history, and secure money transfers. The project includes comprehensive Postman documentation and a suite of unit and E2E tests ensuring system reliability and performance.

Tools

Backend Framework

: NestJS


ORM

: Prisma ORM


Database

: PostgreSQL


Authentication

: JWT (JSON Web Token), Passport


Security

: bcrypt


Validation

: class-validator, class-transformer


Testing

: Jest, Supertest


Environment / Platform

: Node.js, Railway


Method

Repository Pattern

: Used for data access abstraction and cleaner code structure


Role-Based Access Control (RBAC)

: Implementation of Admin and User guards for route protection


REST API Design

: Development of structured endpoints for banking operations


Database Migrations

: Managing schema changes using Prisma


Automated Testing

: Unit testing for services and controllers, plus E2E testing for full-flow verification


Token-based Authentication

: Implementation of Access Token and Refresh Token rotation logic