Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 31 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,40 @@
# CD/CI Sample Application
# Simple Attendance Form

## Description

This sample Python REST API application was written for a tutorial on implementing Continuous Integration and Delivery pipelines.
This is a simple attendance tracking system built using Docker Compose, Docker, Nginx, Sentry, PostgreSQL, Flask, and an HTML Form. The project also includes a CI/CD pipeline setup to streamline the build, test, and deployment process.

It demonstrates how to:

- Write a basic web application using the [Flask](http://flask.pocoo.org)
- Database operations using postgresql and object relation model using [SQLAlchemy](https://www.sqlalchemy.org)
## Topology
<img src="img/Topology.svg">

## Requirements
Features:

- **Frontend**: HTML form to submit attendance details.
- **Backend**: Flask application to handle form submissions and store data.
- **Database**: PostgreSQL to manage attendance records.
- **Error Monitoring**: Sentry integration for tracking and managing application errors.
- **Reverse Proxy**: Nginx to serve the Flask app.
- **CI/CD**: Build pipeline to automate testing and deployment.
- **Containerized**: Fully containerized using Docker and orchestrated with Docker Compose.

## CI/CD Workflows
Continuous Integration

<img src="img/CI.png">

Continuous Delivery and Continuous Deployment

<img src="img/CD.png">
<img src="img/CD1.png">
<img src="img/CD2.png">

## Sentry Monitoring
<img src="img/Sentry.png">

## Requirements
- `Docker`
- `Python 3.8`
- `Pip`
- `virtualenv`
- `Sentry`
- `Nginx`
- `Virtualenv`
Binary file added img/CD.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/CD1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/CD2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/CI.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/Sentry.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 10 additions & 0 deletions img/Topology.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading