A secure, modern file storage and sharing service built with Go and React. Upload, manage, and share files with ease. You can access it at vault.grecil.in.
- Secure Authentication - Powered by Clerk
- File Management - Upload, download, delete files
- File Sharing - Make a file private or public
- Search & Filtering - Fuzzy Search and Sorting
- Object Storage - MinIO backend for scalability
- Storage Quotas - Per-user storage limits
- Rate Limiting - Token Bucket Algorithm
- Modern UI - Responsive React frontend
| Document | Description |
|---|---|
| Setup Guide | Complete local development setup with Docker |
| Design Document | Architecture and technical specifications |
| API Documentation | Interactive API specs (when running) |
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ React │ │ Go │ │ PostgreSQL │
│ Frontend │◄──►│ Backend │◄──►│ Database │
└─────────────┘ └─────────────┘ └─────────────┘
│
▼
┌─────────────┐
│ MinIO │
│ Storage │
└─────────────┘
Frontend:
- React 19 + TypeScript
- Tailwind CSS
- Vite
- Clerk Authentication
Backend:
- Go 1.25 + Gin framework
- PostgreSQL database
- MinIO object storage
- Swagger documentation