Skip to content

AshenOne3141/DocLab

Repository files navigation

DocLab

A monorepo with a React client, Express server, and shared lib — powered by pnpm workspaces.

Prerequisites

Quick Start (Docker)

  1. Clone the repo

    git clone <repo-url> && cd DocLab
  2. Create a .env file from the example

    cp .env.example .env

    Edit .env with your values:

    DB_USER=doclab
    DB_PASSWORD=changeme
    DB_NAME=doclab
  3. Build and start all services

    docker compose up --build

    This starts:

    Service URL
    Client http://localhost:5173
    Server http://localhost:3000
    Postgres localhost:5432
  4. Stop services

    docker compose down

    To also remove the database volume:

    docker compose down -v

Local Development

pnpm install
pnpm dev
docker compose up db -d

This runs all packages in parallel:

  • client — Vite dev server with HMR
  • server — tsx watch (auto-restarts on changes)
  • lib — tsc watch (recompiles shared code)

Database Migrations

With Postgres running (docker compose up db -d):

# Generate migrations from schema changes
pnpm --filter @doclab/server db:generate

# Apply migrations
pnpm --filter @doclab/server db:migrate

# Open Drizzle Studio
pnpm --filter @doclab/server db:studio

Project Structure

DocLab/
├── client/          # React + Vite frontend
├── server/          # Express API server
├── lib/             # Shared TypeScript library
├── docker-compose.yml
└── .env

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors