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.
-
Cloud Hosting Due to potential demand for the application it was deemed best to build infrastruct to allow it to be cloud hosted and more accessable to users globally. The details for the cloud based implementation from the addition and subsequent reversion of the new columns, the creation of the the docker file for the image build, the provisioning of resources using Terraform IaC, the creation and deployment of the Kubernetes manifest, and build instructions for the Azure Pipeline to allow any changes merged intot he main branch to be depoyled right away can all be found within the technical design wiki in addition to montioring charts, log queires, alerts and security features.
For the application to succesfully 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.
-
Cloud Provider: The application will hosted on Azure cloud and make use of the Azure Kuberenetes Service (AKS)
This project is licensed under the MIT License. For more details, refer to the LICENSE file.