CodeSnapIt, share snap shots of your beautiful code!
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
app
bin
config
data
db
lib
log
public
spec
vendor/assets
.bowerrc
.gitattributes
.gitignore
.rspec
.ruby-version
.travis.yml
CodeSnapIt-Life-Cycle.png
Gemfile
Gemfile.lock
Guardfile
Procfile
README.md
Rakefile
bower.json
config.ru
logo.png

README.md

Snappy the CodeSnapIt Hashtag Turtle CodeSnapIt Build Status

Share snap shots of your beautiful code! See the live application here!

Overview

CodeSnapIt was inspired by the inability to share syntax-highlighted code across social media without taking screenshots and jumping through hoops. Currently, CodeSnapIt is a fully self-contained social media site for sharing code, commenting and liking on that code, and following users.

The Lifecycle of a SnapIt

SnapIt creation involves communicating with a separate application Browserazzi built with Node.js. SnapIt creation can be broken down into these steps:

  1. Editor requests screenshot via AJAX
  2. Temp SnapIt is saved in the database
  3. After temp SnapIt save a call is mode to the screenshot API
  4. API visits temp SnapIt page and takes screenshot
  5. Screenshot AJAX request returns and temp SnapIt is sent to preview
  6. SnapIt is created from accepted preview
  7. Final SnapIt saved in cloud and database

CodeSnapIt Life Cycle

Other Notable Tech

Some of the more interesting parts of the project included:

Team

CodeSnapIt was the final Viking Code School project for Chris Scavello (blog) and Justin Mullis (blog) who were the primary authors. Sia Karamalegos (portfolio), another Viking student, contributed on a smaller scale to experience Agile development on a small team.

TODO [Unreleased]

  • Update paperclip version
  • Update gems to remove github warnings
  • Refactor and add more tests
  • Explore using Webpack