Skip to content

shuboxio/gifrap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gifrap

We live on the internet (let's be real).

To be fluent in "internet", you need text, and emoji, and ... memes! To have those, we need the animated gif.

So, in service of having fun, and owning our media and images, let's build ourselves our own database of meme goodness.

Gifrap is a self-hosted repository of animated gifs, and jpgs, etc.

Stack

  • Rails 7.x
  • Postgresql
  • Rspec (factory_bot, cuprite, capybara)
  • GoodJob
  • Vite (w/vite_ruby)
  • TailwindCSS
  • StimulusJS

Set Up

Run bin/setup to:

  1. Create database
  2. Seed database
  3. Run the test suite

Features

Building

This is currently pre-alpha software - well in the throes of early development.

Below is the breakdown of features being built along with a couple of milestones.

Alpha

  • Generate temporary "visitor" user
  • Generate models and create controller skeleton
  • Upload image via web browser
    • Integration with Shubox
  • Rough layout and UI
    • Nav
    • Masonry layout of images
    • Flash messages
    • Upload and new image modal
  • No account(s)/users. Log-in via email.
  • Images#show
    • click to copy URL
  • Images#edit
    • Add tags to image
    • Add descriptions to image. (Allows for future retrieval of image via a phrase or file name -- matching "mark-cuban-taking-notes.gif" OR "taking-notes.gif" to the proper image)

Beta

  • Convert gif to webm and mp4 (smaller files)
  • Extract frame of gif to jpg/webp/avif
  • Upload via URL
  • Images#index
    • blur/obfuscate "nsfw" images
  • Images#show
    • display tags
    • fav image
  • Images#edit
    • Tag image as "nsfw"
  • Search for image(s)
    • Search by tags and descriptions
    • Order by owner (show me mine first), then others.

v1.0

  • Containerize/Dockerize each version, push to docker-hub
    • Example docker-compose setup in README

v2.0

  • Slack bot. Respond to a message containing a string like "taking-notes.gif" and responding with the correct image.

Finally

tttthhhhank you