Conference app is an app for (yes) conferences. The scope of this app is audiences and the interaction between them and organizers.
It's built with Ruby on Rails.
- Talk list
- Announcements
- Profile
- Push notification
- Anonymous Q&A for each talk
- Forum for each talk and the whole event
The app is built with Ruby on Rails 8. It uses importmap-rails, turbo-rails, stimulus-rails and tailwindcss-rails for front end development.
Visit http://localhost:3000/login and you can login with the seed users. Note that this page is not linked from anywhere so you have to enter the URL manually.
See .env.sample for required/optional environment variables.
Current implementation requires GitHub App when you create a user.
https://github.com/settings/apps/new
- Callback URL:
http://localhost:3000/auth/github/callback - Webhook: inactive
- Permissions: Allow read-only access for "Organization permissions" -> "Members"
Then, fill these environment variables.
- App ID ->
GITHUB_APP_ID - Client ID ->
GITHUB_KEY - Client secret ->
GITHUB_SECRET - Private key (encoded) ->
GITHUB_PRIVATE_KEY(See.env.sample)
$ bin/rails db:seedAfter that, you can see event talks and speakers for 2023 and beyond.
$ cp .env.sample .envGenerate required environment variables
$ docker compose exec -it conference-app rails c
$ vapid_key = WebPush.generate_key
$ vapid_key.public_key
#=> "YOUR_PUBLIC_KEY"
$ vapid_key.private_key
#=> "YOUR_PRIVATE_KEY"Copy to .env
VAPID_PUBLIC_KEY=YOUR_PUBLIC_KEY
VAPID_PRIVATE_KEY=YOUR_PRIVATE_KEYAnd then execute below
$ docker compose up
$ docker compose exec conference-app rails db:prepareThis app uses https://scoutapm.com/ for performance monitoring.