Balkin Vault is a full‑stack, personal cloud storage and sharing app. The frontend (Next.js) provides drag‑and‑drop uploads, duplicate‑name resolution, previews (PDF/image/audio), powerful search with filters, starred/recent views, and rich sharing (public links and specific users). The backend (Go + gqlgen GraphQL on Gin) stores metadata in Postgres and file objects in MinIO (S3‑compatible), issues presigned URLs for efficient browser uploads/downloads, enforces MIME policy and per‑user quotas, and tracks activities/analytics. CI runs Go unit tests and Playwright E2E, and Docker Compose powers both local dev and production deployment.
- Getting started & tests:
docs/testing-documentation/testing.md - Architecture overview:
docs/architecture-documentation/architecture.md - Graphql docs:
docs/api-documentation/graphql-schema.md - REST/OpenAPI reference:
docs/api-documentation/openapi.yaml - Features (user perspective):
docs/features/features(user-perspective).md - Database docs:
docs/database-documentation/database-schema.md - Backend specifics and commands:
backend/README.md - Frontend specifics and commands:
balkindid-vault-frontend/README.md
-
Sign in securely
- Use Google Sign‑In. Your session stays secure with HttpOnly cookies.
-
Upload files effortlessly
- Drag and drop anywhere on the page; a clear full‑screen overlay guides you.
- See live progress with upload notifications; errors are surfaced with toasts.
- Duplicate names are handled before upload: choose Overwrite or create a Copy (auto‑rename).
-
Organize your files
- Create folders and keep a personal root folder.
- Move files with drag‑and‑drop between folders.
- Select multiple items for bulk delete.
-
Find things fast
- Quick search across your files (debounced for speed).
- Filter and sort with easy chips and controls.
- Long lists support “Load more” pagination.
-
Share the way you want
- Make a file or folder public with a share link you can toggle on/off anytime.
- Share privately with specific people by email (they’ll see it only if granted).
- Public share pages let recipients preview/browse shared files and folders, and download when allowed.
-
Stay private by default
- Items are private unless you explicitly share them.
- You control specific access lists and public/private status.
-
Preview and download
- Preview PDFs, images, and audio inline (when reasonably sized); otherwise download the original.
- One‑click “Open” or “Download” from lists and details.
-
Favorites and recent
- Star important items to see them in the Starred view.
- Recently Accessed shows what you opened/downloaded most recently.
-
Details at a glance
- Open the details panel to view metadata, size, type, created date, and sharing state.
- Add/remove tags and see who has access.
-
Tags
- Add simple tags to files and filter by them to find related content quickly.
-
Your account and storage
- See how much storage you use and how much you save thanks to de‑duplication.
- Friendly errors guide you if you hit plan limits.
-
If you’re an admin
- View analytics like total files, users, storage, downloads, daily trends, popular files, and top uploaders.

