Commit Graph

33 Commits

Author SHA1 Message Date
steve 20dd611b70 ci: add Docker build GitHub Actions workflow
Added Docker secrets so hopefully it will run now.
2025-04-02 18:16:53 -06:00
Steve Dogiakos ada25eba70 fix: remove duplicate email field introduced in previous commit 2025-04-02 15:48:56 -06:00
Steve Dogiakos f34c163a76 Add API to app.py so I can use n8n to export the entries.
Added opt-out newsletter checkbox and the appropriate places to insert it to the db.
2025-04-02 15:31:33 -06:00
Steve Dogiakos cfcd301eb0 ci: remove Docker Hub push workflow 2025-04-02 09:44:59 -06:00
Steve Dogiakos 86529e0728 Rename production.Dockerfile to development.Dockerfile.
It was a late night, ok? Updated README.md to include removal of DB from repo.
2025-04-02 09:29:25 -06:00
steve dba4c21a5e ci: add Docker image build workflow 2025-04-02 08:38:24 -06:00
steve 1cb9dae204 chore: remove committed database file
Remove guestbook.db from repository

- Deleted guestbook.db, a binary SQLite database file, from the repo.
- Added guestbook.db to .gitignore to prevent storing environment-specific binaries.
- This change enhances security and keeps the repository clean by not tracking generated files.
1.0.0
2025-04-02 08:05:08 -06:00
Steve Dogiakos f528ef6f38 docs: add screenshot to README and update .gitignore 2025-04-02 08:02:47 -06:00
Steve Dogiakos c8c9d5ecd6 fix: update guestbook_export.py export logic 2025-04-01 22:17:18 -06:00
Steve Dogiakos d126d18fe9 chore: add Python-focused .gitignore 2025-04-01 22:12:24 -06:00
Steve Dogiakos 5f5dd41586 docs: update project structure section in README 2025-04-01 22:09:54 -06:00
Steve Dogiakos fdc4d098cc docs: revise README to reflect current project state 2025-04-01 22:04:35 -06:00
Steve Dogiakos 75e69d5144 chore: lint and update docker-compose.yml
- Fixed port variable interpolation to use ${PORT:-8000} for a default value.
- Updated volume configuration to use a named volume (guestbook_data) mounted at /data.
- Improved YAML formatting for clarity.
2025-04-01 21:53:25 -06:00
Steve Dogiakos 81bf13001a feat: add logo to page header 2025-04-01 21:00:24 -06:00
Steve Dogiakos 2cfe3f59fe chore(deps): bump Werkzeug to 3.0.6 2025-04-01 19:56:39 -06:00
steve 5b5b80a5ef chore(deps): merge Dependabot Flask 2.2.5 bump
Bump flask from 2.1.1 to 2.2.5
2025-04-01 19:53:33 -06:00
dependabot[bot] e5cf293adc chore(deps): bump Flask from 2.1.1 to 2.2.5
Bumps [flask](https://github.com/pallets/flask) from 2.1.1 to 2.2.5.
- [Release notes](https://github.com/pallets/flask/releases)
- [Changelog](https://github.com/pallets/flask/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/flask/compare/2.1.1...2.2.5)

---
updated-dependencies:
- dependency-name: flask
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-02 01:46:15 +00:00
Steve Dogiakos 6b26e22709 feat: reveal comment field dynamically after required fields are filled
- Hide comment field by default.
- Add JavaScript to reveal comment field when first name, last name, and location have at least 3 characters.
- Update form instructions to inform users about the comment field.
2025-04-01 19:19:28 -06:00
Steve Dogiakos 62a3bdd222 feat: add MailChimp export script 2025-04-01 18:48:04 -06:00
Steve Dogiakos cb9fdc6b79 feat: make email optional and add form instructions
- Display brief instructions above the guestbook form.
- Update validation: require first name, last name, and location; make email optional.
- Remove the 'required' attribute from the email input field.
- Provide context in the UI so users understand why email is optional.
2025-04-01 18:38:39 -06:00
Steve Dogiakos f676e4d6ad feat: add scrolling marquee to display recent guests
- Update index.html to include a fixed, horizontally scrolling marquee at the bottom.
- Use CSS keyframes to animate guest entries, showing first name and location.
- Enhance user interface by providing a dynamic display of entries.
2025-04-01 18:33:06 -06:00
Steve Dogiakos 1175fe2236 feat: add basic application logging
- Configure Python logging at INFO level.
- Log key events: database initialization, incoming requests, validation errors, and successful guest submissions.
- Log the number of guest entries displayed when rendering the page.

This improves observability and helps with troubleshooting.
2025-04-01 18:06:10 -06:00
Steve Dogiakos 3b28b22627 feat: add server-side input validation
- Validate that first_name, last_name, email, and location are provided
- Add regex-based email format validation in app.py
- Display error messages on the guestbook form if validation fails

These changes help ensure that only properly formatted data is stored.
2025-04-01 18:01:58 -06:00
Steve Dogiakos 03d83606b7 feat: split name into first/last and simplify form fields 2025-04-01 17:40:08 -06:00
steve 79a28cfd8e chore: merge html-form branch 2025-04-01 17:28:27 -06:00
Steve Dogiakos bd86069d22 fix: pin Flask version in requirements.txt 2025-04-01 17:28:09 -06:00
steve 1e191e9bcb docs: update README for Flask branch 2025-04-01 17:19:43 -06:00
steve 4f48124bbf feat!: migrate from Node.js to Flask with SQLite 2025-04-01 16:55:34 -06:00
steve 6fbdd09087 fix: add express dependency to resolve missing module 2025-01-27 16:06:00 -07:00
steve 745c2940e3 docs: fix README formatting 2025-01-27 13:58:30 -07:00
steve 19dfb7cdfb chore: add public static folder 2025-01-27 13:47:35 -07:00
steve d7a45a2452 feat: add Node.js guestbook skeleton 2025-01-27 13:25:14 -07:00
steve c88c9681f4 chore: initial commit 2025-01-27 13:12:16 -07:00