PrintBoards is based on Telescope a social news app and allows users to upload, view, comment, and browser printable 3D models in a manor similar to Reddit. PrintBoards receives its core social functionality from the telescope packages and then uses other community packages to integrate with Amazon S3 Storage and utilize ThreeJS to display each model.
Working with ThreeJS is always a real treat, however it is never without its quirks. In this case, because I was developing on Meteor and using Blaze view layer I ran into some very interesting issues where the CPU would slowly get bogged down due to some resources not being cleaned up correctly.
The developers of Telescope did an amazing job creating a core which was, by default, mobile friendly.
Another advantage of developing on a platform with a active community is you often don’t have to reinvent the wheel. Atmosphere was an amazing resource when it comes with integrating with other social networks to use O-Auth
.
PrintBoards uses a ‘slingshot’ methodology, sending the items meta information to the MongoDB for storage while shipping the actual file up to an S3 bucket.
Uploader takes the the file and applies the meta information to the post behind the scenes.
The Slingshot package allows for a variety of customizations and limitations including size.
Whoops looks like that file was over the 5mb limit!
Slingshot can be used for essentially any kind of media or file and is limited only by the MIME types you designate.