This repository hosts the source code of the http://developersdo.github.io/opensource website.
Local open source communities is an initiative to gather all possible public data about projects from the Dominican Republic in GitHub using the GraphQL API. Build and serve a public website showing all the local efforts that Dominicans are contributing toward open source.
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(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.