Logo Lanfrica

AmosQuety/VaultKit

Domaine:

digital infrastructure

Type de record:

software
Créateur:
Amo
Hôte:
VaultKit is a modular monorepo for a digital asset management platform built for East African teams, agencies, and creators. # VaultKit VaultKit is a modular monorepo for a digital asset management platform built for East African teams, agencies, and creators. The product is designed around low-bandwidth usage, offline-first mobile workflows, secure multi-tenant workspaces, and AuthHub-backed identity. ## What VaultKit Does VaultKit helps teams store, organize, share, and approve creative assets without relying on heavy enterprise tooling. The main product ideas are: - Workspace-based multi-tenancy with AuthHub tenant provisioning - Role-based access control for admins, editors, viewers, and external clients - Chunked uploads with resumable sync and idempotency - Share links and a lightweight WhatsApp approval flow - Offline-first mobile tagging and upload queueing - Blur-hash and thumbnail previews for low-bandwidth environments ## Tech Stack - Frontend web: React + TypeScript + Vite - Mobile app: React Native + Expo - API: Node.js + Fastify + TypeScript - Workers: BullMQ processing jobs - Database: PostgreSQL on Neon - Cache / queue: Redis - Storage: Cloudflare R2 via a storage adapter package - Auth: AuthHub OIDC/OAuth integration - ORM: Drizzle ORM ## Repository Layout - `apps/web` - dashboard and public web UI - `apps/mobile` - Expo mobile app - `services/api` - Fastify API server and database migrations - `services/workers` - background job workers - `packages/shared` - shared types and utility helpers - `packages/storage-adapter` - storage interface plus R2/local implementations - `docs/` - product, architecture, schema, and AuthHub reference docs - `prompts/` - implementation guidance and workplans ## Getting Started ### 1. Install dependencies ```bash pnpm install ``` If pnpm blocks native build scripts on a fresh machine, run: ```bash pnpm approve-builds --all ``` ### 2. Configure environment Use the root `.env` file for local development. Do not create service-specific env files. Required values for the API include: - `DATABASE_URL` - `AUTHHUB_BASE_URL` - `AUTH …