Conclave is an old school forum programmed in Ruby on Rails with basic functionality. This repo is meant to be a jumping off point for anyone who wants to create a forum that harkens back to the days of dial-up modems and ecto coolers.
A demo of this app can be found here
This forum uses Google Oauth 2 for the session's authentication and access.
To get Google Oauth access visit console.cloud.google.com and follow the steps below:
- Select "APIs & Services" from the menu on the left and select "Credentials"
- Click "Create Project"
- Select "Oauth client ID
- If you have not created a project before with Googgle Cloud Platform you will need to complete the "Configure Consent Screen" form (it's a few pages but fairly self explanitory) For more help on that visit here
- You will be now promted with the application type. Select "Web Application." (If you had to do step 4, you may need to go back to step 3 before continuing)
- Give the web client a name of your choice and then click "ADD URI" at the bottom of the screen. For development, you will want to put your server domain (i.e.
http://localhost:3000/
). You are able to add as many URIs as you need (like when the app is deployed to production, i.e. heroku). Append each domain withauth/google_oauth_2/callback
. Then click the blue "CREATE" button at the bottom of the form. - If done correctly you will recieve your Oauth client info (Client ID & Client Secret). DO NOT GIVE OUT YOUR CREDENTIALS
- In the terminal of your editor type
rails credentials:edit
to access where you're going to put the google oauth client info. After it is placed use the key combination to "Write Out" then press [enter]google_oauth2: client_id: [YOUR CLIENT ID] client_secret: [YOUR CLIENT SECRET]
When you first setup this envornment, create your database and run up your dev server. Login so the first User is you. Then run rails admin:set [login of the first User]
to make yourself an admin and thus you can start creating Cateories. Note that this command will only work as long as there is no other admin. Subsequent admins can be set to an admin role via the "User Roles" button in the header.
Conclave uses Tailwind CSS for the styling.
Conclave uses CanCanCan for authorization.
This old school forums is pretty bare bones with the intention to add more functionality on your own. Features included are:
- pin/unpin a Discussion
- lock/unlock a Discussion
- ban/unban a User
If you'd like to contribute to this repo please make a fork, test your new functionality or what you'd like to add/take away/change, and PR the main repo.