Follow us on Twitter • Join Our Community
WNB.rb is a virtual community for women and non-binary Rubyists. This is the repo for WNB.rb's website, built by and for our community.
All contributors to this repository must follow the WNB.rb code of conduct. Those who violate the code of conduct will be reported to GitHub support and banned from all WNB.rb platforms, including GitHub and Slack.
Before you try to set up this app, make sure you have the following installed on your machine:
You must also fork and clone this repository.
For help getting set up, refer to the Contributor Resources section of this document.
To install dependencies and setup the database, run:
make setup
Running the job board locally requires two environment variables. To set up your environment variables, run the following command:
cp .env.template .env
Then, edit .env
and set the following environment variables:
JOB_BOARD_PASSWORD
: this determines the password for the job boardJWT_HMAC_SECRET
: this sets the secret key used to encode the token for job board authenticationrspec
yarn jest app/javascript
To start both the frontend and backend servers at the same time, run:
foreman start -f Procfile.dev
In your browser, navigate to localhost:5000
to see the app in action!
Alternatively, you may run the frontend and backend servers separately with these two commands:
rails s
bin/shakapacker-dev-server
This may be helpful for debugging, but generally should not be necessary.
To execute rake tasks, run:
foreman run rake [NAMESPACE]:[TASK_NAME]
If you want to implement Google Sheets and interact with the form for joining new users, follow the instructions below to enable reCAPTCHA v3 and set up the Google Sheets API and Google Drive API.
reCAPTCHA helps protect your sites from fraudulent activities, spam, and abuse. To start using reCAPTCHA, follow these steps:
Sign up for an API key pair for your site by visiting the reCAPTCHA admin page. Generate your SITE KEY
and SECRET KEY
.
Set the environment variables by editing the .env
file. Replace the values with the following:
RECAPTCHA_ENABLED
: Enable or disable Recaptcha ('true'
or 'false'
).RECAPTCHA_SITE_KEY
: Use this key in your JSX files.RECAPTCHA_SECRET_KEY
: Use this key to verify the user's response.To interact with Google Sheets, you need to set up the Google Sheets API and Google Drive API. Follow these steps:
Go to the Google Cloud API Console and create a new project.
Enable the Google Drive API by clicking on "Enable API" and searching for the Google Drive API.
Create credentials for a Web Server to access Application Data.
Name the service account and grant it a Project Role of Editor.
Download the JSON file that contains your credentials.
Move the downloaded JSON file to the location where google-credentials.json.template
is located in this project. Rename the file to google-credentials.json
.
In the Google Cloud API Console, also enable the Google Sheets API (this step is important).
Create a Google Spreadsheet file in your Google Drive. Copy the title or key of the spreadsheet and paste it in lead_registration_service.rb
.
Share the document with the email address found inside the google-credentials.json
file (the client_email
value).
For better understanding, you can refer to the following guides:
good first issue
tag if you're just getting started!AdminController
so the layout is properly applied.Need some help contributing to our app? Check out the resources below for more information about installing and using various third-party tools.
To report a bug or request a new feature, please open an issue.