Simple contact form to RSVP to a wedding. Written in Rust and powered by Rocket.rs.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Dennis Potter 4bf30d1fca
Trimming emailaddress from user
3 years ago
images Added screenshots and ToC to README 3 years ago
src Trimming emailaddress from user 3 years ago
templates Changed the form colors so that they are displayed the same in Webkit/Firefox 3 years ago
.gitignore First commit of wedding-rsvp-rs 3 years ago
Cargo.toml First commit of wedding-rsvp-rs 3 years ago
LICENSE Added year & name to LICENSE and removed a line in the README 3 years ago
README.md Added new features to README. 3 years ago
Rocket.toml First commit of wedding-rsvp-rs 3 years ago
config.hjson.example Better error-handling, emails for not-attending, language strings for JS errors 3 years ago

README.md

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.
  • Separete emails for accepting/rejecting the invitation: Guests who will attend will get a different e-mail from guests that will not attend.
  • Proper error handling for emails: If an email cannot be sent, the website will always try to catch this error and inform the organizer of the wedding about the error and the reason of the error. He/she can act accordingly and manually contact the guest. The guest will get a nice landing page with information on how to contact the organizer.
  • 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.