Share snap shots of your beautiful code! See the live application here!
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:
- Editor requests screenshot via AJAX
- Temp SnapIt is saved in the database
- After temp SnapIt save a call is mode to the screenshot API
- API visits temp SnapIt page and takes screenshot
- Screenshot AJAX request returns and temp SnapIt is sent to preview
- SnapIt is created from accepted preview
- Final SnapIt saved in cloud and database
Other Notable Tech
Some of the more interesting parts of the project included:
- Tagging using At.js
- Searchable concern to share across multiple models
- Using Gravatar as a profile image option
- Custom controller methods for Devise
- Slugified user profile links
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.
- Update paperclip version
- Update gems to remove github warnings
- Refactor and add more tests
- Explore using Webpack