Signet
Quickly send files as far as you can shout permalink
Signet is a Ruby on Rails application, designed to be a great way to quickly share a handful of files with family, colleagues or friends as far as your voice will reach. With an account, a sender can upload files, which are saved to a temporary record with a single-word url. Senders can share that word to make navigating to the files easy. Hitting the page where the files are shown, a recipient can download individual files, or download a zip archive of all the files at once.
We utilized Rails ActionMailer to confirm the email accounts users register with, as well as scheduling Chron Jobs with the Whenever Gem to perform scheduled rake tasks to clean up the database as envelopes (collections of files to be shared) will be cleaned up after the expiration time a user selected.
For this project we followed the Services design pattern to remove lots of code from our Controllers to keep them clean, DRY and readable, as well as writing tests in order to facilitate future enhancements of the project without unknowingly damaging functionality.
Technologies used:
- Ruby on Rails 5
- Carrier Wave for uploading of files to AWS S3 Storage.
- Amazon Web Services S3 Storage
- Scalable, secure storage of uploaded files. Edited CORS settings and permissions.
- RubyZip
- Zipped files returned from AWS S3 into a single archive for easy multiple-file downloading.
- Heroku
- Deployed application to Heroku using Heroku CLI toolbelt.
- Bootstrap
- RSpec, FactoryGirl and Faker to facilitate testing.