1ppm / 1ppmLog

Release one side project per month, log your results here!
420 stars 116 forks source link

1PPM Website! #9

Open ranveeraggarwal opened 7 years ago

ranveeraggarwal commented 7 years ago

What I have in mind is a website for 1PPM, wherein anyone can login with their Github credentials and select repositories (started/built) that month to display to everyone.
Apart from verifying that the repository has been started in the current month (or previous month; this is for verifying the fact that this website is used strictly for this purpose and not for giving light to older projects), we can also have a page for each of these projects, listing down collaborators and some cool visualisations for activity on the project.
We can also have search by tags and this could potentially be a huge repository of ideas and starter code.

ranveeraggarwal commented 7 years ago

I can build this (with help) in Django/Angular. Anyone up for this?

Mechasparrow commented 7 years ago

@ranveeraggarwal I know some Django and Angular so I could help out.

cityzen commented 7 years ago

why don't we just use a CMS for this? You can get tagging, content, accounts, etc pretty quickly with an off the shelf solution. I have limited angular knowledge from building and maintaining and ionic app but would be happy to help.

Also.... slack!

Mechasparrow commented 7 years ago

Yeah we should set up a slack as well.

Mechasparrow commented 7 years ago

The issue with a cms is we wouldn't necessarily be able to sign in with GitHub.

cityzen commented 7 years ago

We could just over-engineer something for the next 8 months and no one would get any of their 1PPMs done!

cityzen commented 7 years ago

On a serious note, though, what would github have to do with it? I think you can easily provide links back to your stuff but not everyone (like me) uses github.

ranveeraggarwal commented 7 years ago

A CMS sounds like a good idea. Any suggestions for a particular framework @cityzen?
Otherwise, we could drop Angular and go for a Django-only website (that removes the complexity of having to expose REST APIs and consuming them via Angular). Django's templating system is pretty good in itself, and frameworks like bootstrap would make front end a piece of cake.

cityzen commented 7 years ago

I'm a fan of Craft CMS (https://craftcms.com/) but I can understand it's not for everyone, you may even catch a case of the PHPs! I'm open for whatever. What's the scope of the site? I am envisioning just creating an account, listing your projects (name, link, status, description) and some simple tagging. I don't think it needs much to get started.

ranveeraggarwal commented 7 years ago

Or, wait a second. Do we really need a CMS? A CMS would be useful when we expect people to actually turn up on the website and fill up (project-name, description, etc, after registering).
Instead, we could just use the Github API for a one-time sign up and get a list of all their repositories. Out of that list, we give them an option to select the repository they want to submit. We could get a list of all the repo metadata (contributors, commits, languages, etc) from the Github API itself. How does this sound?

TestMarrko commented 7 years ago

Or you could just write a script that parses out the HallOfFame.md and updates the page/site that way, and be done with it? And if people want their projects listed, they can manually add themselves to the page.

ggerhard commented 7 years ago

I had to sleep over that one ;)

Here is my MVP, KISS proposal:

A JavaScript Page with the HallOfFame page as its "Backend", hosted on Github Pages, live by Jan 31 (latest). I already have the "1ppm.club" domain which we can link with that.

Nice to haves would be:

I think that would be more than enough for one month. If someone wants to do a Backend 1ppm he/she can start a separate Backend project as 1PPM. The common interface wold be JSON with the HallOfFame structure.

ranveeraggarwal commented 7 years ago

Agreed. If everything is done in JavaScript, we won't have to take the pains of actually hosting the whole thing elsewhere. We might need a small database of users/projects though (or we can ask the participants to send a PR to a repo containing a JSON file with their usernames).
Let's have further discussion on Gitter.