Welcome to the repository for the IE Bank Corp's bank account management system. This project was developed as a part of the 'Software Development and DevOps' class. It showcases the development and deployment of a bank account management system with new features and addresses the technical debt present in the initial version.
This README provides an overview of the project, its components, and setup instructions. For a detailed Software Requirements Specification (SRS), please refer to the GitHub Wiki.
The bank account management system consists of four main components:
- IE Bank Website (Frontend): Provides the user interface for bank account management.
- IE Bank API (Backend): Handles the business logic and interacts with the database.
- PostgreSQL Database: Stores bank account data.
- Infrastructure Code: Contains the configurations and scripts to set up and manage the cloud resources required for the application.
/accounts
(HTTP_GET) ->/accounts, GET
/accounts
(HTTP_GET) ->/accounts/[account_id], GET
/accounts
(HTTP_DELETE) ->/accounts/[account_id], PUT
/accounts, GET
->db_read
-> PostgreSQL/accounts, POST
->db_add
-> PostgreSQL/accounts/[account_id], GET
->db_read
-> PostgreSQL/accounts/[account_id], PUT
->db_update
-> PostgreSQL/accounts/[account_id], DELETE
->db_Delete
-> PostgreSQL
Ensure you have the following installed and set up:
- Git
- Node.js
- Python
- Flask
- SQLAlchemy
- SQLite
- Visual Studio Code
- GitHub
- Azure subscription
- Azure Service Principal
-
Clone the Repository:
git clone https://github.com/gabrieldeolaguibel/Banking-Software-Lifecycle.git
-
Navigate to the Project Directory:
cd Banking-Software-Lifecycle
-
Set Up the Backend:
- Navigate to the backend directory:
cd ie-bank-be
- Install the required Python packages:
pip install -r requirements.txt
- Run the Flask application:
flask run
- Navigate to the backend directory:
-
Set Up the Frontend:
- Navigate to the frontend directory:
cd ie-bank-fe
- Install the required Node packages:
npm install
- Start the frontend application:
npm start
- Navigate to the frontend directory:
-
Deploy the Infrastructure:
- Navigate to the infrastructure directory:
cd ie-bank-infra
- Deploy the infrastructure using the provided scripts.
- Navigate to the infrastructure directory:
-
Access the Application: Open a web browser and navigate to
http://localhost:8080
to access the IE Bank website.
- Homepage: A new homepage has been added to the web application.
- Country Field for Accounts: Users can now submit the account country when creating a new account.
- Unit and Functional Tests: Tests have been written for the backend API to ensure its functionality.
- GitHub Flow: A branch-based workflow strategy has been implemented.
- Azure Application Insights: Monitoring capabilities have been added to the application.
- UAT Environment: A User Acceptance Testing environment has been set up to test the application before production release.
- Gabriel De Olaguibel
This project is licensed under the MIT License.