This is a template for developers to use as a starting point for their own RSVP websites. Packaged functionality includes:
- Displaying mobile friendly event details
- Creating / Editing / Deleting invitations
- Creating / Editing / Deleting guest RSVPs
If you already know React, Redux and Golang, you'll find it pretty simple to extend the template!
This is a sample of how details are displayed on the landing page, using dummy values and images from my own event.
The login page protects the control panel section from unauthorized access.
The control panel is to go to page for managing categories, invitations and RSVPs.
- Install NodeJS for npm (built with v8.1.2)
- Install Golang (built with 1.8)
- Install Postgres (built with 9.6.2)
- Create an empty DB called
rsvp_starter_developmente.gcreatedb rsvp_starter_development
- Create an empty DB called
The project consists of 2 main parts bundled into one, the client and the server. The front end is built using React+Redux and requires us to bundle the CSS and JS/JSX files for the backend to serve.
- Make sure you've installed all the requirements above.
- Clone this repository into your local workstation.
cdinto the root directory of the repository and runnpm install- Run
node_modules/.bin/webpack --progress --colorsto watch JS and CSS files in theclientfolder. You should see similar output:
➜ rsvp-starter git:(master) ✗ node_modules/.bin/webpack --progress --colors
Hash: b3ca840d2868a20ef74d
Version: webpack 1.15.0
Time: 8136ms
Asset Size Chunks Chunk Names
bundle.js 2.69 MB 0 [emitted] bundle
bundle.css 7.61 kB 0 [emitted] bundle
+ 950 hidden modules
Child extract-text-webpack-plugin:
+ 2 hidden modules
Child extract-text-webpack-plugin:
+ 2 hidden modules
Child extract-text-webpack-plugin:
+ 2 hidden modules
Child extract-text-webpack-plugin:
+ 2 hidden modules
The steps above bundle the CS and JS/JSX files into the server/static/build folder. It also automatically rebuilds them each time we save some changes.
We are now ready to start the backend server!
- In a separate terminal tab,
cdto the root directory of the repository andcdinto theserverfolder. - Run
go get bitbucket.org/liamstask/goose/cmd/gooseandgoose upto run the DB migrations on your newly created DB. - Run
POSTGRES_URL=postgres://postgres@localhost:5432/rsvp_starter_development?sslmode=disable HMAC_SECRET="some_secret" TOKEN_ISSUER="some_issuer" gin --appPort 6001. You should see the following output:
[gin] listening on port 3000
This uses the gin code utility to watch our backend Go files and reloads the server if we save changes.
If you visit http://localhost:3000, you should see the default landing page.


