Skip to content

Freddiefady/Bank-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Banking App

A full-stack banking management system built with:

  • ASP.NET Core Web API (.NET 10) for backend services
  • SQL Server for data storage
  • Angular for the frontend user interface
  • JWT Authentication for secure access
  • Swagger for API documentation

This project enables managing clients, processing deposits & withdrawals, viewing transaction histories, and securing access via login.


Features

Backend (ASP.NET Core Web API)

  • JWT Authentication using AuthController
  • Client Management (ClientsController)
  • Transaction Management (TransactionsController)
  • SQL Server integration via Stored Procedures
  • Swagger / OpenAPI documentation
  • CORS-enabled for Angular frontend
  • Service-based architecture (AuthService, ClientService, TransactionService)

Frontend (Angular)

  • User Login using JWT
  • Secure access to dashboard components
  • Client creation, listing, and details view
  • Transaction creation (Deposit / Withdraw)
  • Transaction history and summaries
  • Reusable UI components
  • Environment configuration for backend URL
  • Token storage & HTTP interceptors

Backend Setup (ASP.NET Core API)

1. Requirements

  • .NET SDK 10
  • SQL Server (local, Docker, or remote)
  • Tools such as SSMS / Azure Data Studio
  • Node.js (for Angular frontend)

2. Configure Database Connection

Update BankingAPI/appsettings.json connection string to match your SQL Server instance:

"ConnectionStrings": {
  "DefaultConnection": "Server=localhost,1433;Database=BankingAppDB;User Id=sa;Password=YourStrong@Pass123;TrustServerCertificate=true;"
}

3. Required Stored Procedures

The API depends on stored procedures:

  • sp_AuthenticateUser
  • sp_AddClient
  • sp_GetAllClients
  • sp_GetClientById
  • sp_RecordTransaction
  • sp_GetAllTransactions
  • sp_GetTransactionsByClientId

(See documentation or SQL scripts for full definitions.)

4. Run the API

Using CLI:

cd BankingAPI
dotnet restore
dotnet build
dotnet run

URLs:

  • HTTP: http://localhost:5021
  • HTTPS: https://localhost:7010

Swagger UI (development mode only):

https://localhost:5021/swagger

Frontend Setup (Angular)

1. Using CLI

cd BankingClient
npm install
ng serve --open

Frontend default URL:

http://localhost:4200

2. Environment Configuration

Create or update src/environments/environment.ts:

export const environment = {
  production: false,
  apiUrl: 'https://localhost:5021/api'
};

Register it in app.module.ts providers.


API Endpoints Overview

Auth

  • POST /api/Auth/login – Authenticate user & return JWT.

Clients (JWT required)

  • GET /api/Clients – Get all clients.
  • GET /api/Clients/{id} – Get client by Id.
  • POST /api/Clients – Create new client.

Transactions (JWT required)

  • GET /api/Transactions – Get all transactions.
  • POST /api/Transactions – Create a transaction (Deposit/Withdraw).

License

MIT – free to use and modify.

About

.Net Core 10 | Angular | TailwindCSS

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published