Frontend Overview
ORISO Platform includes 2 main frontend applications built with React and Vite, deployed on Kubernetes via Helm charts.Frontend Applications
ORISO-Frontend (User Portal)
- Docker Image:
caritas-frontend:latest - Purpose: Main user-facing application for clients seeking counseling
- Technology: React 18, Vite 4, TypeScript
- Access: https://app.oriso-dev.site
- Key Features:
- User authentication via Keycloak
- Real-time chat via Matrix SDK
- Video calls via LiveKit/WebRTC
- Appointment scheduling
- Profile management
ORISO-Admin (Admin Panel)
- Docker Image:
caritas-admin:latest - Purpose: Administrative interface for agencies and consultants
- Technology: React 18, Vite 4, TypeScript
- Access: https://admin.oriso-dev.site
- Key Features:
- Agency management
- User management
- Consulting type configuration
- System administration
Technology Stack
Build Tools
- Build System: Vite 4 (not Create React App)
- Framework: React 18
- Language: TypeScript
- Package Manager: npm/yarn
Key Dependencies
- Matrix SDK:
matrix-js-sdkfor real-time messaging - Keycloak JS:
keycloak-jsadapter for authentication - WebRTC: LiveKit SDK for video calls
- HTTP Client: Axios or fetch API
Build Process
Development Build
Production Build
Environment Variables
Build-Time Variables
Environment variables are baked into the build at build time (not runtime):Docker Build
Matrix SDK Integration
Matrix Client Service
Location:src/services/matrixClientService.ts
Features:
- Matrix SDK initialization
- User authentication
- Room creation and management
- Real-time message sync
- Event handling
Matrix Call Service
Location:src/services/matrixCallService.ts
Features:
- WebRTC call initiation
- Call state management
- LiveKit integration for group calls
- Call UI components
Matrix Live Event Bridge
Location:src/services/matrixLiveEventBridge.ts
Features:
- Real-time event synchronization
- Message notifications
- Presence updates
- Typing indicators
Keycloak Integration
Keycloak JS Adapter
Location:src/services/keycloakService.ts
Configuration:
Authentication Flow
- User accesses frontend
- Keycloak JS adapter checks for existing session
- If no session, redirects to Keycloak login
- After login, receives JWT tokens
- Tokens included in API requests
Deployment
Kubernetes Deployment
Frontend applications are deployed via Helm:Ingress Configuration
Service Communication
Backend API Calls
Matrix Communication
Monitoring
Health Checks
Frontend applications serve static files via Nginx, health checks verify:- Nginx is running
- Static files are accessible
- Ingress routing works
Error Tracking
Consider integrating:- Sentry for error tracking
- Google Analytics for usage metrics
- Custom analytics endpoints
Troubleshooting
Build Issues
Runtime Issues
Matrix Connection Issues
- Verify Matrix homeserver URL is correct
- Check CORS settings in Matrix Synapse
- Verify Matrix credentials in localStorage
- Check browser console for errors