Files
explorer-monorepo/README.md
2026-03-02 12:14:13 -08:00

87 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# SolaceScanScout Explorer - Tiered Architecture
## 🚀 Quick Start - Complete Deployment
**Execute this single command to complete all deployment steps:**
```bash
cd ~/projects/proxmox/explorer-monorepo
bash EXECUTE_DEPLOYMENT.sh
```
## What This Does
1. ✅ Tests database connection
2. ✅ Runs migration (if needed)
3. ✅ Stops existing server
4. ✅ Starts server with database
5. ✅ Tests all endpoints
6. ✅ Provides status summary
## Manual Execution
If the script doesn't work, see `START_HERE.md` for step-by-step manual commands.
## Frontend
- **Production (canonical):** The **SPA** (`frontend/public/index.html`) is what is deployed and served at **https://explorer.d-bis.org** (VMID 5000).
- **Next.js app** in `frontend/src/` is for **local dev and build validation only**; it is not deployed to production.
- **Deploy frontend only:** `./scripts/deploy-frontend-to-vmid5000.sh` (from repo root; copies `index.html` and assets to `/var/www/html/`)
- **Frontend review & tasks:** [frontend/FRONTEND_REVIEW.md](frontend/FRONTEND_REVIEW.md), [frontend/FRONTEND_TASKS_AND_REVIEW.md](frontend/FRONTEND_TASKS_AND_REVIEW.md)
## Documentation
- **`docs/README.md`** — Documentation overview and index
- **`docs/EXPLORER_API_ACCESS.md`** — API access, 502 fix, CSP, frontend deploy
- **`START_HERE.md`** — Quick start with all commands
- **`COMPLETE_DEPLOYMENT.md`** — Detailed deployment steps
- **`DEPLOYMENT_COMPLETE_FINAL.md`** — Final status report
- **`README_DEPLOYMENT.md`** — Deployment quick reference
- **`deployment/DEPLOYMENT_GUIDE.md`** — Full LXC/Nginx/Cloudflare deployment guide
- **`docs/INDEX.md`** — Bridge and operations doc index
## Architecture
- **Track 1 (Public):** RPC Gateway - No authentication required
- **Track 2 (Approved):** Indexed Explorer - Requires authentication
- **Track 3 (Analytics):** Analytics Dashboard - Requires Track 3+
- **Track 4 (Operator):** Operator Tools - Requires Track 4 + IP whitelist
## Configuration
- **Database User:** `explorer`
- **Database Password:** `L@ker$2010`
- **RPC URL:** `http://192.168.11.250:8545`
- **Chain ID:** `138`
- **Port:** `8080`
## Reusable libs (extraction)
Reusable components live under `backend/libs/` and `frontend/libs/` and may be split into separate repos and linked via **git submodules**. Clone with submodules:
```bash
git clone --recurse-submodules <repo-url>
# or after clone:
git submodule update --init --recursive
```
See [docs/REUSABLE_COMPONENTS_EXTRACTION_PLAN.md](docs/REUSABLE_COMPONENTS_EXTRACTION_PLAN.md) for the full plan.
## Testing
- **All unit/lint:** `make test` — backend `go test ./...` and frontend `npm test` (lint + type-check).
- **Backend:** `cd backend && go test ./...` — API tests run without a real DB; health returns 200 or 503, DB-dependent endpoints return 503 when DB is nil.
- **Frontend:** `cd frontend && npm run build` or `npm test` — Next.js build (includes lint) or lint + type-check only.
- **E2E:** `make test-e2e` or `npm run e2e` from repo root — Playwright tests against https://explorer.d-bis.org by default; use `EXPLORER_URL=http://localhost:3000` for local.
## Status
✅ All implementation complete
✅ All scripts ready
✅ All documentation complete
✅ Frontend: C1C4, M1M4, H4, H5, L2, L4 done; H1/H2/H3 (escapeHtml/safe href) in place; optional L1, L3 remain
✅ CI: backend + frontend tests; lint job runs `go vet`, `npm run lint`, `npm run type-check`
✅ Tests: `make test`, `make test-e2e`, `make build` all pass
**Ready for deployment!**