0% found this document useful (0 votes)
125 views3 pages

DotNet Assignment

The document outlines a project for a Bank Management App that simulates core banking functionalities, including user authentication, account management, transactions, loan management, and reporting. It specifies key features such as role-based access, multi-currency support, and security compliance, along with a technical stack involving ASP.NET Core and SQL Server. Additionally, it provides submission instructions for the completed project, requiring a GitHub repository with a README file for usage guidance.

Uploaded by

mdsaifislam247
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
125 views3 pages

DotNet Assignment

The document outlines a project for a Bank Management App that simulates core banking functionalities, including user authentication, account management, transactions, loan management, and reporting. It specifies key features such as role-based access, multi-currency support, and security compliance, along with a technical stack involving ASP.NET Core and SQL Server. Additionally, it provides submission instructions for the completed project, requiring a GitHub repository with a README file for usage guidance.

Uploaded by

mdsaifislam247
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Project Overview

A Bank Management App simulates core banking functionalities, allowing users to manage
accounts, conduct transactions, and view reports. This project would involve both a backend API
and frontend interface, where clients (customers, bank staff, and admins) interact with the
system.

Key Features

Here are some modules and features you could incorporate:

1. User Authentication and Authorization

● Roles: Define roles for customers, bank employees, and administrators.


● JWT/OAuth2 Authentication: Secure API access using JWT tokens or OAuth2 protocol for
user authentication and authorization.
● Two-Factor Authentication: Optional feature for increased security.

2. Account Management

● Account Types: Support for checking, savings, and loan accounts.


● CRUD Operations: Allow creation, viewing, updating, and deletion of accounts.
● Account Details: Display balance, account history, and customer details.
● Multi-Currency Support: Optionally add support for different currencies if needed.

3. Transactions and Fund Transfers

● Deposit and Withdrawals: Enable deposits, withdrawals, and transfers between


accounts.
● Fund Transfers: Allow internal and external fund transfers (between different banks).
● Transaction Limits and Fees: Set daily transaction limits and apply fees for certain types
of accounts.
● Transaction History: Store and retrieve transaction history for each account.

4. Loan Management

● Loan Application: Enable customers to apply for loans (with fields for loan type, amount,
etc.).
● Loan Approval Workflow: Admins or managers review and approve/reject loan
applications.
● Repayment Schedules: Calculate and display loan repayment schedules, including
interest.
● Penalty Calculation: Add functionality to handle penalties for overdue repayments.

5. Interest Calculation and Savings Plans

● Interest Calculation Engine: Calculate monthly or yearly interest based on account types.
● Savings Plans: Offer fixed deposit or recurring deposit plans with interest calculations.
● Automated Interest Credit: Monthly crediting of interest to accounts with a scheduler.

6. Reporting and Statements

● Monthly Statements: Generate monthly account statements with all transactions.


● Detailed Reports: Include reports on account summaries, loan balances, and transaction
history.
● PDF & Excel Export: Allow users to download their statements as PDF & Excel files.

7. Admin Dashboard

● User and Account Management: Enable admins to manage user accounts, reset
passwords, and control account status.
● System Monitoring: Track overall transactions, total deposits, loans, and other critical
data.
● Audit Logs: Log critical actions like large fund transfers, admin actions, and account
changes.

8. Notifications and Alerts

● Email/SMS Alerts: Notify customers on significant transactions, low balance warnings,


and due dates for loans.
● Real-Time Notifications: Implement real-time notifications for users, using SignalR or
similar technologies to deliver instant updates (e.g., account activity, transaction status,
security alerts).

9. Security and Compliance

● Encryption: Encrypt sensitive data, like account numbers and passwords.


● Compliance: Ensure the application follows compliance standards like PCI-DSS.
● Audit Trail: Track important actions for security audits.

10. Data Backup and Recovery


● Automated Backups: Schedule periodic data backups.
● Data Restore: Provide admins the ability to restore data from backups.

Technical Stack

● Backend: ASP.NET Core Web API with Entity Framework Core for ORM.
● Database: SQL Server or PostgreSQL.
● Frontend: Blazor(webassembly) or a frontend framework like React or Angular if you want
a web interface.
● Authentication: Identity Server or custom JWT-based or Oauth2 authentication.
● Notifications: Twilio API for SMS or SendGrid for emails.
● Reporting: Use tools that you are comfortable

Additional Enhancements

● Currency Exchange API: For transactions involving multiple currencies.


● Microservices Architecture: Break down the application into microservices (e.g., Account,
Transaction, Loan, Notification services).
● Unit Testing: Write unit tests to ensure the core functionalities are working correctly.

Additional Enhancements

● Currency Exchange API: For transactions involving multiple currencies.


● Microservices Architecture: Break down the application into microservices (e.g., Account,
Transaction, Loan, Notification services).
● Unit Testing: Write unit tests to ensure the core functionalities are working correctly.

How to submit?

Please upload your complete and tested code to your GitHub account and share the public
link via the following email addresses: [email protected], [email protected],
[email protected].

Your GitHub repository must include a README file that provides instructions on how to
access and use the different features of your application.

You might also like