Enklave is a collaborative family and couple management software designed to simplify everyday life. It offers secure file and media storage, shared shopping lists, and notes, enabling seamless organization and sharing between family members or partners. With Enklave, you can centralize important documents, coordinate tasks, and keep everyone connected, whether at home or on the go.
- backend/: NestJS (TypeScript) API with Fastify, Prisma (PostgreSQL), authentication, file management, newsletters, and more.
- frontend/: Nuxt 4 (Vue 3) application for the user interface, packaged as a desktop app via Tauri.
- website/: Nuxt 4 (Vue 3) public website, static or SSR.
- Install global dependencies:
bun install
- Install dependencies for each module:
cd backend && bun install cd ../frontend && bun install cd ../website && bun install
- Development:
cd backend bun run start:dev - Production:
bun run build bun run start:prod
- Web development:
cd frontend bun run dev - Desktop app (Tauri):
bun run tauri:dev # For desktop build bun run tauri:build
- Development:
cd website bun run dev - Static build:
bun run generate
- Migration:
cd backend bunx prisma migrate dev - Seed:
bun run prisma:seed
- Environment variables should be set in each folder (
.env). - Example for backend:
DATABASE_URL=postgresql://user:password@localhost:5432/enklave JWT_SECRET=...
- Lint:
bun run lint bun run lint:fix
- Tests:
bun run test
- Backend: Docker, VPS, or any Node/Bun-compatible cloud.
- Frontend: Standard web deployment (Vercel, Netlify, etc.) or desktop build via Tauri.
- Website: Static or SSR deployment.
This project is licensed under CC-BY-NC-ND.
Tom CZEKAJ aka Xen0Xys
For any questions or contributions, open an issue or pull request!