https://github.com/gazi2050/drop
Drop is a modern file storage app for uploading, organizing, and accessing files securely in one place. It's a simple, user-friendly cloud drive for everyday file management and sharing.
https://github.com/gazi2050/drop
imgkit nextjs postgresql react tailwindcss typescript zustand
Last synced: 2 months ago
JSON representation
Drop is a modern file storage app for uploading, organizing, and accessing files securely in one place. It's a simple, user-friendly cloud drive for everyday file management and sharing.
- Host: GitHub
- URL: https://github.com/gazi2050/drop
- Owner: Gazi2050
- Created: 2025-05-17T09:00:18.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2026-04-11T19:14:11.000Z (2 months ago)
- Last Synced: 2026-04-11T20:29:13.859Z (2 months ago)
- Language: TypeScript
- Homepage: https://drop-v2.vercel.app
- Size: 1.88 MB
- Stars: 5
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
> ### Welcome to **Drop** โ a modern file storage and management platform. Upload, organize, search, share, and manage files with a clean responsive interface and secure access control.
## ๐ Key Features
- ๐ **OTP Authentication**
Secure email OTP sign-up/sign-in with protected routes.
- ๐ค **Upload with Smooth Progress UI**
Drag-and-drop uploads with per-file progress bars and mobile-friendly upload tray.
- ๐ง **Smart Duplicate Filename Handling**
Automatically renames duplicate filenames (example: `img01-xy4z.png`).
- ๐ **File Type Organization**
Dedicated sections for **Documents**, **Images**, **Video**, **Audio**, and **Others**.
- ๐ **Debounced Global Search**
Real-time search suggestions with quick navigation to matching results.
- ๐ ๏ธ **Advanced File Actions**
Rename, view details, share, create public links, download, and delete files.
- ๐ **Public Link Sharing**
Generate token-based public links for secure external access.
- ๐ **Storage Analytics**
Track total usage and category-wise usage with charts.
- ๐ฑ **Responsive Experience**
Optimized for desktop and mobile with adaptive navigation.
- ๐ค **Generated User Avatars**
Auto-generated profile avatars based on user name/email.
## ๐งพ Supported File Types
- **Documents:** `PDF`, `DOC`, `DOCX`, `CSV`, `TXT`, `XLS`, `XLSX`, and more
- **Images:** `JPG`, `JPEG`, `PNG`, `GIF`, `BMP`, `SVG`, `WEBP`
- **Video:** `MP4`, `MOV`, `MKV`, `WEBM`, `AVI`
- **Audio:** `MP3`, `WAV`, `OGG`, `FLAC`, `AAC`, and more
- **Others:** Any unsupported extension fallback
## ๐ ๏ธ Installation Guide
1. **Clone the repository**
```bash
git clone https://github.com/Gazi2050/Drop.git
cd Drop
```
2. **Install dependencies**
```bash
pnpm install
```
3. **Create `.env.local`**
```bash
NEXT_PUBLIC_APPWRITE_ENDPOINT=
NEXT_PUBLIC_APPWRITE_PROJECT=
NEXT_PUBLIC_APPWRITE_DATABASE=
NEXT_PUBLIC_APPWRITE_USERS_COLLECTION=
NEXT_PUBLIC_APPWRITE_FILES_COLLECTION=
NEXT_PUBLIC_APPWRITE_BUCKET=
NEXT_APPWRITE_KEY=
```
4. **Run the development server**
```bash
pnpm dev
```
5. **Build and start for production**
```bash
pnpm build
pnpm start
```
## โน๏ธ Notes
- Max upload size is **50MB** per file.
- File access is permission-checked for owner/shared users.
- Public links are tokenized and validated through API routes.
## ๐จ Design
- ๐ผ๏ธ [Figma Design](https://www.figma.com/design/soFJQ4963Rnb5INFivS3Zt/Drop---design?node-id=2-2&p=f)