This C# console application simulates basic bank/atm functionalities. Users can log in to their accounts, view account details, create new accounts, withdraw, deposit, and transfer money between accounts. Accounts supports six different currencies with automatic conversion between accounts when transfering money. Additionally, there is an admin menu for managing users in the app.
- User authentication
- Account management (view, create, remove)
- Money transactions (withdraw, deposit, transfer, currency convertion)
- Menu navigation with keyboard arrows
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Make sure you have the following installed:
- .NET SDK (version .NET 6)
- Microsoft SQL Server (version 15.0.4153.1)
- Entity Framework Core:
- EntityFrameworkCore (version 6.0.24)
- EntityFrameworkCore.SqlServer (version 6.0.24)
- EntityFrameworkCore.Tools (version 6.0.24)
Note
The project was developed using Visual Studio, but you can use your preferred IDE. Similarly, you can use your own SQL Server instance, ensuring compatibility with Entity Framework Core.
A step by step series of examples that tell you how to get the app upp and running.
- Clone the repository (either with git bash or using the repository link).
git clone https://github.com/adrozs/the_bank.git
- Navigate to the project directory (if using git bash)
cd The_Bank
- Build the project (if using git bash)
dotnet build
Ensure that you have A SQL Server instance running. Then update the database connection string located in DbContext inside the Data folder.
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer("your-connection-string");
}
An example of the connection string format you can use:
"Data Source=(localdb)\\.;Initial Catalog=Bank;Integrated Security=True;Pooling=False"
When connected to your database run the Update-Database command in the NuGet Package Manager Console to populate the database with the correct tables and columns.
Update-Database
The code is organized into the following main components:
- Models: Contains the data models for the application.
- Consists of the 3 tables User, Account & Admin in the database.
- Data: Handles database interactions using Entity Framework.
- Utilities: Contains all classes that help the main program with menues, logic and calculations.
- Program.cs: Entry point of the application and consists of the base of the program that calls all other methods
- C# - Programming language
- MS SQL - Database
- Entity Framework - ORM
- Adrian Rozsahegyi - Adrozs
- Fady Hatta - Manhattaa
- Malin Nyberg - MalinNyberg
- Fredrich Benedetti - Shakejelly
- Amanda Olving - Skokartong