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.
npm 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). npm run serve
and open http://localhost:8080/opensource
That's it! Happy coding.
npm run scrape
– scrape for all GitHub users and repos as configured.npm run scrape -- --only=users
– scrape for all GitHub repos.npm run scrape -- --only=repos
– scrape for all GitHub users.
npm run generate-data
– generate GitHub users and repos for front-end usage.npm run generate-data -- --only users
– generate JSON data for users.npm run generate-data -- --only repos
– generate JSON data for repos.
npm run sequelize
– to use sequelize, pass cli args as follow:npm run sequelize -- db:migrate
.npm run sequelize -- db:migrate
– Run all pending database migrations.npm run sequelize -- db:migrate:undo
– Rollback last database migration.npm run sequelize -- db:migrate:undo:all
– Rollback all database migrations.
npm run sequelize:debug
– to use sequelize in debug mode.npm run refresh
– to run the scraper and generate frontend data.npm run build
– to run static assets for production usage.
The deployment is done by CirceCI 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 .circleci/config.yml.