fiqus / coophub

Cooperatives repos over the world! 🌈🌎
https://coophub.io
MIT License
57 stars 28 forks source link
cooperatives elixir-lang open-source phoenix-framework repositories

Coophub - Cooperatives repos over the world!

:link: coophub.io

This web app uses the GitHub API and GitLab API to fetch, process and nicely display the projects/repositories of any subscribed cooperative from over the world.

Please note that it's strictly limited to cooperative enterprises.

The main goal is to gather in one place all the open source projects that can be used to start others, to be consumed, to learn or to just motivate collaboration.

Add your cooperative

  1. Fork this repo or edit this file
  2. Add your co-op in the cooperatives.yml file:
    key_org_name:
    source: github|gitlab|git.coop
    login: <USERNAME_IN_THE_SOURCE>
    name: <NAME_OF_THE_COOP>
    url: <URL_OF_THE_COOP>
    description: <DESCRIPTION>
    location: <LOCATION>
  3. Add-commit-push and send us a Pull Request!

Changelog

See changelog file.

Development

Use GITHUB_OAUTH_TOKEN ENV var in order to authenticate with the GitHub APIv3. Read the guide.

With docker

If you want to set any environment, like GITHUB_OAUTH_TOKEN, create a .env file with the custom values that you want.

Available environments: environment Default value
GITHUB_OAUTH_TOKEN
VERSION_ELIXIR 1.14
VERSION_NODE 18

Steps:

Local

It uses the Elixir Phoenix Framework for the back-end and ReactJS for the front-end. Then, to run this app you will need:

Run it!

Now you can visit localhost:4000 from your browser.

API Endpoints

Allowed query params

Releasing a new version

  1. Update CHANGELOG.md with latest changes.
  2. Go to create a new release and complete the fields:
    • Tag version: vx.x.x (like v0.2.2).
    • Target: Always against master branch.
    • Release title: Same as tag version.
    • Description: Just copy/paste the latest changes from CHANGELOG.md.
  3. Click the Publish release button and check that a new github action was started for this release.
  4. When the github action finishes, a release asset should be attached (like coophub-20200330-034316-0635b9c7.tar.gz).
  5. Done! Just wait a few minutes and the new release will be deployed to https://coophub.io (you can check the version at site footer).