50e25e3ee8
Rename subdirectories for a cleaner single-repo layout: - website-monitoring-backend/ → backend/ - website-monitoring-frontend/ → frontend/ - website-monitoring-devops/ → devops/ Update all references in package.json scripts, CI workflows, docker-compose, pre-commit hooks, and documentation. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
57 lines
1.5 KiB
Markdown
57 lines
1.5 KiB
Markdown
# Website Monitoring Backend
|
|
|
|
Express.js API server that runs Google Lighthouse audits on websites and streams real-time progress via Server-Sent Events.
|
|
|
|
## Tech Stack
|
|
|
|
- **Runtime**: Node.js 18+
|
|
- **Framework**: Express.js
|
|
- **Language**: TypeScript
|
|
- **Auditing**: Google Lighthouse + Chrome Headless
|
|
- **Database**: PostgreSQL (via `pg`)
|
|
|
|
## Quick Start
|
|
|
|
```bash
|
|
cp .env.example .env
|
|
npm install
|
|
npm run build
|
|
npm start
|
|
```
|
|
|
|
## Scripts
|
|
|
|
| Script | Description |
|
|
|--------|-------------|
|
|
| `npm run build` | Compile TypeScript to `dist/` |
|
|
| `npm start` | Run the production server |
|
|
| `npm run dev` | Watch mode for development |
|
|
| `npm test` | Run Jest tests |
|
|
| `npm run test:coverage` | Run tests with coverage report |
|
|
| `npm run lint` | Run ESLint |
|
|
| `npm run format` | Format code with Prettier |
|
|
|
|
## API Endpoints
|
|
|
|
| Method | Path | Description |
|
|
|--------|------|-------------|
|
|
| `GET` | `/` | API info |
|
|
| `GET` | `/health` | Health check |
|
|
| `POST` | `/api/lighthouse` | Start Lighthouse audit (body: `{ "url": "https://example.com" }`) |
|
|
| `GET` | `/api/lighthouse/status/:id` | SSE stream for audit progress |
|
|
|
|
## Environment Variables
|
|
|
|
| Variable | Default | Description |
|
|
|----------|---------|-------------|
|
|
| `PORT` | `5000` | Server port |
|
|
| `DATABASE_URL` | — | PostgreSQL connection string |
|
|
| `CORS_ORIGIN` | `*` | Allowed CORS origin |
|
|
| `CHROME_PATH` | — | Path to Chrome binary (Docker) |
|
|
|
|
## Docker
|
|
|
|
```bash
|
|
docker build -t website-monitoring-backend .
|
|
docker run -p 5000:5000 website-monitoring-backend
|
|
``` |