Dominican Open Source is an initiative to gather all possible public data about projects and their contributors related to the Dominican Republic in GitHub using the GraphQL API.
There are different ways to participate in this local effort:
- You can include your GitHub users by adding the term “Dominican” to your profile's location. (Note: Dominicana is also accepted)
- You can improve the code of the public website or the scraper.
- And if you don't code you can check the grammar, the UX, the graphic design, report bugs - it is up to you ;)
If you want to run this project locally you will need: NodeJS 8+. After git-cloning this project do:
Note: If you just want to develop the website then skip step 3 and 4.
yarn install
- Copy
config/default.json
toconfig/development.json
. - Generate a GitHub personal access token.
- Add your GitHub personal access token to
config/development.json
(this file is git-ignored). yarn serve
and open http://localhost:8080/opensource
That's it! Happy coding.
yarn scrape
– scrape for all GitHub users and repos as configured.yarn scrape -- --only=users
– scrape for all GitHub repos.yarn scrape -- --only=repos
– scrape for all GitHub users.
yarn generate-data
– generate GitHub users and repos for front-end usage.yarn generate-data -- --only users
– generate JSON data for users.yarn generate-data -- --only repos
– generate JSON data for repos.
yarn sequelize
– to use sequelize, pass cli args as follow:yarn sequelize -- db:migrate
.yarn sequelize -- db:migrate
– Run all pending database migrations.yarn sequelize -- db:migrate:undo
– Rollback last database migration.yarn sequelize -- db:migrate:undo:all
– Rollback all database migrations.
yarn sequelize:debug
– to use sequelize in debug mode.yarn refresh
– to run the scraper and generate frontend data.yarn build
– to run static assets for production usage.
The deployment is done by Travis which listen to pushes in master
branch, then build website assets and finally pushes the site into gh-pages
branch. All details are specified at .travis.yml.