A modern digital application developed for the students and staff for universities.
The application enables secure and easy management of personal finances within the university environment.
Through the web interface, users can:
- Securely execute transactions
- Scan QR codes for quick payments
- Manage their cards and financial information
- Track transaction history with visual charts
- Manage profile preferences and security options
- Node.js (v18+ recommended)
- Git
You do not need any prior React knowledge.
git clone https://github.com/mipar52/pra-project-internal-banking.git
cd pra-project-internal-banking/react-client-internal-banking
npm install
npm run devThen visit the local URL (e.g., http://localhost:5173) in your browser.
Core Libraries
reactβ UI component libraryreact-domβ DOM renderingreact-router-domβ Page routingviteβ Fast build tooltypescriptβ Static type checking
UI & Utility
bootstrap,react-bootstrapβ Styling and componentsreact-iconsβ Icon setaxiosβ API communicationhtml5-qrcode,react-qrcodeβ QR code scanning/renderingrechartsβ Charting and visualizations
Development Tools
eslint,eslint-plugin-*β Linting and quality@types/*β TypeScript definitionsvite-plugin-reactβ React/Vite integration
react-client-internal-banking/
βββ public/ # Static files
βββ src/
β βββ assets/ # Images/assets
β βββ axiosHelper/ # Axios config
β βββ css/ # Scoped styles
β βββ hooks/ # Custom React hooks
β βββ router/ # Page components
β βββ App.tsx # App entry
β βββ main.tsx # Render entry
β βββ index.css # Global CSS
βββ package.json # NPM metadata
βββ vite.config.ts # Vite settings
βββ tsconfig*.json # TypeScript config
βββ README.md # Project doc
Located in src/router/:
Login.tsxβ Login screenDashboard.tsxβ Main dashboardEnterManually.tsxβ Manual transaction entryQrScanner.tsxβ QR code scanningSelectCard.tsxβ Choose payment cardTransactionDetails.tsxβ Transaction overviewHistory.tsxβ Transaction history with chartsSettings.tsxβ User preferencesMyProfile.tsxβ Profile pageAllFriends.tsxβ Bank contactsRequestMoney.tsxβ Request funds
- All API requests go through:
src/axiosHelper/axiosInstance.ts - Components like
SuccessPopup.tsxandErrorPopup.tsxare reusable. - CSS is scoped per screen/component.
- Visual Studio 2022
- ASP.NET Core Web API tools
No prior knowledge required.
git clone https://github.com/mipar52/pra-project-internal-banking.git- Open the solution file:
pra-project-internal-banking/backend/PRA_PROJECT/PRA_PROJECT.snl - In Visual Studio:
- Open
Dependencies - Right-click
Packagesand selectUpdate... - Press Run
- Open
Microsoft.AspNetCore.AppMicrosoft.NETCore.App
MailKitMicrosoft.AspNetCore.Authentication.JwtBearerMicrosoft.AspNetCore.Authentication.OpenIdConnectMicrosoft.EntityFrameworkCoreMicrosoft.EntityFrameworkCore.DesignMicrosoft.EntityFrameworkCore.SqlServerSwashbuckle.AspNetCoreTwilio
- 2FA Code Provider
- CvvHashProvider
- JwtTokenProvider
- PasswordHashProvider
xUnitfor unit testing
PRA_Project.sln
PRA_Project/
βββ Controllers/
βββ DTOs/
βββ Models/
βββ ProfilePictureRepo/
βββ Security/
βββ Service/
βββ TestProject/
Install SQL Server Management Studio (SSMS)
β‘οΈ Download SSMS
- Open SSMS and connect to your local server.
- Load the script:
pra-project-internal-banking/database/Database.sql - Click Execute or press F5.
This will:
- Create the database
- Populate it with demo/test data
β Done! Now you can fully run both the backend and frontend!