https://github.com/shubhattin/drive
Simple Full Stack Drive Application
https://github.com/shubhattin/drive
deta deta-space i18n svelte sveltekit trpc
Last synced: about 2 months ago
JSON representation
Simple Full Stack Drive Application
- Host: GitHub
- URL: https://github.com/shubhattin/drive
- Owner: shubhattin
- Created: 2022-12-01T14:27:18.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-07-11T12:48:56.000Z (8 months ago)
- Last Synced: 2025-07-11T15:30:44.144Z (8 months ago)
- Topics: deta, deta-space, i18n, svelte, sveltekit, trpc
- Language: TypeScript
- Homepage: https://drive.shubhattin.in
- Size: 474 KB
- Stars: 4
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Drive - Simple file storage application
A modern, full-stack file storage application built with Next.js that provides secure file and folder management with AWS S3 integration.
## ✨ Features
### File Management
- **File Upload** - Upload files up to 500MB with presigned S3 URLs
- **File Download** - Secure download with presigned URLs and proper content disposition
- **File Operations**
- Rename files
- Move files between folders
- Copy files to different locations
- Delete files
- **File Listing** - Browse files and folders with metadata (size, type, dates)
### Folder Management
- **Folder Operations**
- Create new folders
- Rename folders
- Move folders between locations
- Copy folders with all contents (deep copy)
- Delete folders and all contents recursively
- **Hierarchical Structure** - Full nested folder support
- **Folder Navigation** - Browse through folder hierarchy
### Security & Access Control
- **User Authentication** - Secure user authentication system
- **Access Control** - Users can only access their own files and folders
- **Presigned URLs** - Secure, time-limited access to S3 resources
- **Input Validation** - Comprehensive validation using Zod schemas
## 🛠️ Tech Stack
### Frontend
- **Next.js 14** - React framework with App Router
- **TypeScript** - Type-safe development
- **Tailwind CSS** - Utility-first CSS framework
- **Shadcn/UI** - High-quality, accessible UI components
- **tRPC** - End-to-end typesafe APIs
### Backend
- **Next.js API Routes** - Serverless API endpoints
- **tRPC** - Type-safe API layer
- **Drizzle ORM** - TypeScript SQL ORM
### Database & Storage
- **PostgreSQL (Neon)** - Serverless PostgreSQL database
- **Redis (Upstash)** - Serverless Redis for caching
- **AWS S3** - Object storage for files
### Authentication
- **Custom Auth System** - Built-in authentication with session management
## Previous Version
Untill [this commit](https://github.com/shubhattin/drive/tree/f945f5112d842b48ba9b69a7e1a1bb2a054aafef)
- **[SvelteKit](https://kit.svelte.dev/)** - Sveltekit as Backend as well as Frontend using ([Svelte](https://svelte.dev/), [TypeScript](https://www.typescriptlang.org/))
- **[tRPC](https://trpc.io/)** - Typesafe API for auth and Drive API
- **_[Deta](https://deta.space/developers)_** - A Free Hosting service to host and deploy our app. Also provides inbuilt support for databases and File Storage. This service is **no longer operational**.
This Repository was using **[FastAPI](https://fastapi.tiangolo.com/)** as Backend and _[GraphQL](https://strawberry.rocks/)_ for Drive API, till [this commit](https://github.com/shubhattin/drive/tree/a4a41919d92f0d614d4773efa6551f8653373714).
I had also _built_ the same site using **Nextjs** and **React** for frontend, [here](https://github.com/shubhattin/drive-react).