What would you like done?
We would like a plugin developed which will allow Flickr albums to be displayed within Discourse.
For background, our Discourse instance is private for our community group. We upload all our photos to Flickr and I would like the ability for our members to view the photos within Discourse. The other reason is that the majority of our albums are private - so to provide others with access I need to go through the rigmarole of having everyone sign up for a Flickr account and then grant them access to the albums.
The Flickr API allows for private albums to be accessed, so long as the API is accessed via OAuth with a user that has permissions to those albums. So, I figured by integrating Flickr into Discourse I could mark all the albums as private, ensure that the OAuth credentials used to authenticate to the Flickr API has access to the private albums, and then could access them for display in Discourse. Given the forum is private, only people who have access to the forum will have access to the photo albums.
I am envisaging the workflow as follows:
I create a new gallery (e.g. by pressing a + New Gallery button, possibly next to the + New Topic button, or alike) and provide the URL to the Flickr album (which may be a public or private album - assuming the OAuth user has access to the private gallery). An example of an album URL is: Flowers | Flickr. During this process I can also select the Discourse category in which the gallery should live, along with specify the title.
It appears just like a normal topic in the Discourse topic lists (e.g. Latest, New, category list, etc.). However, a thumbnail of the album preview image appears next to the topic (I am running the excellent Topic List Previews plugin by @angus which may help with this aspect). The topic can also be pinned, etc. just like any other topic.
When the topic is clicked it goes to a page which displays a gallery of the images within that album. Clicking an image will open a larger version in a lightbox style window.
Scrolling the page uses infinite scroll to lazy load more images when the end is reached.
There’s no need for any ability to add comments, replies, etc. on the gallery page. It can just be a page purely to display the gallery.
It should also display nicely on mobile, but this is likely just some playing around with the stylesheet assuming the markup is clean and flexible (e.g. having each gallery image as an item in an unordered list).
There should also be some mechanism to cache the images, so it doesn’t have to constantly ping the Flickr API every time someone views the page and requests the images.
There are existing Ruby implementations of the Flickr API (such as flickraw) which also seem to handle authentication, but unfortunately I don’t have sufficient knowledge of Ruby to implement this myself (I come from a Objective-C, Swift, JS, HTML, CSS background).
When do you need it done?
Within the next three weeks would be ideal. Anyone looking for a holiday project?
What is your budget, in $ USD that you can offer for this task?
Our initial thought is USD$400 for this project.
I would also be happy to have this plugin released as open-source with an MIT licence (or similar) following its development, to share with the rest of the community.