I've never used Pinterest, but I think this might be similar. The idea was to have a system where people could create "walls" and put images and links on them, where each wall has a theme. Gollage accomplishes this to some degree.

To Use

  1. Make a wall on Gollage
  2. Give out the link to your wall to people. It'll be www.gollage.io/wall/YourWallName
  3. Upload images and set links on them. You can upload multiple files at once.
  4. Refresh the page (I background the dynamic image generation/resizing process)
  5. Enjoy your Gollage!

What Works

  • Wall Making
  • Linked Images
  • Thumbnails
  • Dynamic Image Tiling
  • Multiple Image Upload
  • Image conversion

What Doesn't Work

  • Some issues with the tiling algorithm
  • WebSockets are implemented, but don't let you know when the wall you're looking at is updated
  • It isn't as pretty as I'd like
  • Tiling algorithm doesn't scale nicely yet
  • Originally I wanted to be able to zoom in on huge collages, but you can't currently do that

Taking advantage of Go

Go is used for pretty much everything, with only a few lines of Javascript used. I use Go for:

  • Dynamic image composition
  • Image Resizing
  • HTTP serving/AWS interaction
  • Templating pages

I use Goroutines to make worker threads for processing image composition. All image manipulation happens in Go, no external tools (like ImageMagick) are used. Standard packages and Gorilla packages are used extensively.

Share this project: