Local Development¶
This guide covers setting up and running the CPSV Editor — and the backend it depends on — locally for development and testing.
When you need a local backend¶
The editor's frontend works standalone for form editing, TTL generation, import, and export. You need the shared backend running locally when making changes to:
- Backend API endpoints (new routes, modifications)
- Backend services (SPARQL, TriplyDB, Operaton integration)
- CORS configuration
- API versioning or the
/v1/*endpoint structure
The backend serves both the CPSV Editor and the Linked Data Explorer. Breaking it in one context can affect the other.
Architecture¶
┌──────────────────────────────────────────────────────┐
│ Local Development Environment │
├──────────────────────────────────────────────────────┤
│ │
│ CPSV Editor Linked Data Explorer │
│ http://localhost:3000 http://localhost:5173 │
│ (React / CRA) (React / Vite) │
│ │ │ │
│ └──────────┬────────────┘ │
│ ↓ │
│ Shared Backend │
│ http://localhost:3001 │
│ (Node.js + Express + TypeScript) │
│ │ │
│ ↓ │
│ External Services (always remote) │
│ • TriplyDB — api.open-regels.triply.cc │
│ • Operaton — operaton.open-regels.nl │
└──────────────────────────────────────────────────────┘
External services do not need to be running locally. They are always accessed remotely.
Prerequisites¶
- Node.js 20.x or higher
- npm 10.x or higher
- Git
- Access to the
cpsv-editorandlinked-data-explorerrepositories
Setup¶
Frontend (CPSV Editor)¶
Opens at http://localhost:3000.
Shared backend¶
git clone https://github.com/your-org/linked-data-explorer.git
cd linked-data-explorer
npm install
npm run dev:backend
Backend starts at http://localhost:3001.
Linked Data Explorer (optional, for full regression testing)¶
Opens at http://localhost:5173.
Pre-deployment checklist¶
Before pushing to ACC, verify:
- All verification tests pass locally
- Both CPSV Editor and Linked Data Explorer work correctly
- No CORS errors in the browser console
- Backend logs show no errors
- New features work as expected
- Existing features show no regression
- Git commit messages are clear and descriptive