rsvp.pizza
rsvp.pizza is a web application for collecting RSVP's to your pizza parties. Your friends can select the days they want to come and enter their email address to receive a Google Calendar invite to the party.
Installing
Before installing rsvp.pizza, you'll need to get OAuth2 credentials for the Google Calendar API and create a Fauna database.
How to get calendar credentials
- Start here to create an OAuth Desktop Application.
- Download the credential and save as
credentials.json
- Renew the token
go run cmd/renew_calendar_credentials.go
- Copy the printed URL to your web browser and complete the steps to log in with your Google account.
- Copy the code from the final URL that you're redirected to on localhost that does not exist.
Create the Fauna Database
- Create a free Fauna account and create your pizza database.
- Create the collections.
fridays
, a collection of documents that contain the dates of your pizza parties.
{
"date": Time("2023-04-07T21:30:00Z")
}
friends
, a collection of documents that contain your friends' contact information.
{
"name": "Ted Lasso",
"email": "believe@tedlasso.com"
}
- Create an
all_emails
index that allows the friends collection to be search by email. Create an all_fridays
index that returns all the dates in the fridays collection. Create all_fridays_range
index that returns all the dates and refs in the fridays collection.
- Create and download a database access key for your database.
Install the package
- Download the latest version
wget https://github.com/mpoegel/rsvp.pizza/releases/download/v0.1.0/rsvp.pizza_Linux_x86_64.tar.gz
- Create a pizza user.
sudo adduser pizza
- Unpack
sudo tar xzfv rsvp.pizza_Linux_x86_64.tar.gz -C /
- Adjust the environment variables and config file.
cp /etc/pizza/.env /etc/pizza/.env.prod
cp /etc/pizza/pizza.yaml /etc/pizza/pizza.prod.yaml
sudo vim /etc/pizza/.env.prod
sudo vim /etc/pizza/pizza.prod.yaml
- Adjust the nginx config.
cp /etc/pizza/nginx.conf /etc/nginx/sites-available/pizza.conf
sudo vim /etc/nginx/sites-available/pizza.conf
sudo ln -s /etc/nginx/sites-available/pizza.conf /etc/nginx/sites-enabled/pizza.conf
sudo systemctl reload nginx
- Start the pizza service.
sudo systemctl start pizza.service