GlitchCraft

GlitchCraft is a Ruby on Rails application allowing users to glitch images. Users can search for a keyword which then returns an image from two APIs via the GlitchService Microservice. One of these images is then chosen to be glitched.

The first image returned is generated from scratch by DeepAI, and the second is returned based on human image tags from Pixabay. This gives users the unique option to glitch an image that is either what an AI thinks the search term represents or what humans tag an image as.

Despite the limitations of Ruby as it relates to visual media, the GlitchCraft team has been able to glitch images using only that language. We employ Google OAuth to authenticate users and images are stored with a mixture of Amazon Web Services’ S3 and Ruby on Rails’ ActiveStorage.

Relevant links

View our app!

GlitchService Microservice

GlitchService GitHub

Versions

Ruby 2.5.3 Rails 5.2.4.4

Configuration

  1. Run git clone git@github.com:sciencefixion/glitch_craft.git
  2. cd glitch_craft
  3. bundle install
  4. rake db:{create,migrate}
  5. bundle exec figaro install
  6. Add your google client secret and ID to the application.yml file
  7. rails s

Test Suite

  1. Run bundle exec rspec

Microservices

This app depends on the GlitchService microservice. GlitchService works in hand with GlitchCraft to consolidate two images that users can choose from to glitch.

Contributors

Dan Sehl's GitHub & Linkedin

Jane Greene's Github & Linkedin

Kathy Bui's Github & Linkedin

Rion's GitHub & Linkedin

Our App

Schema

Welcome page

User Dashboard

Image Search Results

Glitch an image!

FAQ

About Us

Wishlist

  • We wanted a user’s personal gallery
  • A community gallery of all user’s glitches
  • A way to favorite someone else’s glitches to show up on user’s dashboard
  • A way to upvote glitches user’s liked that could show up in a spotlight gallery
  • More glitching functions: different glitches, maybe have a button to randomly select a glitch, and another button to select a certain glitch
  • A way to let users upload their own images

Known Issues

  • Our production site isn't configured to use S3 yet, so it is not up and running
  • Our app is not optimized for safari; images may not render