Skip to content
Merged
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: 38 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,19 @@ This is a simple **Flask CRUD (Create, Read, Update, Delete) application** that

It has been modified by us for the purposes of the course. The original repo can be found [here](https://github.com/iamsamimsarkar/flask-crud-sqlite)

## Technologies

| Technology | How we use it |
| --- | --- |
| Flask application | Provides the web app's CRUD interface for adding, viewing, editing, and deleting user records. |
| SQLite3 | Stores the application's user records in a lightweight database. |
| Pytest | Runs the automated tests for the application. |
| Ruff | Lints the Python code to catch style and common code issues. |
| Docker | Packages the application and its dependencies into an image that can be run locally or deployed. |
| GitHub Actions | Automates code-quality checks, tests, Docker image builds, and deployment workflows. |
| Terraform | Defines and manages the Google Cloud resources used by the application as code. |
| Google Cloud Run | Hosts the deployed containerized application. |

## Local installation instructions

1. **Clone the Repository**
Expand All @@ -27,8 +40,32 @@ It has been modified by us for the purposes of the course. The original repo can
5. **Open in Browser**
Open `http://127.0.0.1:5000/` in your browser.

## If you'd rather run it with Docker

From the repository root, build a local image:

```bash
docker build -t flask-crud-app .
```

Start a container from that image:

```bash
docker run --rm -p 8000:8000 -v app_data:/app/instance flask-crud-app
```

Open `http://localhost:8000/` in your browser. Press `Ctrl+C` to stop the container. The named `app_data` volume keeps the SQLite database when the container is removed.

Alternatively, use Docker Compose to build and start the application:

```bash
docker compose up --build
```

Then open `http://localhost:8000/`. Stop the application with `Ctrl+C`; run `docker compose down` to remove the container while keeping the database volume.

## Information for teaching staff

The report for our project can be found here in the root folder of the repo as "Report.pdf".
The report for our project can be found here in the root folder of the repo as "Report.pdf". It contains a more detailed description of our architecture, how the various components interact, discussion of our design decisions, limitations and trade-offs as well as the required note on how we used AI in this project.

The webpage hosting our deployed version of the application can be found [here](https://devops-app-2ldrlwtrxq-lz.a.run.app/)
Loading