2018-10-27 17:37:39 +01:00
2018-10-27 17:14:56 +01:00
2018-10-27 16:46:26 +01:00
2018-10-27 16:46:26 +01:00
2018-10-27 16:46:26 +01:00
2018-10-27 16:46:26 +01:00
2018-10-27 16:46:26 +01:00
2018-10-27 16:46:26 +01:00
2018-10-27 16:46:26 +01:00
2018-10-27 16:46:26 +01:00
2018-10-27 16:46:26 +01:00
2018-10-27 16:46:26 +01:00
2018-10-27 16:46:26 +01:00
2018-10-27 16:46:26 +01:00
2018-10-27 16:46:26 +01:00
2018-10-27 16:46:26 +01:00
2018-10-27 16:46:26 +01:00
2018-10-27 16:46:26 +01:00
2018-10-27 16:46:26 +01:00
2018-10-27 16:46:26 +01:00
2018-10-27 16:46:26 +01:00
2018-10-27 16:46:26 +01:00
2018-10-27 17:14:36 +01:00

Rails App for Weddings and Events

This is a simple rails app for managing the guest list for a wedding (or similar event). It's intended to be easy to customize.

Features

  • Guests can RSVP, including dietary requirements and plus ones
  • Guests can manage their own RSVPs using a secret link in an email (no user name / password needed)
  • Responsive design on home page and RSVP pages
  • Customizable styling and wording
  • Active Admin interface to manage the attendee list
  • Optional invisible reCAPTCHA integration to avoid spam
  • Sets headers to avoid being indexed by search engines

Development

Initial Setup

The simplest way to get started is to use Docker.

git clone https://github.com/jdleesmiller/wedding.git
cd wedding
cp development.env.template development.env
docker-compose build
docker-compose up -d db
docker-compose run --rm web bash -lc 'bin/rails db:create db:migrate'
docker-compose run --rm web bash -lc 'bin/rails db:seed'

Watch the output of db:seed for the default admin credentials:

Admin user email: admin@example.com
Admin user password: (random string)

Running the App

docker-compose up -d
docker-compose logs -f

By default, the app will run on http://localhost:3000

The admin interface is on http://localhost:3000/admin

To access the database:

docker-compose exec db psql wedding_development postgres

To get a shell:

docker-compose exec web bash

Once you have a shell in the container, you can run rails commands as normal.

bin/rails console
bin/rails test

Customization

You can of course customize everything, but here are some places to start:

Content

  • config/locales/en.yml — key strings

    wedding_name: "Jack & Jill's Wedding"
    wedding_couple_names: 'Jack & Jill'
    wedding_date: 'Saturday, 1 January 2000'
    wedding_location: 'South Pole'
    photo_credits: 'Photo Credits: Pexels'
    
  • app/views/application — the address on the home page and the addresses in the emails

  • app/views/welcome — the home page content

  • public/wedding.ics — the calendar invite

    • this is just a sample file; you probably want to generate one

Styling

  • app/assets/images — the images

    • jumbo.jpg is the title image at the top of the home page
    • rsvp.jpg is the title image at the top of the RSVP pages
  • app/assets/stylesheets/application.scss — theme colors and bootstrap customization

    $font-family-sans-serif: Montserrat, Helvetica, Arial, sans-serif;
    $font-family-serif: Arvo, Georgia, "Times New Roman", Times, serif;
    
    $font-family-base: $font-family-serif;
    $headings-font-family: $font-family-sans-serif;
    
    $body-color: rgba(28, 13, 10, 0.7);
    $headings-color: rgba(28, 13, 10, 0.7);
    
    $theme-colors: (
      "primary": #ff745c
    );
    
    $enable-rounded: false;
    

Default photo credits

Description
No description provided
Readme 13 MiB
Languages
Ruby 68.1%
HTML 25.6%
SCSS 4.2%
JavaScript 1.6%
Dockerfile 0.5%