8e28ee1463b7fdd42e4065e1ee577d482cc8dcd0
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 stringswedding_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/assets/images
— the imagesjumbo.jpg
is the title image at the top of the home pagersvp.jpg
is the title image at the top of the RSVP pages
Default photo credits
Description
Languages
Ruby
68.1%
HTML
25.6%
SCSS
4.2%
JavaScript
1.6%
Dockerfile
0.5%