Check out the live demo of the Cherry Storage – Web-Based Cloud Storage:


Based on this TikTok video, this is the reason why I created this project. This project is a cloud storage platform similar to Google Drive, featuring a "Secured Folder" option. When this feature is enabled, no one can delete the folder except the collaborators assigned to it.
This project includes several key features that enhance user experience and functionality:
- CRUD Operations for Folders: Users can create, read, update, and delete folders seamlessly for better file organization.
- CRD Operations for Files: Users can create, read, and delete files within their storage, ensuring smooth file management.
- Folder Sharing: Allows users to share folders with others, enabling collaboration and easy access to shared content.
- Add Collaborators to Folders: Users can add collaborators to specific folders, granting them access based on permissions.
- Folder Visibility (Private/Public): Users can set folder visibility to either private (restricted access) or public (accessible to anyone with the link).
- Secured Folder: Ensures that only collaborators can modify or delete the folder and download files within it, enhancing data protection.
- Starred Folder: Users can mark important folders as starred for quick and easy access.
- Recent Files: Automatically lists recently downloaded files for convenient access to frequently used documents.
- User Account Management: Users can update their profile details, including name, email, password, and profile picture.
- Search: A powerful search feature that allows users to find folders and files across different locations, with an overlay focus result for better visibility of search results.
List the technologies and tools used in this project.
Step-by-step guide on how to set up and run the project locally.
- Node.js
- Git
-
Clone the repository:
git clone https://github.com/dillahCodes/cloud-storage-project.git cd cloud-storage-project
-
Install dependencies:
npm install
-
Set up environment variables by creating a
.env
file in the root directory (provide an example if needed):VITE_FIREBASE_API_KEY=your_firebase_api_key VITE_FIREBASE_AUTH_DOMAIN=your_firebase_auth_domain VITE_FIREBASE_PROJECT_ID=your_firebase_project_id VITE_FIREBASE_STORAGE_BUCKET=your_firebase_storage_bucket VITE_FIREBASE_MESSAGING_SENDER_ID=your_firebase_messaging_sender_id VITE_FIREBASE_APP_ID=your_firebase_app_id VITE_FIREBASE_MEASUREMENT_ID=your_firebase_measurement_id VITE_USE_FIREBASE_EMULATOR=true # set to true to use firebase emulators or false to use in production VITE_USE_STORAGE_CAPACITY= 52428800 # user storage capacity in bytes
-
Start the development FrontEnd server:
npm run dev
-
Start the development Database Server:
npm run db
-
Local FrontEnd Server
http://localhost:5173
-
Local Firebase Server
http://127.0.0.1:4000
-
Available Script:
npm run dev npm run db npm run build npm run preview npm run lint
![]() |
![]() |
---|---|
Home Page | Register or Login Page |
![]() |
![]() |
Collaborator and Secured Folder | Edit Profile Page |
![]() |
![]() |
Search Result | Search Result Overlay |
This project is licensed under the MIT License
- Email: [email protected]
- GitHub: dillahCodes