Skip to content

Xen0Xys/Enklave

Repository files navigation

Enklave

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.

Project Structure

  • 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.

Installation

  1. Install global dependencies:
    bun install
  2. Install dependencies for each module:
    cd backend && bun install
    cd ../frontend && bun install
    cd ../website && bun install

Usage

Backend (API)

  • Development:
    cd backend
    bun run start:dev
  • Production:
    bun run build
    bun run start:prod

Frontend (Web/Desktop)

  • Web development:
    cd frontend
    bun run dev
  • Desktop app (Tauri):
    bun run tauri:dev
    # For desktop build
    bun run tauri:build

Website (Public)

  • Development:
    cd website
    bun run dev
  • Static build:
    bun run generate

Database & Prisma

  • Migration:
    cd backend
    bunx prisma migrate dev
  • Seed:
    bun run prisma:seed

Configuration

  • Environment variables should be set in each folder (.env).
  • Example for backend:
    DATABASE_URL=postgresql://user:password@localhost:5432/enklave
    JWT_SECRET=...

Development & Contribution

  • Lint:
    bun run lint
    bun run lint:fix
  • Tests:
    bun run test

Deployment

  • 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.

License

This project is licensed under CC-BY-NC-ND.

Author

Tom CZEKAJ aka Xen0Xys


For any questions or contributions, open an issue or pull request!

About

Enklave is a collaborative family and couple management software.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors