Skip to content

tototempo/bank-app

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Classroom Manager

Simple bank app developed with Java and PostgreSQL.

Table of Contents

  1. About
  2. Project Goal and Implementation
  3. Key Learnings
  4. Installation
  5. Credits

About

This project was coursework for the "Object Oriented Programming (OOP)" course at Universidad Siglo 21, it was developed in september 2022 and it's aim was demonstrating our understanding in basic OOP concepts in Java, including the four pillars of OOP:

  • Abstraction
  • Encapsulation
  • Inheritance
  • Polymorphism

Project Goal and Implementation

The objective of this project was to imagine a problematic situation ourselves where we can implement a software solution to it using basic OOP concepts.

The problem we imagined was an old bank carrying out a digital transformation of its customer interaction processes, where the minimum viable product (MVP) should allow the user to

  • Create it's personal account.
  • Create different bank accounts for different purposes (investments, saving, etc).
  • Realize transactions to other users using their bank account number generated by the system.
  • Check it's transaction history.

And the system should be able to:

  • Persist all this data in a relational database, for this project we chose PostgreSQL as our DBMS.
  • Deny transactions where the origin's currency is different from the destiny's currency.
  • Log into an admin account (user: root | password: password) where you can see all the accounts that have been created and the cumulative balance of all user's accounts.

For further understanding on how the program works, along with a step by step guide make a transaction, you can download the PDF document.

Key Learnings

  • Understanded OOP concepts and how to apply them in a real project.
  • Acquired the ability to analyze a problematic situation and translate it into practical software solutions.
  • Learned what is a relational database and how to implement it using a DBMS.
  • Gained hands-on experience in version Control using Git.
  • Obtained problem-solving skills through iterative development cycles and feedback loops.

Installation

  1. Download this project as zip and extract it.
  2. Import it in your preferred IDE.
  3. Migrate the database file either in plain format (.sql) or .tar into your PostgreSQL manager. We've used pgAdmin 4.
  4. Verify you have already installed org.postgresql.Driver and it's been added to project external libraries. In case you don't have it, download it from the official page.
  5. Connect your database by modifying the following lines in src/Bank/DbConnect/DbConnect.java
    private static final String DB_USER = "yourDbUser";
    private static final String DB_PASS = "yourDbPass";     
    private static final String DB_URL = "yourLocalDbURL";
  6. Run the program.

Credits

Authors: