Git Product home page Git Product logo

imgfab's Introduction

imgfab / instamuseum

Because your Facebook photos are so 2D!

How it works:

  • Facebook connect or Instagram => List of images & descriptions from a user, saved as JSON
  • tasks/gather_data.py: Downloads all the images in a temporary directory
  • tasks/create_model.py: Creates a blender model from the directory
  • tasks/upload_to_sketchfab.py: Uploads the model to http://sketchfab.com

TODO

  • Adapt plane size to the photo ratio / crop differently
  • Facebook: Set sketchfab name from album name
  • Show FB album photo count (+ thumbnails?)
  • Much more exception handling
  • Other photo sources: Twitter, Flickr, URL list
  • Upload with annotations/hotspots
  • Fix photo ratio on other layouts than museum
  • New layouts (sphere, larger rooms, ...)
  • remove form when model generating
  • Explicit warning when instagram account doesn't exist
  • Good return page if oauth2 cancel
  • Right-to-left images in Wall layout
  • Instagram tags (someone asked for explore/tags/supermario/)

Host your own instance on Heroku!

# Create an heroku app with this
heroku apps:create
heroku config:set BLENDER_PATH=build/blender-2.73a-linux-glibc211-x86_64/blender-softwaregl

# Add your API keys
heroku config:set SKETCHFAB_API_KEY=x SOCIAL_AUTH_FACEBOOK_KEY=x SOCIAL_AUTH_FACEBOOK_SECRET=x SOCIAL_AUTH_SKETCHFAB_KEY=x SOCIAL_AUTH_SKETCHFAB_SECRET=x

# Add MongoDB & Redis (for storage & task queue)
heroku addons:add rediscloud
heroku addons:add mongolab

Run imgfab/instamuseum locally

To test locally you can pull the config variables:


# If you have access, get config from prod.
# If not, export your own values!
export MONGOLAB_URI=`heroku config:get -a imgfab MONGOLAB_URI`
export REDISCLOUD_URL=`heroku config:get -a imgfab REDISCLOUD_URL`
export SKETCHFAB_API_KEY=`heroku config:get -a imgfab SKETCHFAB_API_KEY`
export SOCIAL_AUTH_FACEBOOK_KEY=`heroku config:get -a imgfab SOCIAL_AUTH_FACEBOOK_KEY`
export SOCIAL_AUTH_FACEBOOK_SECRET=`heroku config:get -a imgfab SOCIAL_AUTH_FACEBOOK_SECRET`
export SOCIAL_AUTH_INSTAGRAM_ID=`heroku config:get -a imgfab SOCIAL_AUTH_INSTAGRAM_ID`
export SOCIAL_AUTH_INSTAGRAM_SECRET=`heroku config:get -a imgfab SOCIAL_AUTH_INSTAGRAM_SECRET`
export SOCIAL_AUTH_SKETCHFAB_KEY=`heroku config:get -a imgfab SOCIAL_AUTH_SKETCHFAB_KEY`
export SOCIAL_AUTH_SKETCHFAB_SECRET=`heroku config:get -a imgfab SOCIAL_AUTH_SKETCHFAB_SECRET`

# If you installed blender with homebrew:
export BLENDER_PATH=/opt/homebrew-cask/Caskroom/blender/2.76b/blender-2.76b-OSX_10.6-x86_64/blender.app/Contents/MacOS/blender

# Then run a worker, a dashboard & the flask app:
mrq-worker highpriority default &
mrq-dashboard &
python flaskapp/app.py

imgfab's People

Contributors

guillermosainz avatar padrezippo avatar sylvinus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

imgfab's Issues

Not working on Heroku

It looks like there's an issue with the 'mrq' requirement:

ImportError: No module named coros

VR MUSEUM not working

Trying to create a VR Gallery on http://www.instamuseum.com/ the Website keeps telling me that the Instagram account doesnt exist, no matter which one i try to use. Is there a specific way you Need to insert the account?

Thanks!

Website Not Working

I'm trying to make an instamuseum using Google as an example. However, it returns the error:

Sorry, there was an error creating your model. Are you sure that Instagram account exists?

What is going wrong??

Models *and one-sided walls*.

Hiya,
Wouldn't it be sensible (since this is being promoted through SketchFab) to use models instead of pictures? You could put little podia in the middle of the gallery room and load the most viewed (or least, or selectable) model files from sketchfab, do a bounding box size check, then place them atop the pedestals.

Just a thought.

Material selection might be an issue though. Maybe default to a simple matcap.

Also! If you have faces set to one sided, so with reversed normals they become transparent, I assume the InstaMuseum thumbnail on SketchFab wouldn't just look like a grey box, you should be able to see at least two walls and the floor, which would look loads better.

Weird behavior importing to three.js

Hi everyone! I have a llitle problem when I'm trying to import the model generated with Instamuseum to a custom three.js scene.

I downloaded the .blend file from Sketchfab to generate an .obj and .mtl files that I can import to the scene. Almost everything works fine, but instead of showing all photos in the room, it only renders the last one of them in every virtual picture! So I have a virtual room with 12 pictures with the same photo.

I checked the generated .obj and .mtl files but apparently all works fine.

Some issue related with the generated .blend file? Some detail of the three.js import that I'm ignoring? I tried with other models on Sketchfab and the .mtl import works fine.

Can see it in this screenshot:

http://oi68.tinypic.com/10i5gqt.jpg

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.