CyberVault
CyberVault is a full-stack banking management platform designed to handle customer accounts, financial transactions, profile management, and employee and user administration through role-specific interfaces. Built with Next.js and a dedicated Node.js/Express REST API backed by MySQL, the system combines structured business logic with authentication, role-based authorization, token security, input validation, and audit logging.

Technologies Used
Project Overview
CyberVault is a full-stack banking and financial management system that combines customer banking services with internal bank administration. It supports three main roles: customers, employees, and administrators. Customers can manage their profiles, view account details and balances, and review transaction history. Employees can search for customers and manage their information according to their permissions. Administrators can manage employees and users, unlock accounts, and access administrative dashboards. Each role has its own interface and navigation. The frontend uses Next.js, React, and TypeScript, while a separate Node.js/Express backend provides a versioned REST API. Next.js API routes connect the frontend to the backend and handle request forwarding, authentication data, cookies, and responses. The backend is organized into routes, controllers, services, repositories, Sequelize models, validation, middleware, and utilities. This structure keeps responsibilities clear while supporting account management, transaction workflows, role-based administration, and layered security.
Key Features
Authentication and authorization concepts protect access to user, employee, and administrator areas.
Separate areas and navigation keep each role focused on its relevant banking responsibilities.
User-facing transaction functionality supports core banking workflows within the application.
Security measures are implemented to mitigate common web application attacks and vulnerabilities.
Administrators can manage user and employee accounts, including role assignments and access control.
The application is deployed on a cloud platform with a real domain name and SSL certificate.
Screenshots
Challenges and Solutions
- Representing different responsibilities without making the banking experience difficult to navigate.
- Protecting access to areas that contain account and transaction information.
- Keeping the web application's responsibilities separate from the wider network and infrastructure work.
- Organized the application around user, employee, and administrator areas with role-specific navigation.
- Applied authentication and role-based access concepts to protected application areas.
- Kept the frontend and backend API scope distinct from the graduation project's broader network and infrastructure component.





