opensource
opensource copied to clipboard
π¦ Discover the open source ecosystem related to the Dominican Republic!
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.
Want to join?
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 ;)
Development
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.jsontoconfig/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 serveand open http://localhost:8080/opensource
That's it! Happy coding.
Scripts
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.
Deployment
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.
With β₯οΈ from all contributors.