In today's digital age, users are constantly inundated with an overwhelming amount of content spanning across multiple devices and platforms. Managing and organizing these files, videos, links, and other digital assets can be cumbersome and inefficient. Users often find themselves juggling between different storage solutions, leading to fragmented data and wasted time searching for important information. The lack of a unified system to save and access content seamlessly across various devices poses a significant challenge for productivity and organization.
https://youtu.be/E1qio-j2BAk
OneStore addresses this problem by providing a Free and Open Source Software (FOSS) that unifies the process of saving and accessing digital content. With OneStore, you can effortlessly save files, videos, links, and other shareable items from any device, anywhere, anytime into a single, centralised vault.
The mobile apps ensure that content can be saved instantly and accessed conveniently from anywhere, anytime. The intuitive dashboard website offers a centralized hub for managing all saved content, with advanced search, categorization, and tagging features to enhance organization and retrieval.
OneStore's seamless integration across devices, user-friendly interface, and commitment to privacy and security make it a comprehensive solution for today's digital content management needs.
All Code can be found in the monorepo at: https://github.com/Open-One-Store/OneStore
The Project was started fresh at the start of the event. OneStore had a basic monorepo skeleton before the event began.
At the end of the event, we have a functional Mobile App to share content. We also have a Web dashboard that allows accessing the various items shared from mobile or uploaded through the dashboard. Powering all this is a backend which was built using NodeJS and ExpressJS. For storage MinIO object store was put in place.
Our team of 4 spent 30 hours to build 3 components: A Backend REST API to power all the other components, A mobile app to facilitate sharing items from mobile devices and a Web Dashboard built using ReactJS and rect-router-dom. Documentation was written for the whole backend API and is available at https://open-one-store.github.io/OneStore/ .
At the current stage all features that are implemented are working bug free! They are:
Mobile App
Integration into system share sheet for sharing from other apps
Uploading different types of items: files, links, text, etc.
Dashboard
View all items
Search Items
Organise items using tags and categories
Backend API
Authentication using JWT and sessions
REST API for CRUD operations of the items
Searching, Filtering items using params
There are a lot more features to be added. A few of them are listed here:
A way to browse, edit and delete items using the native mobile app
A more responsive dashboard (Fixing of inconsistencies)
A profile page on the Dashboard
Pagination on the Backend API.
Better session management (current system is very basic and needs to be extended)
Backend API
Express JS
Node JS
Prisma
Minio Object Storage
PostgreSQL
Web Dashboard
React JS
TailwindCSS
react-router-dom
Tanstack Query
vite
Mobile App
Flutter
Dart
OneStore caters to a diverse range of users, each benefiting uniquely from its capabilities.
Students and educators can use OneStore to save and organize study materials, research articles, and educational videos, ensuring they have access to crucial resources across devices.
Professionals can save work documents, project files, and important links, streamlining their workflow and enhancing productivity by having all necessary content in one place.
Content creators can efficiently store and manage creative assets such as photos, videos, and design files, and easily jot down ideas as they come, knowing they can access and expand on them later from any device.
For general users, OneStore simplifies digital life by providing a single location for personal files, travel itineraries, recipes, and more, ensuring all important information is easily accessible and well-organized.