{"id":28503981,"url":"https://github.com/ajitagupta/flask-guestbook","last_synced_at":"2026-05-18T06:02:43.140Z","repository":{"id":297646003,"uuid":"997462948","full_name":"ajitagupta/flask-guestbook","owner":"ajitagupta","description":"Multi-page app in Flask","archived":false,"fork":false,"pushed_at":"2025-06-08T08:29:56.000Z","size":16,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-09T00:27:51.636Z","etag":null,"topics":["flask","guestbook-app","multi-page-app","python","tutorial-series"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ajitagupta.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-06-06T15:10:01.000Z","updated_at":"2025-06-08T08:30:01.000Z","dependencies_parsed_at":"2025-06-06T16:25:30.577Z","dependency_job_id":"e9b74c99-6925-4eb5-9bcf-b1dcdac97dd4","html_url":"https://github.com/ajitagupta/flask-guestbook","commit_stats":null,"previous_names":["ajitagupta/flask-guestbook"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ajitagupta/flask-guestbook","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ajitagupta%2Fflask-guestbook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ajitagupta%2Fflask-guestbook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ajitagupta%2Fflask-guestbook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ajitagupta%2Fflask-guestbook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ajitagupta","download_url":"https://codeload.github.com/ajitagupta/flask-guestbook/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ajitagupta%2Fflask-guestbook/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33167430,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-18T05:43:36.989Z","status":"ssl_error","status_checked_at":"2026-05-18T05:43:19.133Z","response_time":71,"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","guestbook-app","multi-page-app","python","tutorial-series"],"created_at":"2025-06-08T17:37:47.145Z","updated_at":"2026-05-18T06:02:43.122Z","avatar_url":"https://github.com/ajitagupta.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📝 Flask Guestbook App\n\nA beginner-friendly Flask project that demonstrates:\n\n- Multi-page routing\n- Template inheritance with Jinja2\n- Form handling (GET \u0026 POST)\n- Basic CSS styling\n- In-memory data storage\n\nThis is Part 3 of a tutorial series on building web apps with Flask.\n\n---\n\n## 🚀 Demo\n\n- 🏠 **Home Page** – A welcome message\n- 📖 **Guestbook Page** – Users can leave their name and a message\n- 🎨 **Styled UI** – Uses `static/style.css` for basic formatting\n- 🔄 **Reset Route** – Clears all guestbook entries for testing\n\n---\n\n## 📁 Project Structure\n\u003cpre\u003e\u003ccode\u003eflask-guestbook/\n├── app.py # Main Flask application\n├── static/ # Static files (CSS, JS, images)\n│     └── style.css # Styling for form and layout\n└── templates/ # Jinja2 HTML templates\n│     └──  base.html # Shared base template\n│     └── home.html # Home page content\n│     └── guestbook.html # Guestbook form and entries \u003c/code\u003e\u003c/pre\u003e\n---\n\n## 💡 How It Works\n\n- Routes:\n  - `/` – Home\n  - `/guestbook` – View and submit entries\n  - `/reset` – (Bonus) Clears all messages\n\n- Templates:\n  - `base.html` provides the layout\n  - Other pages extend `base.html` using `{% extends %}`\n\n- Styling:\n  - Basic form and navigation styling in `style.css`\n\n---\n\n## 🛠️ Getting Started\n\n### 1. Install Dependencies\n\n```bash\npip install Flask\n```\n\n### 2. Run the App\n```bash\npython app.py\n```\n\n### 3. Open in Browser\n```bash\nGo to http://127.0.0.1:5000\n```\n\n## 📦 Features\n✅ Clean template structure\n\n✅ Dynamic routing with url_for\n\n✅ Form validation with required fields\n\n✅ Auto-redirect on submission to prevent resubmission\n\n✅ Reset functionality for demo/testing\n\n## 📚 Next Steps\nConnect to SQLite or another database\n\nAdd user sessions and flash messages\n\nDeploy to Heroku or Render\n\n## 📄 License\nMIT – Free to use, modify, and distribute.\n\n## 🙋‍♀️ Author\nMade with ❤️ by Ajita Gupta\n\u003cbr\u003e\nFollow the tutorial series on Medium\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fajitagupta%2Fflask-guestbook","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fajitagupta%2Fflask-guestbook","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fajitagupta%2Fflask-guestbook/lists"}