Welcome to the Web App DevOps Project repo! This application allows you to efficiently manage and track orders for a potential business. It provides an intuitive user interface for viewing existing orders and adding new ones.
- Order List: View a comprehensive list of orders including details like date UUID, user ID, card number, store code, product code, product quantity, order date, and shipping date.
- Pagination: Easily navigate through multiple pages of orders using the built-in pagination feature.
- Add New Order: Fill out a user-friendly form to add new orders to the system with necessary information.
- Data Validation: Ensure data accuracy and completeness with required fields, date restrictions, and card number validation.
For the application to successfully run, you need to install the following packages:
- flask (version 2.2.2)
- pyodbc (version 4.0.39)
- SQLAlchemy (version 2.0.21)
- werkzeug (version 2.2.3)
To run the application, you simply need to run the app.py script in this repository. Once the application starts you should be able to access it locally at http://127.0.0.1:5000. Here you will be meet with the following two pages:
-
Order List Page: Navigate to the "Order List" page to view all existing orders. Use the pagination controls to navigate between pages.
-
Add New Order Page: Click on the "Add New Order" tab to access the order form. Complete all required fields and ensure that your entries meet the specified criteria.
-
Backend: Flask is used to build the backend of the application, handling routing, data processing, and interactions with the database.
-
Frontend: The user interface is designed using HTML, CSS, and JavaScript to ensure a smooth and intuitive user experience.
-
Database: The application employs an Azure SQL Database as its database system to store order-related data.
- You have an Azure account or access to a subscription.
- You have defined a service principal with full access to the relevant subscription.
- kubectl is installed and working on a dev host, e.g. local computer.
The web app is packaged as a docker image, available in my personal public Docker Hub repo: asoundmove/aicore-devopsproject-webapp:latest.
Packaging can be done manually using Dockerfile and docker build -t aicore-devopsproject-webapp ..
See the pipeline section below for automation of this process.
- IaC, Infrastructure as Code (diagram, #1)
- WebApp: deployment, access, test and validation (diagram, #2)
- Azure Pipeline build and deployment (diagram, #4, 5, 6)
- Cluster monitoring (diagram, #7)
- Key Vault integration (diagram, #3)
- Maya Iuga, project base
- Alain Culos, CI/CD, AiCore course project
This project is licensed under the MIT License. For more details, refer to the LICENSE file.


