Skip to content

aitchwhy/leasy

Repository files navigation

Leasy - Property Management System

Leasy is an enterprise-grade property management system designed to streamline tenant management, lease tracking, utility readings, and invoice generation.

🚀 Tech Stack

📂 Project Structure

  • apps/
    • web: Next.js frontend application.
    • api: Hono API server (Cloudflare Worker).
    • etl: Data ingestion and seeding scripts.
  • libs/
    • db: Database schema, connection, and migrations.
    • domain: Shared domain types and business logic.
    • validators: Shared Zod schemas for validation.

✨ Features

  • Dashboard: Overview of active tenants, leases, and pending invoices.
  • Tenant Management: Onboard and manage tenants and their lease agreements.
  • Utility Tracking: Bulk input for electricity and water readings with multi-meter support.
  • Automated Invoicing: Generate monthly invoices with automatic VAT calculations (Korean tax rules).
  • PDF Export: Download professional invoices instantly.

🛠️ Getting Started

Prerequisites

  • Node.js v20+
  • pnpm v9+

Installation

pnpm install

Environment Setup

Ensure you have the necessary .env files configured for:

  • apps/web: Clerk keys, API URL.
  • apps/api: Database URL, Clerk keys.
  • libs/db: Database URL.

Running Development Server

To start both the frontend and backend in development mode:

pnpm dev

Build & Test

# Lint all projects
pnpm lint

# Typecheck all projects
pnpm typecheck

# Build all projects
pnpm build

🚢 CI/CD

The project uses GitHub Actions for CI/CD. The workflow is defined in .github/workflows/ci.yml and runs linting, typechecking, and building on every push to main.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages