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-managerpackage (included inrequirements.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_URLin your.envfile: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
- Setting up server environment — the first step, to run this app in environment.
- Development Hosts & Ports — which app runs on which host/port
This is a Turborepo. What's inside?
Apps and Packages
apps/Backend— Express.js API serverapps/Frontend— React + Vite frontendapps/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— sharedtsconfig.jsons
Each package/app is 100% TypeScript (except the Python services).
Utilities
- Tailwind CSS for styles
- TypeScript for static type checking
- ESLint for code linting
- Prettier for code formatting