Files
ff e10126f772 docs: rewrite README with complete step-by-step setup guide
Adds ordered setup steps (Node.js, Python, Chrome, PostgreSQL, Redis,
pip dependencies) so a fresh machine can be fully configured from
git clone to running the app without guessing.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-13 22:30:15 -04:00

4.0 KiB

Dental Manager - Starter

A monorepo setup to manage both Backend and Frontend of the Dental Manager application.

🖥️ Setup Guide (Fresh Machine)

Follow these steps in order after cloning the repository.

Step 1 — Clone the repository

git clone <your-repo-url>
cd DentalManagementMHAprilgg

Step 2 — Install Node.js

Required to run the Backend and Frontend.

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs

# Verify
node -v   # should print v20.x.x
npm -v

Step 3 — Install Python

Required to run the Selenium and OCR services.

sudo apt-get install -y python3 python3-pip python3-venv

# Verify
python3 --version   # should print 3.10 or higher

Step 4 — Install Chrome

Required for the Selenium service to control a browser.

wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google-chrome.list
sudo apt-get update
sudo apt-get install -y google-chrome-stable

# Verify
google-chrome --version

The webdriver-manager package (included in requirements.txt) automatically downloads the matching ChromeDriver — no manual driver setup needed.

Step 5 — Install PostgreSQL

Primary database for the application.

sudo apt-get install -y postgresql postgresql-contrib
sudo systemctl enable postgresql
sudo systemctl start postgresql

# Create a database and user (replace values as needed)
sudo -u postgres psql -c "CREATE USER dental_user WITH PASSWORD 'yourpassword';"
sudo -u postgres psql -c "CREATE DATABASE dental_db OWNER dental_user;"

# Verify
psql -U dental_user -d dental_db -c "\conninfo"

Then update DATABASE_URL in your .env file:

DATABASE_URL="postgresql://dental_user:yourpassword@localhost:5432/dental_db"

Step 6 — Install Redis

Used as the job queue for Selenium and OCR background tasks.

sudo apt-get install -y redis-server
sudo systemctl enable redis-server
sudo systemctl start redis-server

# Verify
redis-cli ping   # should print: PONG

Step 7 — Install Node.js dependencies

npm install

Step 8 — Install Python dependencies

Each Python service has its own dependencies:

# Selenium automation service
cd apps/SeleniumService
pip3 install -r requirements.txt
cd ../..

# Payment OCR service
cd apps/PaymentOCRService
pip3 install -r requirements.txt
cd ../..

Step 9 — Set up environment variables

Copy the .env.example files and fill in the required values.

npm run setup:env

Step 10 — Set up the database

# Run migrations
npm run db:migrate

# Generate Prisma types
npm run db:generate

# Insert seed data
npm run db:seed

Step 11 — Run the app

Open two terminals:

Terminal 1 — Backend + Frontend:

npm run dev

Terminal 2 — Selenium service:

cd apps/SeleniumService
python3 agent.py

📖 Developer Documentation


This is a Turborepo. What's inside?

Apps and Packages

  • apps/Backend — Express.js API server
  • apps/Frontend — React + Vite frontend
  • apps/SeleniumService — Python FastAPI service for browser automation (insurance eligibility, claims)
  • apps/PaymentOCRService — Python service for payment OCR extraction
  • @repo/eslint-config — shared ESLint configuration
  • @repo/typescript-config — shared tsconfig.jsons

Each package/app is 100% TypeScript (except the Python services).

Utilities