BetaNYC / projects-list

A simple listing tool to keep track of current civic tech projects of the BetaNYC community.
http://projects.beta.nyc
MIT License
29 stars 11 forks source link

Use the Github search API #30

Closed volkanunsal closed 9 years ago

volkanunsal commented 9 years ago

We need to use the Github API, rather than managing the data in our own database. The app needs to be totally rewritten to run without a backend.

ameensol commented 9 years ago

This is a bit tricky. If we're doing that, how would we, for example, keep track of which projects are currently active?

volkanunsal commented 9 years ago

"Last updated" date on the repo. And also we're going to be looking at the contents of the civic.json, and I believe there is a field for "project status."

ameensol commented 9 years ago

Right. I mean, how would we keep track of which projects total we are tracking? I think we'd need some sort of file or db that we maintain ourselves.

volkanunsal commented 9 years ago

For sure. I'd be interested in blacklisting, rather than whitelisting. We track everything by default, and filter out repos if they are spammers or trolls –– using a file, not a database.

ameensol commented 9 years ago

I agree that using a file is simpler than using a database. Right now, besides locally storing data for each project so it's a bit faster to render, we are only storing the metadata—which projects to track—and soon the betaNYC designation for each project (Community, Official, Featured). This could just be a JSON file.

I think it might be easier to whitelist though, using a file. If we blacklist we'd have to scrape all of github to find the projects in the first place. If we whitelist, we can go to the project repo's directly.

volkanunsal commented 9 years ago

Yeah, it has to be a JSON file. The whole idea is to make this a portal for discovering projects that have a civic.json file.

We are not going to scrape anything. We're going to use the Github Search API.

ameensol commented 9 years ago

Ah, that makes sense.