developersdo / opensource Goto Github PK
View Code? Open in Web Editor NEW🔦 Discover the open source ecosystem related to the Dominican Republic!
Home Page: https://developersdo.github.io/opensource?utm_source=github
License: MIT License
🔦 Discover the open source ecosystem related to the Dominican Republic!
Home Page: https://developersdo.github.io/opensource?utm_source=github
License: MIT License
Currently we are determining popular repositories by their stargazers
. That said, if two or more repositories has the same amount of stargazers
then all of them will have the same position. For example:
Those positioning can be confusing, therefore, we would like to use more data points to determine repositories popularity. The new order should be determined by:
stargazers
desc.forks
desc.watchers
desc.name
asc.Things to do:
Properly formatting and compressing images can save many bytes of data.
Compressing and resizing https://avatars3.githubusercontent.com/u/439839?v=4 could save 257.2KiB (98% reduction).
Compressing and resizing https://avatars2.githubusercontent.com/u/20671846?v=4 could save 52.9KiB (98% reduction).
Compressing and resizing https://avatars3.githubusercontent.com/u/4788817?v=4 could save 28.8KiB (97% reduction).
Compressing and resizing https://avatars3.githubusercontent.com/u/1163358?v=4 could save 27.9KiB (97% reduction).
Compressing and resizing https://avatars2.githubusercontent.com/u/773158?v=4 could save 22.6KiB (97% reduction).
Compressing and resizing https://avatars2.githubusercontent.com/u/2547751?v=4 could save 22.4KiB (97% reduction).
Compressing and resizing https://avatars0.githubusercontent.com/u/1013337?v=4 could save 22KiB (97% reduction).
Compressing and resizing https://avatars1.githubusercontent.com/u/10523232?v=4 could save 16.6KiB (96% reduction).
Compressing and resizing https://avatars3.githubusercontent.com/u/15680836?v=4 could save 5.2KiB (93% reduction).
La data en JSON pesa aprox. 2MB, esto es una petición fuerte para los usuarios.
Lo mejor sería reducir el JSON a la cantidad que se mostrará al inicio (ejemplo 9), y ya luego ir cargando con un sistema de paginado dinámico, los demás datos.
We are using react-list
. However, scrolling in any size cause the scroll to jump. See screencast:
We would like to find another alternative for infinite scroll. It can be another library, or another technique (pagination or load more button).
As a user, I would like to view all popular repositories. I want to navigate the repos as pages.
Note: we don't want to sync the route or alter the URL / location.
Currently, the scraper identify repos by their name user/repo
, but if a repo name changes then we will be adding the same repo twice, and thrice, and so on...
We currently have a few page component that needs to set a page title.
yarn add react-document-title
)title
tag from src/client/index.html
.src/client/components/repositories/popular/Popular.js
with DocumentTitle
and set title
to: Popular Repositories – Dominican Open Source
.src/client/components/repositories/trending/Trending.js
with DocumentTitle
and set title
to: Trending Repositories – Dominican Open Source
.src/client/components/repositories/new/New.js
with DocumentTitle
and set title
to: New Repositories – Dominican Open Source
.src/client/components/developers/popular/Popular.js
with DocumentTitle
and set title
to: Popular Developers – Dominican Open Source
.src/client/components/developers/recently-joined/RecentlyJoined.js
with DocumentTitle
and set title
to: Recently Joined Developers – Dominican Open Source
.src/client/components/developers/about/About.js
with DocumentTitle
and set title
to: About and Statistics – Dominican Open Source
.Same as #9
We would like to better organize page components.
src/client/pages
.We would like for someone to read and double check the README.md
file for typos and submit the changes.
The README.md
file can be read edited directly following this link: https://github.com/developersdo/opensource/edit/develop/README.md
Filter
component at src/client/components/filter/Filter.js
(more details on creating at #10).name
or login
fields.Filter
into src/client/components/repositories/popular/Popular.js
and src/client/components/repositories/recently-joined/RecentlyJoined.js
where it will filter both lists.Por ejemplo, que las personas con el nombre josé en github salgan cuando se busca jose (sin tilde)
Sometimes we want to find a specific repository or all the repositories of a user but the only way at this moment is walking through all pages until we find it but this is time-consuming and is not an easy way, so I suggest adding a search by repository name or username.
Filter
component at src/client/components/filter/Filter.js
Filter
component will have a text input (as shown in the image below).Filter
should follow the styles by http://materializecss.comFilter
into src/client/components/repositories/popular/Popular.js
and src/client/components/repositories/new/New.js
where it will filter both lists.name
or description
fields. user.name
or user.login
.Popular.js
and New.js
will have a note to indicate that a filter can be applied by owners using @ (as shown in the image below)Currently we have 3 NPM scripts for scraping purposes. However no script files exists. We would like to create a script files that support the three current actions for the scraper:
scrape
– scrape everything.scrape --only=users
– scrape users only.scrape --only=repos
– scrape repos only.Tasks:
src/server/scripts/scrape.js
.bin
entry.--only
and only one of two values are accepted: users
or repos
. When that CLI option is specified, then only the specified set will be scraped.scrape
, scrape:users
and scrape:repos
) with one script: scrape
which will execute our new cli script defined at: src/server/scripts/scrape.js
.Set this links up with caching expiration.
https://avatars0.githubusercontent.com/u/1013337?v=4 (5 minutes)
https://avatars1.githubusercontent.com/u/10523232?v=4 (5 minutes)
https://avatars2.githubusercontent.com/u/20671846?v=4 (5 minutes)
https://avatars2.githubusercontent.com/u/2547751?v=4 (5 minutes)
https://avatars2.githubusercontent.com/u/773158?v=4 (5 minutes)
https://avatars3.githubusercontent.com/u/1163358?v=4 (5 minutes)
https://avatars3.githubusercontent.com/u/15680836?v=4 (5 minutes)
https://avatars3.githubusercontent.com/u/439839?v=4 (5 minutes)
https://avatars3.githubusercontent.com/u/4788817?v=4 (5 minutes)
https://developersdo.github.io/opensource/app.js?8f533965e18cc0b0159b (10 minutes)
https://developersdo.github.io/opensource/data/repos.json (10 minutes)
https://developersdo.github.io/opensource/data/users.json (10 minutes)
https://developersdo.github.io/…pensource/vendor.js?8f533965e18cc0b0159b (10 minutes)
https://www.google-analytics.com/analytics.js (2 hours)
We would like to track some changes for repos when the scrape runs.
Tasks:
yarn sequelize -- migration:create --name repo-changes
.repo_changes
to be similar to repos
except for the field scrapedAt
.repo_changes
containing the now old version of the repo, the createdAt
field will be current date to keep the history time.Currently we have a single NPM script for data generation purposes. However no script files exists. We would like to create a script files that replace the data generation process.
Tasks:
src/server/scripts/generate-data.js
.bin
entry.--only
option and only one of two values are accepted: users
or repos
. When that CLI option is specified, then only the specified set will be generated.generate
, scrape:users
and scrape:repos
) with one script: generate-data
which will execute our new cli script defined at: src/server/scripts/generate-data.js
.We would like to track some changes for users when the scrape runs.
Tasks:
yarn sequelize -- migration:create
.users_history
to be similar to users
except for the field scrapedAt
.users_history
containing the now old version of the users, the createdAt
field will be current date to keep the history time.We would like to track outbound links using react-ga
.
When viewing the website in a small device it can be zoomed by double tap or pinching out. We would to prevent that.
Thia should suffice: https://stackoverflow.com/a/4472910/439427
src/client/index.html
and add proper meta tag.We need to add a page description. <3 SEO friendly.
<meta name="description" content="">
tag into src/client/index.html
.Initiative to gather all possible public data about projects related to the Dominican Republic in GitHub using the GraphQL API.
GitHub allow users to change their login (username). While doing this, GitHub retain repos with the old username, when accessed, GitHub does a 301 redirect.
However, here we need to identify users by their unique id and not their volatile login name.
Se rompe el titulo en movil, se pega mucho los tags, en enlace de github se corta, recomiendo que baje abajo.
(https://user-images.githubusercontent.com/1808624/32076138-e771ae60-ba6c-11e7-824e-c12acf764f14.jpg)
Para la facilidad usabilidad y experiencia de los usuarios, es recomendable que al hacer clic en uno de los tags, realice el filtro.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.