{"id":27624410,"url":"https://github.com/jackjazwinski/websitefrompython","last_synced_at":"2026-04-29T17:02:19.951Z","repository":{"id":288842172,"uuid":"969318417","full_name":"JackJazwinski/WebsiteFromPython","owner":"JackJazwinski","description":"A single‑file project that crams three mini‑apps into one Flask server to illustrate different parts of the framework, from basic auth flows to dynamic data queries and live record patching. This is all pure Python, no external services, no JavaScript.","archived":false,"fork":false,"pushed_at":"2025-04-19T21:59:21.000Z","size":10,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-23T11:43:00.635Z","etag":null,"topics":["flask","python","python3","web","webapp","website"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JackJazwinski.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-19T21:53:50.000Z","updated_at":"2025-04-19T22:13:30.000Z","dependencies_parsed_at":"2025-04-23T11:39:47.873Z","dependency_job_id":null,"html_url":"https://github.com/JackJazwinski/WebsiteFromPython","commit_stats":null,"previous_names":["jackjazwinski/websitefrompython"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/JackJazwinski/WebsiteFromPython","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JackJazwinski%2FWebsiteFromPython","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JackJazwinski%2FWebsiteFromPython/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JackJazwinski%2FWebsiteFromPython/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JackJazwinski%2FWebsiteFromPython/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JackJazwinski","download_url":"https://codeload.github.com/JackJazwinski/WebsiteFromPython/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JackJazwinski%2FWebsiteFromPython/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32435122,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T13:34:34.882Z","status":"ssl_error","status_checked_at":"2026-04-29T13:34:29.830Z","response_time":110,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["flask","python","python3","web","webapp","website"],"created_at":"2025-04-23T11:39:45.447Z","updated_at":"2026-04-29T17:02:19.946Z","avatar_url":"https://github.com/JackJazwinski.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🐍 Flask 3-in-1 Demo\n\nA single‑file Flask project that bundles three tiny apps behind one server: a password‑guessing game, a product data lookup, and a live user patcher. The goal is to showcase core Flask patterns—routing, form handling, redirects, and in‑memory data manipulation—using only Python.\n\n## ✨ Features\n\n- **Zero dependencies** beyond Flask itself\n- **Three independent flows** exposed from the same app\n  - **Password Game** – basic auth logic with redirects\n  - **Data Request** – query‑string parsing \u0026 dynamic rendering\n  - **User Patcher** – add or update records then render a live table\n- **Inline HTML/CSS** so you don’t need Jinja templates while learning\n- **Hot‑reload ready** via `flask run` or `python app.py`\n\n## 🏃‍♂️ Quick start\n\n```bash\n# clone \u0026 enter\n$ git clone https://github.com/your‑handle/flask‑3‑in‑1.git\n$ cd flask‑3‑in‑1\n\n# (optional) create a venv\n$ python -m venv .venv \u0026\u0026 source .venv/bin/activate\n\n# install Flask\n$ pip install Flask\n\n# run the dev server\n$ python app.py  # -\u003e http://127.0.0.1:5000\n```\n\nSet `FLASK_DEBUG=0` or use `app.run(debug=False)` before deploying.\n\n## 🗺️ Route map\n\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | `/` | Home page with links to each demo |\n| GET | `/passwordGame` | Password input form |\n| POST | `/login` | Auth handler → redirects |\n| GET | `/logout` | Success page |\n| GET | `/error` | Error page |\n| GET | `/dataRequest` | Search form for product data |\n| GET | `/productDetails` | Result rendering based on query string |\n| GET/POST | `/patcher` | Add or patch users \u0026 view table |\n\n## 🗂 Project Layout\n\n```\nflask‑3‑in‑1/\n└── app.py          # all routes \u0026 logic in one file\n```\n\nFeel free to split templates and static files into folders once you outgrow the inline approach.\n\n## 🚀 Extending it\n\n- Swap the in‑memory lists/dicts with a real database (SQLAlchemy, TinyDB, etc.)\n- Replace inline HTML with Jinja templates for cleaner markup reuse\n- Add Flask‑Login if you need persistent user sessions beyond the simple password check\n\n## 🙌 Contributing\n\nPull requests and issues are welcome! If you find a typo or have an idea for a fourth mini‑app, open an issue first so we can discuss.\n\n---\n\n*Originally built as a mid‑term assignment; published so the next learner can hit the ground running.*\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjackjazwinski%2Fwebsitefrompython","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjackjazwinski%2Fwebsitefrompython","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjackjazwinski%2Fwebsitefrompython/lists"}