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, and
routes.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 in
test_routes.py, and unit tests for data models in
- 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 like
- Defined infrastructure-as-code configurations in the
app-service.bicepfile for deploying the application.
- Ensured the functionality of the backend API with a series of tests located in the
- 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 the
- 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.