CHISTA web UI for code, graph and AI-assisted system exploration.
363
CHISTA Frontend is the web interface for exploring and understanding existing software systems.
It provides project-oriented access to:
The frontend uses:
React
TypeScript
Vite
React Flow
Nginx
The production container builds the application into static assets and serves them through Nginx.
docker pull lipad/chista-frontend:latest
Supported architectures:
linux/amd64
linux/arm64
CHISTA Frontend is intended to run together with the backend and supporting infrastructure.
From the CHISTA repository:
cp infrastructure/.env.example infrastructure/.env
Then:
docker compose \
--env-file infrastructure/.env \
-f infrastructure/compose.yaml \
--profile app \
up -d --no-build
For local image builds:
docker compose \
--env-file infrastructure/.env \
-f infrastructure/compose.yaml \
--profile app \
up -d --build
Standard local URL:
http://localhost:8080
Browser
↓
Nginx
├── static React application
│
└── /api/*
↓
Backend
Nginx serves the built frontend and proxies backend API requests.
Within the Docker network the frontend proxy communicates with:
backend:8081
The browser therefore does not need to know the internal Docker service address.
For frontend development:
cd frontend
npm ci
npm run dev
Vite normally exposes the development application at:
http://localhost:5173
In this mode the frontend development server is different from the production Nginx container.
Production assets are created with:
npm run build
Conceptually:
.ts / .tsx source
↓
TypeScript
↓
Vite
↓
dist/
↓
Nginx
lipad/chista-frontend:latest
lipad/chista-frontend:sha-<commit-sha>
Commit-specific tags are preferred for reproducible deployments.
Frontend CI currently performs:
npm ci
↓
ESLint
↓
TypeScript / Vite build
↓
Docker image build
On main, the image can be published to Docker Hub.
The frontend must never contain private backend credentials.
In particular, the browser must not receive:
database passwords
S3 secrets
Jira API tokens
Confluence API tokens
GitHub tokens
Authentication through Keycloak is planned as the next security step.
The React SPA will be a public OAuth/OpenID Connect client and therefore must not contain a client secret.
Current:
Docker Compose + Nginx
Planned:
Helm
Kubernetes
ArgoCD
Content type
Image
Digest
sha256:e6605d9d7…
Size
27.6 MB
Last updated
20 days ago
docker pull lipad/chista-frontend