A Rails engine that enables file browsing and retrieval from cloud storage providers like Dropbox, Google Drive, and S3.
BrowseEverything is a Ruby on Rails engine that provides file browsing and retrieval capabilities from cloud storage providers. It solves the problem of integrating multiple cloud storage services into Rails applications by offering a unified interface with OAuth authentication and secure file access.
Rails developers building applications that need to import or access user files from cloud storage services like Dropbox, Google Drive, or Amazon S3.
Developers choose BrowseEverything because it provides a ready-made solution for cloud storage integration with multiple providers, handles OAuth authentication complexities, and offers both JavaScript and server-side file retrieval options within the familiar Rails ecosystem.
Rails engine providing access to files in cloud storage
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports Dropbox, Google Drive, Box, Amazon S3, Sharepoint, and local shares, offering a consistent API that abstracts provider-specific complexities.
Handles OAuth flows to access user accounts without storing credentials, reducing security risks and simplifying integration.
Can be triggered via HTML data attributes or JavaScript with configurable options like MIME type filtering, catering to different development workflows.
Provides BrowseEverything::Retriever with retrieve and download methods for streaming or saving files server-side, including progress callbacks.
Relies on jQuery and unmaintained gems like dropbox_api and ruby-box, increasing technical debt and potential compatibility issues with modern Rails setups.
The README admits maintenance has been minimal for years, with some adapters requiring extra setup and possibly not working, and no dedicated product owner.
CSS and JavaScript are tied to sprockets, making integration with Rails 8's default importmaps or npm bundlers challenging without manual asset copying or setup.