Commit Graph

6 Commits

Author SHA1 Message Date
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 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 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 4f48124bbf feat!: migrate from Node.js to Flask with SQLite 2025-04-01 16:55:34 -06:00