Hestia is a comprehensive SaaS platform designed to help homeowners track their property's inventory, schedule maintenance tasks, and manage their home efficiently.
For detailed information about the project's architecture, implementation plan, and backend guide, please refer to the documentation in the docs folder:
- Implementation Plan: Detailed roadmap, phases, and launch checklist.
- Architecture Design: High-level architecture, database design, tech stack choices, and real-time synchronization strategy.
- Backend Implementation Guide: Detailed guide for the backend setup, shared packages, and third-party service integration.
- Monorepo Tool: Turborepo
- API Server: Node.js with Fastify
- Web App: Next.js (React)
- Shared Code: TypeScript (
packages/sharedfor schemas, types, constants) - Database: PostgreSQL (Neon)
- Caching & Pub/Sub: Redis (Upstash)
- ORM: Prisma
- Validation: Zod
- iOS: Swift + SwiftUI (
home-app-ios) - Android: Kotlin + Jetpack Compose (
home-app-android)
Note: The mobile app repositories (
home-app-iosandhome-app-android) are planned and do not exist yet.
- Authentication: Clerk / Auth0
- Payments: Stripe
- File Storage: Cloudflare R2 / AWS S3
- Push Notifications: OneSignal
- Background Jobs: BullMQ
- Error Tracking: Sentry
The repository is organized as a monorepo containing the backend API and the web application.
Hestia/
├── .github/ # GitHub Actions and configurations
├── .husky/ # Git hooks
├── apps/
│ ├── api/ # Fastify API server
│ └── web/ # Next.js web application
├── docs/ # Project documentation
│ ├── implementation-plan.md
│ ├── phase0-backend-guide.md
│ └── saas-architecture-v2.md
├── packages/
│ └── shared/ # Shared TypeScript code (schemas, types, constants)
├── .gitignore
├── docker-compose.yml # Local development setup (Postgres + Redis)
├── eslint.config.mjs
├── package-lock.json
├── package.json # Root package configuration
├── tsconfig.json
└── turbo.json # Turborepo configuration
To get started with development, please refer to the Backend Implementation Guide for detailed instructions on setting up the environment, installing dependencies, and running the application locally.
- Node.js (LTS version recommended)
- npm
- Docker (optional, for local database/redis)
-
Clone the repository:
git clone https://github.com/CleCoyneRentals/Hestia.git cd Hestia -
Install dependencies:
npm install
-
Set up environment variables: Copy
apps/api/.env.exampletoapps/api/.envand fill in the required values. See Implementation Plan for details. -
Run development server:
npm run dev
This command will start both the API and the web application in development mode.