Skip to content

call4paperz/call4paperz

Repository files navigation

call4paperz.com

call4paperz.com is a website for talk proposals, either to your own conference or lightning talks. Users can post talk proposals and they can be voted and commented by the users.

CircleCI Code Climate Test Coverage security Help Contribute to Open Source

Environment Configuration

You must set the following environment variables for the system to fully work:

S3_ACCESS_KEY
S3_SECRET_KEY
TWITTER_ACCESS
TWITTER_SECRET
FACEBOOK_ACCESS
FACEBOOK_KEY
GITHUB_CLIENT_ID
GITHUB_SECRET
SECRET_KEY
DEVISE_PEPPER
RECAPTCHA_SITE_KEY
RECAPTCHA_SECRET_KEY
GOOGLE_CLIENT_ID
GOOGLE_SECRET

Bootstrapping (and using Foreman to run all the things)

Your first time here? Just run:

$ bin/setup

It will guide you through the basic dependencies needed to run the application. You can run it, see if it yells at you, fix it... and run it again!

Repeat until all the stuff is in place.

Environment variables

Edit the file .env generated in the project's root dir and add your keys for twitter and facebook applications.

let's go!

Then start the server with the following command:

$ foreman start -f Procfile.development

Running with Docker

We strongly encourage Docker usage. With Docker, we can standardize the development environment, quickly rebuilding it whenever necessary without installing anything on the host machine.

A straight forward Dockerfile based on an official Ruby base image is provided. Also, the Docker Compose configurations provided, help considerably running the Docker commands.

You can have full control of the Docker Compose configs in your development environment, we provide a sample file, and just the environment variables are required.

$ cp docker-compose.override.yml.sample docker-compose.override.yml

Setup

After setting up the Docker Compose configuration, to set up the application, you need to run:

$ docker-compose run --rm web bin/setup

Running the application

Now that all setup steps are done, you only need to run the command below to get the application running:

$ docker-compose up

That's it! Just go to http://localhost:3000.

Accessing Recaptcha Variables

Access the https://www.google.com/recaptcha/intro/v3.html.

Click on the Admin Console button.

On the new page, click the + button and fill in the fields to generate a new site, choose v2 for the captcha type and in domains add 127.0.0.1 and localhost.

When you click save it will generate your keys.

Accessing Facebook Variables

Access the https://developers.facebook.com/apps/

Click on the Add new app button.

Fill in the name of the app and your contact email. Then click Create Application ID.

On your app page, click on my left side under Settings -> Basic.

In this page you need to configure two fields:

  • Application domain with localhost
  • In the site session the site URL field with http: // localhost: 3000, where 3000 is the port used to start the Rails application on your computer.
  • Feel free to fill in the other fields, but these two are the main ones.

Configuring the fields on the same page will find the application ID as the FACEBOOK_ACCESS variable and the application secret key as the FACEBOOK_KEY variable.

Accessing Github Variables

Access the https://github.com/settings/apps

Click on the New Github App button.

Fill out the form with app name, description, website URL. In User authorization callback URL and Webhook URL fill in with http://localhost:3000/auth/github/callback.

Save and after saving you will have the keys at the beginning of the page.

Accessing Twitter Variables

Access the https://developer.twitter.com/en/apps

Click on the Create an app button.

Follow the step-by-step twitter requesting the information you request if you have no apps created. If you have already been verified by Twitter the page will generate a new app.

Fill in all fields like app name, description, website URL. In Callback URLs fill in with http://localhost:3000/auth/twitter/callback. In Allow this application to be used to sign in with Twitter enable Enable Sign in with Twitter.

Save and after saving go to the Keys and tokens tab to access the keys.

Accessing Google Variables

Access the https://code.google.com/apis/console/

Click on the Create project button.

Fill in a name and save.

When you save, click on my hanburger and choose API and Services -> Credentials.

In the credentials screen, click the Create Credentials -> OAuth Client ID button.

Click the Set up consent screen button to create the app.

Fill out the form and after saving you will be redirected to choose the type of app. Choose the first one that is a web application.

Enter the name and the authorized redirect URIs fill in with http://localhost:3000/auth/google_oauth2/callback.

Once completed, click create and you will be redirected to the page with the keys.

Contributions

To contribute to call4paperz, submit a pull request (preferably in a feature branch), with tests if possible. If you have any doubts, just bug gustavokloh.

Also, please make feature branches. For instance, if you add a new feature, create a feature branch called "my-awesome-feature". That helps reviewing pull requests, specially if you have unrelated commits.

Maintainer

Maintenance is done by gustavokloh.

Original authors

  • Anderson Leite (no longer active)
  • Douglas Campos (no longer active)
  • Vinicius Baggio Fuentes (no longer active)

Contributors

We have a few awesome contributors that you can take a look here: https://github.com/call4paperz/call4paperz/graphs/contributors

License

call4paperz uses the MIT license. Please check the LICENSE file for more details.