finds.dev← search

// the find

LondheShubham153/two-tier-flask-app

★ 241 · HTML · updated Feb 2025

A small Flask app that stores user-submitted messages in MySQL and shows them on a page, packaged as a teaching setup for Docker Compose and then Kubernetes on EKS. It's aimed at people learning how a two-container app moves from a laptop to a cluster. Forks outnumber stars roughly fourteen to one, which tends to mean students copying it for a course rather than people maintaining it.

- The same app ships four ways: docker-compose, hand-run docker commands, plain k8s manifests, and EKS manifests with a Jenkinsfile. Watching one codebase move through all of them is the useful part.

- The non-compose instructions create a user-defined network so the containers resolve each other by name. That is the detail beginners usually miss, and the README spells it out.

- Single-stage and multistage Dockerfiles sit side by side, so the image size difference is easy to measure yourself.

- Credentials are hardcoded in the README: MYSQL_ROOT_PASSWORD=admin, with the app connecting as root. That is the wrong pattern to teach, and anyone who copies the manifests carries it into a cluster.

- The base image is mysql:5.7, which reached end of life in October 2023. It no longer gets security patches.

- The README has you paste SQL into phpMyAdmin to create the table. message.sql is in the tree, but nothing ties it to startup, so a fresh environment fails until someone runs it by hand.

- The /insert_sql route is a raw SQL write exposed over HTTP. The README warns about injection and then ships the endpoint anyway. The last push was February 2025, and I see no test directory in the tree.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →