Skip to content

sandboxnu/good-dog-licensing

Repository files navigation

Good Dog Monorepo

This repository is a monorepo for the Good Dog Licensing project, managed with TurboRepo and Bun.

Table of Contents

Structure

The repository is organized as follows:

  • apps/: Contains the main applications.
    • db/: Database-related scripts and configurations.
    • web/: The web application built with Next.js.
  • packages/: Contains shared packages.
    • trpc/: tRPC-related code.
    • ui/: UI components and utilities.
  • tooling/: Contains configuration and tooling for the project.
    • eslint/: ESLint configurations.
    • github/: GitHub Actions and workflows.
    • prettier/: Prettier configurations.
    • tailwind/: Tailwind CSS configurations.
    • typescript: TypeScript configurations.
  • .vscode/: Contains Visual Studio Code settings and recommended extensions.
  • node_modules/: Contains installed dependencies.
  • package.json: Contains project metadata and scripts.
  • tsconfig.json: Contains TypeScript configuration.
  • README.md: The main documentation file for the project.

Getting Started

Prerequisites

Installation

  1. Clone the repository:

    git clone git@github.com:sandboxnu/good-dog-licensing.git
    cd good-dog
  2. Install dependencies:

bun install
  1. Create env files
bun env:setup
  1. Start the dev enviornment:
bun dev

Running Scripts

The following scripts are available in the root package.json:

  • build: Build all packages and applications.
  • clean: Clean all node_modules and Turbo cache.
  • db:up: Start the database.
  • db:down: Stop the database.
  • db:push: Push database schema changes.
  • db:generate: Generate database client.
  • db:migrate: Run database migrations.
  • db:studio: Open the database Studio.
  • db:seed : Seeds the database.
  • dev: Start all the development apps.
  • dev:web: Start only the web app.
  • format: Check code formatting.
  • format:fix: Fix code formatting.
  • lint: Run linting.
  • lint:fix: Fix linting issues.
  • typecheck: Run TypeScript type checks.
  • shad-add: Add a new UI component using Shadcn.
  • generate:package: Generate a new package.
  • env:setup: Setup the default env vars
  • bun test: Run the test suites