Full Stack Banking System with CI/CD
Developed a comprehensive application, «Bank System», designed to simulate a banking environment, encompassing a backend API, a frontend interface, and associated infrastructure configurations. Here’s a detailed breakdown of the tasks involved:
Backend API Development
- Engineered the backend using Python, serving as the API responsible for handling and processing all the business logic related to banking operations.
- Structured the backend with essential files like
__init__.pyfor initializing the Python package,models.pyfor defining data models, androutes.pyfor containing route definitions and associated handlers. - Ensured robust functionality by incorporating a suite of tests, including configurations in
conftest.py, functional tests for route handlers intest_routes.py, and unit tests for data models intest_model.py
Frontend Development
- Developed the frontend using Vue.js, providing a user interface for interacting with the bank system.
- Established the structure with
App.vueas the main component,main.jsfor initializing the application,index.jsfor defining routes, and various Vue components likeAppAccounts.vue,HomePage.vue, andSkull.vue.




Infrastructure Management
- Defined infrastructure-as-code configurations in the
app-service.bicepfile for deploying the application.
Testing
- Ensured the functionality of the backend API with a series of tests located in the
backend/testsdirectory.
Deployment
- Configured deployments to Azure, ensuring that only the production code is deployed when a new release in the
mainbranch is created, while all development code is deployed in thedevbranch. - Defined deployment configurations and workflows in the
.github/workflows/full-stack-bank.ymlfile, setting up a CI/CD pipeline for the application using GitHub Actions.
