PPPAIMT - Crest
Go to file
Amey Bhagwat 29f879c5d1 # Resolve 2 Signatory image issue in the generated Agreement PDF.
# Step status cards are now in line and status color badges.
# Added save button in survey and a automatically dissapearing toast message for success and error.
# Check the numeric validations for survey fields and added field specific error messages instead of showing all in topside.
2026-10-19 12:13:59 +05:30
backend # Resolve 2 Signatory image issue in the generated Agreement PDF. 2026-10-19 12:13:59 +05:30
docs first commit 2026-10-07 16:32:11 +05:30
e2e first commit 2026-10-07 16:32:11 +05:30
files #Added user (doctor) login 2026-10-19 09:56:57 +05:30
frontend # Resolve 2 Signatory image issue in the generated Agreement PDF. 2026-10-19 12:13:59 +05:30
help #Added user (doctor) login 2026-10-19 09:56:57 +05:30
scripts first commit 2026-10-07 16:32:11 +05:30
README.md #Added user (doctor) login 2026-10-19 09:56:57 +05:30
ecosystem.config.cjs first commit 2026-10-07 16:32:11 +05:30
eslint.config.js first commit 2026-10-07 16:32:11 +05:30
nginx.conf first commit 2026-10-07 16:32:11 +05:30
package-lock.json #Added user (doctor) login 2026-10-19 09:56:57 +05:30
package.json #Added user (doctor) login 2026-10-19 09:56:57 +05:30
playwright.config.js first commit 2026-10-07 16:32:11 +05:30

README.md

Adherence Pack Study

Web app for CREST Private Limited. Physicians sign a consultation agreement, admins review it, and approved physicians receive a survey link.

This repository is an npm workspaces monorepo:

  • backend — Hapi API
  • frontend — React app (Vite)
  • docs — deployment notes

Requirements

  • Node.js 20 or newer
  • npm 10 or newer

MySQL 8 is required for migrations, admin login, and the test suite. The health check itself does not query the database. Tests use a separate database named ppaimt_crest_test on the same host, port, and user as backend/.env.

Setup

cp backend/.env.example backend/.env
cp frontend/.env.example frontend/.env
npm install

Run

npm run dev

The Vite dev server proxies /api to port 4000.

Frontend only

If you are not running the local API, proxy /api to the hosted backend:

npm install
npm run dev:frontend

Then open http://localhost:5173. Requests to /api go to https://pppaimt-crest.xltr.in. Do not submit live agreements unless you intend to change production data.

Database

Create the application database, then:

npm run migrate
ADMIN_EMAIL=admin@example.com ADMIN_PASSWORD='a-long-password' npm run seed:admin

JWT_SECRET must be at least 32 characters. The admin cookie is httpOnly.

Checks

npm test
npm run lint
npm run build

npm run build writes the frontend to frontend/dist.

Deploy

See docs/DEPLOY.md for Ubuntu on EC2, Nginx, PM2, RDS, and S3.