Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open Source Ideas Website #1

Closed
mikaelbr opened this issue Oct 12, 2016 · 46 comments
Closed

Open Source Ideas Website #1

mikaelbr opened this issue Oct 12, 2016 · 46 comments
Labels
Intermediate Projects that require a medium level of understanding. Doesn't require much prior knowledge. Joined This project has someone working on it. Medium work This project takes little time to complete. (ETA week or two) Open Source Ideas Initiative The ideas and projects to improve the Initiative itself.

Comments

@mikaelbr
Copy link
Collaborator

Project description

Make a website for this repository. This can be a great way to get involved. To make the issues and project suggestions as accessible as possible we should have a website with search, potentially categories and a pretty design. This project is pretty open for the person who is interested

I was thinking this could be pretty easy implemented by basing all the data on the Github Issue API. Using the Github API as Backend means there is no need for a server side component or a administration. Which makes it much smaller of a task. This can be done as simple as possible initially. A listing of all the issues and when navigating to the issue you see relevant comments and updates on the issue.

The goal should be that people could open the website and see if there are any new project suggestions and open that issue to claim it if they so please.

This is a great opportunity to experiment with GraphQL from the Github API, a no-server dynamic JavaScript application.

Feel free to ask if there are any questions.

Relevant Technology

JavaScript, GraphQL, Github, CSS, HTML, Web.

Who is this for

This project is for anyone looking to get involved with this project. It's not very technically difficult, but depending on the direction it might require some design knowledge or help from someone who has that.

@mikaelbr mikaelbr added Medium work This project takes little time to complete. (ETA week or two) Intermediate Projects that require a medium level of understanding. Doesn't require much prior knowledge. labels Oct 12, 2016
@FredrikAugust
Copy link
Collaborator

Sounds like something I would love to spend time on :) I might be able to start working on it tomorrow

@FredrikAugust
Copy link
Collaborator

Forgot to mention I also have a designer on board who might be up for it!

@mikaelbr
Copy link
Collaborator Author

Brilliant! That sounds like a perfect fit. I can add you to the repo as a collaborator so you have access to it also. I think this is a pretty cool project to test out the new GraphQL API for Github, and will be an important extension for this initiative.

@FredrikAugust
Copy link
Collaborator

Is that still in early access? If so the api might change later.. :/

@mikaelbr
Copy link
Collaborator Author

Maybe. I haven't gotten around to digging into it yet. So maybe one would have to stick with the stable API (or do an adapter approach if one really want to explore GraphQL).

@mikaelbr mikaelbr added the Joined This project has someone working on it. label Oct 17, 2016
@FredrikAugust
Copy link
Collaborator

Regardless; is there any requirements as far as languages go? Rails would definitely be the easiest for me!

@mikaelbr
Copy link
Collaborator Author

Feel free to do what ever by me. All yours. I've got no experience with ruby or rails myself, though. I wouldn't think it's too much server side code required here, though. Depending on what you want to do here, but you could let Github be most of the backend (much like a "BaaS") and just have the site as a presenter layer on top of Github Issues. For instance.

@FredrikAugust
Copy link
Collaborator

Yeah, you don't really need much back-end, but I do prefer to keep data management and the rest separated. I can probably look into GraphQL, but I've never used it before :o

@FredrikAugust
Copy link
Collaborator

2016-10-18-091611_1920x1080_scrot

Here's the first draft.

Things todo as of now;

  • tags
  • make a modal appear with all the text (and perhaps even comments) when the user clicks the body of the card
  • categories, back-end is mostly done

@FredrikAugust
Copy link
Collaborator

And then we need to look into hosting. Might also do some testing, but don't really see the need for it here.

@FredrikAugust
Copy link
Collaborator

Forgot to mention, here's the repo: https://github.com/fullstck/open-source-ideas-website

@TimoStaudinger
Copy link

@FredrikAugust Maybe look into GitHub Pages to host it directly on GitHub? Backed by git by default, makes updates incredibly easy via pull requests and is free.

@mikaelbr
Copy link
Collaborator Author

I think doing something like @timosta is the simplest way to the goal, and why I was talking so much about not doing a backend. Just by doing Github as a backend we don't have to think about things like hosting, deployment routines, and what not. It is very easy to jump straight to the conclusion of needing all features and a backend doing all kinds of things, but I think it's better to do these things incrementally, and learn a long the way. Github as a backend + gh-pages I think would suffice for a long time as the project matures. This is obviously not the definitive solution or the only way to solve it, but it's something to consider.

The screenshots look good, I think. Simple and sufficient design with focus on the content and with green as a main colour which seems as the typical Open Source colour 😄

@teunw
Copy link

teunw commented Oct 19, 2016

Hello everyone,
Good idea to only use Github pages at the beginning, even with a custom back-end you could keep it on gh-pages if you wanted to.

@FredrikAugust
Copy link
Collaborator

gh-pages support rails? wow

@mikaelbr
Copy link
Collaborator Author

@FredrikAugust No, I don't think so. I'm thinking @teunw is referring to hosting the backend and the client side at separate locations if one at one point need to use a custom backend.

@FredrikAugust
Copy link
Collaborator

API-based back-end?

@mikaelbr
Copy link
Collaborator Author

I would guess so.

@FredrikAugust
Copy link
Collaborator

Hmm. That's a good idea, but if load times aren't a huge concern we could use a heroku free dyno

@FredrikAugust
Copy link
Collaborator

Should suffice for our needs, but it isn't very elegant

@mikaelbr
Copy link
Collaborator Author

One problem with Heroku Free Dyno is that it's down for some amount of time during the day due to some changes they did last year or so. So even if there's no massive load, it's not too suitable for production hosting.

@FredrikAugust
Copy link
Collaborator

I know, you can get 16 hours of uptime per day, and if you don't use it for 30min it shuts down, and takes about 30sec to boot back up

@FredrikAugust
Copy link
Collaborator

Well, guess I got to whip out JS again then :) I'll see what I can do today

@ghost
Copy link

ghost commented Oct 19, 2016

For @mikaelbr 's initial project description. Github pages is more than enough, we could utilise the gh-pages or /docs for this project. If the governance process grows more and complicated, we could build a dedicated backend for that later. I'll see if I can build this tomorow. I'm already taking up and doing one project from this repo which needs much work.. lol

@FredrikAugust
Copy link
Collaborator

I'm working on it now Nirmal. Using only js/html/css, so should work on
ghpages

On Wed, Oct 19, 2016, 10:37 Nirmal Almara notifications@github.com wrote:

For @mikaelbr https://github.com/mikaelbr 's initial project
description. Github pages is more than enough, we could utilise the
gh-pages or /docs for this project. If the governance process grows more
and complicated, we could build a dedicated backend for that later. I'll
see if I can build this tomorow. I'm already taking up and doing one
project from this repo which needs much work.. lol


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#1 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHVdG7A7tLrUT8lRnaDF8ucxE890kfRkks5q1dbPgaJpZM4KVUEO
.

@mikaelbr
Copy link
Collaborator Author

Using /docs on this repo sounds smart. That way we can have it close to the issues and @FredrikAugust you already have access to committing here.

@teunw
Copy link

teunw commented Oct 19, 2016

I was referring to an API based backend @FredrikAugust (should have made it more clear).
That way, you can keep the frontend on Github. No need to move it over later.

@ghost
Copy link

ghost commented Oct 19, 2016

@FredrikAugust Just a simple remainder. you said js/html/css but Github pages are based upon Jekyll engine. We have to make the directory structure and apply the jekyll configuration. Let me know if you need any help :)

@FredrikAugust
Copy link
Collaborator

Ah yeah @teunw, making this into a back-end would take a matter of minutes. I already have most of the back-end in place, not as an API though. @mysticmode Yeah, don't know anything about working with ghpages/jekyll. If you could help out with that it would be great. Think I should be done with v0.1 soon(tm) :)

@teunw
Copy link

teunw commented Oct 19, 2016

@FredrikAugust Sure, just an idea :).
Good luck on v0.1

@FredrikAugust
Copy link
Collaborator

Haha, thanks

On Wed, Oct 19, 2016, 11:01 Teun Willems notifications@github.com wrote:

@FredrikAugust https://github.com/FredrikAugust Sure, just a idea :).
Good luck on v0.1


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#1 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHVdG24bznfUz07OU3kaJbaEO49xu5f6ks5q1dxUgaJpZM4KVUEO
.

@FredrikAugust
Copy link
Collaborator

Alright, basic functionality is done. You can find it in the js branch of my repo (linked further up) @mysticmode

@ghost
Copy link

ghost commented Oct 19, 2016

Looks good!

You could have a simple directory structure like this

  _includes/ (for top nav and footer)
  _layouts/
      default.html (default layout for both landing and detail page)
      detail.html (showing the issue in detail with comments if available)
  index.html (which has issues list)
  ...config_files...

You can read the jekyll docs. Let me know if you can setup this, or I can do this tomorow morning IST

@FredrikAugust
Copy link
Collaborator

It would be great if you could do it, and I'll focus on adding the rest of the functionality! :)

@TimoStaudinger
Copy link

Not saying that we have to, but Jekyll can easily be turned off for GitHub Pages. But in my understanding, even if it is not turned off, you should still be able to host any static application you want as long as you avoid Jekyll's magic file/folder names starting with an underscore?

@FredrikAugust
Copy link
Collaborator

Alright, got the base implementation down. Doing like @timosta sounds good, we don't really need any fancy features. If someone wants to implement this into GH Pages that would be great, as I have no experience with it.

@dvikan
Copy link

dvikan commented Oct 23, 2016

+1 for jekyll

@vfonic
Copy link

vfonic commented Dec 15, 2016

Hey guys, what's the status of this? Any new progress? Is there a url with the current implementation?

I'm not in favor of jekyll. If we have clean pure js/html/css frontend, we can move the site anywhere in a matter of seconds. I don't see the added value of jekyll, or having a Ruby on Rails backend, if the only thing the website does is uses a github API.

@mikaelbr
Copy link
Collaborator Author

The page is out on http://mib.im/open-source-ideas/. No custom domain yet, and it inherits my domain in a catch-all CNAME. See the implementation here: https://github.com/mikaelbr/open-source-ideas/tree/master/docs

Good you are checking in on the status.

@vfonic
Copy link

vfonic commented Dec 15, 2016

The design looks clean and simple. I think it should be kept that way. v1 can do a full page refresh to show a single issue. Maybe in v2 we can add some frontend js library for simple routing.

@vfonic
Copy link

vfonic commented Dec 15, 2016

Just saw the website now. Looks great! :)
I don't remember seeing this in this repo's readme. I think it should be there. /cc @mikaelbr

@mikaelbr
Copy link
Collaborator Author

Absolutely. I think this works well for now - and isn't slow at all so client side rendering isn't as necessary if you ask me. @FredrikAugust has done a good job there.

Should do a custom domain in time and probably some sort of logo. Also, one thing I'd like to see is more of a full overview on the homepage, where it's easier to see more projects at once. Now, there is a lot of scrolling and hard to see that there are many projects.

@mikaelbr
Copy link
Collaborator Author

I'll add a link now 👍

@vfonic
Copy link

vfonic commented Dec 15, 2016

I'd also say that this is sort-of finished project, at least v1. :)
You could add it to the list of finished projects.

I want to contribute more to this repo's projects. I hope to find some time in the future.

@mikaelbr
Copy link
Collaborator Author

👍 Great

@mikaelbr
Copy link
Collaborator Author

Also, I think closing this can be productive to clean up some issues. The discussion can still go on.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Intermediate Projects that require a medium level of understanding. Doesn't require much prior knowledge. Joined This project has someone working on it. Medium work This project takes little time to complete. (ETA week or two) Open Source Ideas Initiative The ideas and projects to improve the Initiative itself.
Projects
None yet
Development

No branches or pull requests

7 participants