Simple contact form to RSVP to a wedding. Written in Rust and powered by Rocket.rs.
Go to file
Dennis Potter ac77c9064a
Better error-handling, emails for not-attending, language strings for JS errors
This commit contains the following changes:
* Better error handling: Previously, there was no proper handling in
  of email-related errors. Now, all error messages are caught and the
  user gets a nice landing page. The script will always try to contact
  the organizers of the wedding with information on the error.
* Emails for not-attending: This commit adds the possibility to send
  seperate emails to guests that attend and guests that cannot attend.
* Language strings for JavaScript errors: Previously, all JS errors were
  in Dutch. Now, they are configurable.
2019-09-04 01:27:43 +02:00
images Added screenshots and ToC to README 2019-08-31 14:06:45 +02:00
src Better error-handling, emails for not-attending, language strings for JS errors 2019-09-04 01:27:43 +02:00
templates Better error-handling, emails for not-attending, language strings for JS errors 2019-09-04 01:27:43 +02:00
.gitignore First commit of wedding-rsvp-rs 2019-08-31 13:29:30 +02:00
Cargo.toml First commit of wedding-rsvp-rs 2019-08-31 13:29:30 +02:00
config.hjson.example Better error-handling, emails for not-attending, language strings for JS errors 2019-09-04 01:27:43 +02:00
LICENSE Added year & name to LICENSE and removed a line in the README 2019-08-31 14:45:17 +02:00
README.md Added year & name to LICENSE and removed a line in the README 2019-08-31 14:45:17 +02:00
Rocket.toml First commit of wedding-rsvp-rs 2019-08-31 13:29:30 +02:00

wedding-rsvp-rs

This Rust and Rocket.rs based, fully responsive website is a simple contact form to RSVP to a wedding. It was meant to be simple to use, since a lot of non-tech-savvy people will usually attend a wedding as well ;-). Therefore, it is completely (HTML) email based and does not include any CAPTCHA.

Content

Features

  • KISS: Not too many features and fields, no databases, no CAPTCHA.
  • Completely (HTML) email based: The guest will receive a confirmation with additional information on top of the invite he got. Attached to this email, an ICS file enables the user to directly add the wedding into his calendar.
  • Configurable, multi-language strings: All language strings can be defined in config.hjson. Since this website assumes that a different FQDN is used for every language, the mapping between TLDs and languages must be configured in config.hjson as well.
  • IP based spam protection: As mentioned before, this website does not include CAPTCHA to ease usability. There is, however, a small protection so that one IP can only send an email every X seconds. Here, X can be configured in config.hjson.

Installation

  1. git clone https://git.dennispotter.eu/Dennis/wedding-rsvp-rs.git
  2. cd wedding-rsvp-rs
  3. cp config.hjson.example config.hjson
  4. Add your SMTP credentials to config.hjson adapt the language strings to your liking
  5. cargo run

Screenshots

Screenshot of homepage

Screenshot of homepage

Screenshot of thanks page

Screenshot of thanks page

Screenshot of spam protection page

Screenshot of spam protection

License

wedding-rsvp-rs is released under the MIT license. The HTML template is derived from Contact Form v1, which is released under the CC BY 3.0 license.