Eozilla App is a Vite + React + TypeScript frontend for OGC API - Processes services.
It lets you connect to a OGC API - Processes service, browse processes, inspect jobs, and review inputs, outputs, and results in a split-panel interface.
- Purpose: interact with OGC API - Processes services from a browser UI
- UI library: Mantine
- State management: Zustand
- Data flow: service registry and provider adapters in
src/service - Persistence: local app state in
src/state - Testing: Vitest
- Select and load a service provider
- Browse available processes
- Inspect process descriptions, inputs, and outputs
- View the job list and job details
- Open job results and error tracebacks
- Persist selected service and UI state locally
src/
components/ UI building blocks, dialogs, and panels
service/ OGC API - Processes models, providers, registry, and helpers
state/ Persisted app state and related types
store/ Zustand store, actions, and hooks
utils/ General helpers, field utilities, and JSON/schema logic
main.tsx Application entry point
Useful entry points when exploring the code:
src/main.tsxinitializes providers, notifications, and the app root.src/components/Main.tsxdefines the main split-panel layout.src/service/index.tsre-exports service-related modules.src/store/store.tssets up application state.
- Node.js and npm
- Optional: Pixi and a checkout of
eozillaif you want to run the local Eozilla Dev-Service backend
npm installnpm run devThe eozilla:dev script expects the eozilla-app repository to be checked out into the
eozilla Python repository.
First do
git clone https://github.com/eo-tools/eozilla.git`
cd eozilla
pixi installthen
git clone https://github.com/eo-tools/eozilla.app.git`
cd eozilla-app
npm installand finally
npm run eozilla:devand in a second terminal
npm run devIn the app, select the Dev Service provider.
npm run dev # Start the Vite dev server
npm run eozilla:dev # Start the local wraptile API server for testing
npm run build # Type-check and build production assets
npm run eozilla:build # Type-check and build production assets into eozilla cuiman
npm run tests # Run the Vitest suite
npm run checks # Run TypeScript type checking and ESLint
npm run format # Format source files with Prettier
npm run preview # Preview the production build locallyThe footer displays the package version plus a release-relative build number:
v0.1.0-dev.0 build 12
The package version comes from package.json. The build number is resolved in
this order:
VITE_BUILD_NUMBERBUILD_NUMBER- The number of commits since the latest reachable public release tag
0
Public release tags are expected to use the vX.Y.Z format, for example
v0.1.0. Development or prerelease tags such as v0.1.0-rc.1 are ignored for
the reset point.
To manually override the build number for local testing or deployment, set an environment variable before building:
$env:VITE_BUILD_NUMBER="12"
npm run buildVITE_BUILD_NUMBER=12 npm run build- UI work usually belongs in
src/components. - Process and service integration work usually belongs in
src/service. - Shared app state and actions belong in
src/store. - Persisted app state belongs in
src/state. - Tests live next to the implementation as
*.test.tsfiles.
- Start with
src/components/Main.tsxto understand the app layout. - Read
src/service/*before changing request/response models or provider behavior. - Read
src/store/*before changing cross-component state. - Keep OGC API - Processes terminology intact:
- A
Processdescribes a capability exposed by the service. - A
Jobis an execution instance of a process.
- A
- Prefer small, local changes over broad rewrites.
- If you change behavior, run
npm run checksandnpm run testsbefore finishing.
MIT. See LICENSE.
