A modern file storage and management application built with Vue.js, Hono, Cloudflare Workers, Cloudflare R2, and Cosmos DB.
🚧 Under Active Development
This project is currently in active development. Core features are functional but some features are still being implemented. See docs/roadmap.md for detailed project status and roadmap.
Implemented:
- Secure File Storage: Upload, organize, and manage your files
- Authentication: Secure access with email/password login, passwordless magic links, and password recovery
- Cloud-Native Infrastructure: Built on Cloudflare Workers and Azure for reliable, scalable storage
- Modern User Experience: Clean, intuitive interface with dark/light theme support
- Type-Safe Architecture: Robust API contracts ensuring data integrity
- Frontend: Vue 3, Pinia, Tailwind CSS, Vue Router
- Backend: Hono (Node.js), TypeScript
- Storage: Cloudflare R2, Azure Cosmos DB
- Authentication: Argon2id password hashing, JWT tokens, magic links
- Email: Resend API (production), in-memory capture (dev/tests)
- Testing: Vitest (unit + integration tests)
- SDK: Shared TypeScript/Zod schemas for API contracts
vault-storage/
├── apps/
│ ├── web/ # Vue.js frontend (vertical slice modules)
│ └── server/ # Hono backend API
├── packages/sdk/ # Shared Zod schemas + VaultClient
└── docs/ # ADRs and roadmap
For local development setup and instructions, see CONTRIBUTING.md.
See docs/deploy.md for the full production deployment guide. Covers provisioning infrastructure (Azure + Cloudflare), setting up Infisical for secret management, and configuring GitHub Actions CI/CD.
- Deployment Guide — production setup and CI/CD
- Architecture Decisions (ADRs) - Design rationale and technical decisions
- Roadmap - Project status and roadmap
- Domain Documentation - Multi-context architecture
MIT License - see LICENSE file for details.
See CONTRIBUTING.md for guidelines on contributing to this project.