CloudShare is a scalable cloud file storage platform that allows users to securely upload, manage, and share files with full access control.
Built using modern web technologies and powered by cloud object storage infrastructure.
- 🔐 Secure Cloud Storage
- 📁 Public & Private File Access
- 🔎 Real-time File Search
- ⬇️ Instant File Downloads
- 🔑 API Key Management
- ⚡ Fast CDN Delivery
- 📱 Fully Responsive Dashboard
- 🧑💻 Developer API Support
- React (Vite)
- Tailwind CSS
- React Router
- Lucide Icons
- Node.js
- Express.js
- MongoDB
- Backblaze B2 (Cloud Storage)
- Vercel (Frontend)
- Node Server (Backend)
CloudShare/
│
├── backend/ # Express Backend Server
│ ├── node_modules/
│ ├── src/
│ │ ├── connections/ # Database & cloud connections
│ │ ├── controllers/ # Route logic
│ │ ├── middleware/ # Auth & validation middleware
│ │ ├── models/ # Mongoose models
│ │ └── routes/ # API route definitions
│ ├── .env # Environment variables
│ ├── .gitignore
│ ├── index.js # Server entry point
│ └── package.json
│
├── client/ # React Frontend (Vite)
│ ├── dist/ # Production build output
│ ├── node_modules/
│ ├── public/
│ ├── src/
│ │ ├── API/ # API request handlers
│ │ ├── assets/ # Images, fonts, icons
│ │ ├── components/ # React components
│ │ │ ├── AuthPages/ # Login/Register pages
│ │ │ ├── sideBar/ # Docs and Sidebar components
│ │ │ ├── Upload/ # File upload components
│ │ │ ├── Home.jsx
│ │ │ ├── LandPage.jsx
│ │ │ └── SharePage.jsx
│ │ ├── App.jsx
│ │ ├── main.jsx
│ │ └── index.css
│ ├── .gitignore
│ ├── eslint.config.js
│ ├── index.html
│ ├── package-lock.json
│ ├── package.json
│ ├── README.md
│ ├── vercel.json # SPA routing for Vercel
│ └── vite.config.js
│
├── sdk/ # Future NPM SDK package
│
└── README.md
git clone https://github.com/your-username/CloudShare.git
cd CloudSharecd backend
npm install
npm run devCreate a .env file inside backend/:
PORT=5000
MONGO_URI=your_mongodb_connection_string
B2_KEY_ID=your_backblaze_key_id
B2_APP_KEY=your_backblaze_app_key
B2_BUCKET_ID=your_bucket_id
cd client
npm install
npm run devFrontend runs on:
http://localhost:5173
POST /api/file/upload-url
POST /api/file/metadata
GET /api/file/download/:fileId
PATCH /api/file/toggle-access/:fileId
DELETE /api/file/:fileId
Each file can be:
- Private → Accessible only by owner
- Public → Generates shareable link
Upcoming features:
- Expiring links
- Signed URLs
- Advanced sharing permissions
| Plan | Storage | Price |
|---|---|---|
| Free | 400 MB | Free |
| Pro | 10 GB | $5/mo |
| Business | 100 GB | $15/mo |
npm install cloudshare-sdkExample usage:
import { uploadFile } from "cloudshare-sdk"
await uploadFile(file, {
apiKey: "YOUR_API_KEY",
isPublic: true
})- Authenticated API requests
- Secure cloud infrastructure
- Access-controlled file visibility
- Encrypted file transfers
- Paid subscription tiers
- Custom bucket management
- Expiring public links
- Role-based access control
- Official NPM SDK release
- Analytics dashboard
https://cloud-share-sys.vercel.app/