- Notifications
You must be signed in to change notification settings - Fork29
Cooperatives repos over the world! 🌈🌎
License
fiqus/coophub
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This web app uses theGitHub API andGitLab 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.
- Fork this repo or edit thisfile
- Add your co-op in thecooperatives.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>
- Add-commit-push and send us a Pull Request!
Seechangelog file.
UseGITHUB_OAUTH_TOKEN
ENV var in order to authenticate with the GitHub APIv3. Read theguide.
If you want to set any environment, likeGITHUB_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:
- Clone this repository
- Run the command
docker compose up -d
It uses the ElixirPhoenix Framework for the back-end and ReactJS for the front-end.Then, to run this app you will need:
- Erlang OTP >= 18
- Elixir >= 1.5
- NodeJS >= 5.0
- Install dependencies with
mix deps.get
- Install Node.js dependencies with
npm install
- Start Phoenix server with
mix phx.server
Now you can visitlocalhost:4000
from your browser.
- GET api/orgs (all the coops)
- GET api/orgs/:name (detail of a coop)
- GET api/orgs/:name/repos (repos of a coop)
- GET api/repos (all coops repos)
- GET api/search?q=term_to_search
- GET api/topics (all the repos topics)
- GET api/languages (all the programming languages with percentages)
- GET api/languages/:lang (the repos using the lang)
limit
- Numbersort
-popular
orlatest
(default)exclude_forks
- boolean (false
default)
- UpdateCHANGELOG.md with latest changes.
- Go to create anew release and complete the fields:
- Tag version:
vx.x.x
(likev0.2.2
). - Target: Always against
master
branch. - Release title: Same as tag version.
- Description: Just copy/paste the latest changes fromCHANGELOG.md.
- Click the
Publish release
button and check that a newgithub action was started for this release. - When the github action finishes, arelease asset should be attached (like
coophub-20200330-034316-0635b9c7.tar.gz
). - Done! Just wait a few minutes and the new release will be deployed tohttps://coophub.io (you can check the version at site footer).
About
Cooperatives repos over the world! 🌈🌎