/opensourcefriday

🚲 Contribute to the open source community every Friday

Primary LanguageRubyMIT LicenseMIT

Open Source Friday

Open source is made by people just like you. This Friday, invest a few hours contributing to the software you use and love.

What is this?

This repository is the source code for https://opensourcefriday.com.

Open Source Friday is a movement to encourage people, companies, and maintainers to contribute a few hours to open source software every Friday.

Open Source Software (OSS) is the backbone of most software, tools, apps, electronics and more that we use every day. Not only is Open Source Friday about encouraging people to contribute, but it's about encouraging businesses to give back to the software they use by setting aside time for our colleagues to work on OSS on the clock.

By signing up to the website, you can view and share your and your friends' Friday contributions. You'll also find a number of guides on getting started with open source and being a good maintainer.

What this isn't

We are not a place where you're going to get free t-shirts or other kinds of gifts for your contributions. This tends to bring out bad behaviour like PRs that change a single line of whitespace, which waste maintainers time and energy, the rewards should be less tangible.

Translation

Transifex

Help Translate "Open Source Friday" on Transifex.

GitHub Pull Request

See CONTRIBUTING.md#Translation.

Development

Source hosted at GitHub. Report issues/feature requests on GitHub Issues.

Getting Started

Register a new GitHub OAuth application.

  • Set the homepage to http://localhost:3000.
  • Set the authorization callback URL to http://localhost:3000/users/auth/github/callback.

Create the config file for the client ID and secret generated for your GitHub OAuth application:

cp config/application.example.yml config/application.yml

Update config/application.yml, setting the github_client_id and github_client_secret.

The environment variables are managed using figaro.

Bootstrapping the Application

If you're on macOS, have Homebrew installed, and you've set the environment variables above to get started run:

./script/bootstrap
./script/setup
./script/server

This should get you started with this project on your machine. Otherwise, no worries! You can use the following instructions to install all dependencies and setup a local server.

First, you'll need to install Ruby. We recommend using the excellent rbenv, and ruby-build

rbenv install

Next, you'll need to make sure that you have PostgreSQL installed. On Debian-based Linux distributions you can use apt-get to install Postgres:

sudo apt-get install postgresql postgresql-contrib libpq-dev

On Windows, you can use the Chocolatey package manager to install Postgres:

choco install postgresql

Now, let's install the gems from the Gemfile ("Gems" are synonymous with libraries in other languages).

gem install bundler && rbenv rehash
bundle install

Once all the gems are installed, we'll need to create the databases and tables. Rails makes this easy.

./bin/setup

Now all we have to do is start up the Rails server and point our browser to http://localhost:3000

./script/server

Note on Patches/Pull Requests

  • Fork the project.
  • Clone your fork to your machine.
  • Create a new branch for your feature/fix.
  • Make your feature addition or bug fix.
  • Add tests for it. This is important so we don't break it in a future version unintentionally.
  • Submit a pull request.

Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Copyright

Copyright (c) Open Source Friday contributors. See LICENSE for details.