Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Alejandrin08/Hackathon-SPEI/llms.txt

Use this file to discover all available pages before exploring further.

B-Accesible is configured through environment variables injected at runtime. Most variables are set automatically by Docker Compose. Only a small set needs to be provided by you in a .env file.

.env file

Create this file at backend/.env before running docker compose up. Docker Compose reads it automatically.
Never commit your .env file to source control. Ensure it is listed in .gitignore.
JWT_SECRET_KEY=your-super-secret-key-min-32-characters-long
DB_PASSWORD=YourStr0ng!Password

Backend — required secrets

These two variables must be set manually. Everything else is derived from them or has a fixed default.
NameRequiredDefaultDescription
JWT_SECRET_KEYYesSecret key used to sign and validate JWT tokens. Must be a strong random string (minimum 32 characters recommended). Shared across all services.
DB_PASSWORDYesSQL Server SA password. Must meet SQL Server complexity requirements: minimum 8 characters with uppercase, lowercase, digit, and special character.
Use a cryptographically random value for JWT_SECRET_KEY. Any service that shares this key can issue valid tokens for the entire system. A short or guessable key is a critical security vulnerability.

AuthService

Injected automatically by Docker Compose. No manual configuration required beyond the .env file.
NameSourceDescription
ConnectionStrings__DefaultConnectionDocker ComposeConnection string to auth_db on the sql-server-db container.
JwtSettings__KeyJWT_SECRET_KEYJWT signing key.
JwtSettings__IssuerFixed valueJWT issuer claim. Value: https://api.backendAuth.com.
JwtSettings__AudienceFixed valueJWT audience claim. Value: https://app.backendAuth.com.

LedgerService

NameSourceDescription
ConnectionStrings__LedgerDbConnectionDocker ComposeConnection string to ledger_db on the sql-server-db container.
JwtSettings__KeyJWT_SECRET_KEYJWT signing key.
JwtSettings__IssuerFixed valueJWT issuer claim. Value: https://api.backendAuth.com.
JwtSettings__AudienceFixed valueJWT audience claim. Value: https://app.backendAuth.com.

AnalyticsService

NameSourceDescription
ConnectionStrings__AnalyticsDbConnectionDocker ComposeConnection string to analytics_db on the sql-server-db container.
JwtSettings__KeyJWT_SECRET_KEYJWT signing key.

OpenFinanceService

NameSourceDescription
ConnectionStrings__OpenFinanceDbConnectionDocker ComposeConnection string to openfinance_db on the sql-server-db container.
JwtSettings__KeyJWT_SECRET_KEYJWT signing key.
JwtSettings__IssuerFixed valueJWT issuer claim. Value: https://api.backendAuth.com.
JwtSettings__AudienceFixed valueJWT audience claim. Value: https://app.backendAuth.com.

AI Service

The AI Service (Python/FastAPI) does not require environment variables. It is configured directly in serviceapi.py.
SettingValueNotes
Model directorybackend/ai_service/models/.pkl files loaded at startup.
CORS allowed originhttp://localhost:5173Matches the Vite dev server.
Default port8001Start with uvicorn serviceapi:app --port 8001.
The AI Service is not included in Docker Compose. Run it separately. See the services reference for instructions.

Frontend (Vite)

No environment variables are required for local development. The Vite app calls the API Gateway at http://localhost:5000 by default.
SettingValueNotes
API base URLhttp://localhost:5000Configured in the Vite project source. Change here if you remap the gateway port.
Dev server port5173Default Vite port.

OcelotGateway

NameSourceDescription
JwtSettings__KeyJWT_SECRET_KEYJWT signing key used to validate tokens before forwarding requests.
JwtSettings__IssuerFixed valueExpected issuer in incoming tokens. Value: https://api.backendAuth.com.
JwtSettings__AudienceFixed valueExpected audience in incoming tokens. Value: https://app.backendAuth.com.

Build docs developers (and LLMs) love