Skip to main content

Technology

The current adiuto is a complete rebuild of the earlier Drupal platform. It uses a TypeScript-based web architecture designed around the needs, commitments, and handovers described in this documentation.

Main components

AreaTechnologyPurpose
Web applicationNext.js and ReactResponsive interface, server rendering, and multilingual routes
APIHono and TypeScriptTyped application endpoints and real-time connections
DataPostgreSQL and PrismaTransactional storage and explicit data modelling
SearchMeilisearchFast search across needs, initiatives, and locations
AccountsBetter AuthRegistration, sessions, and account security
Background workpg-bossReliable processing of notifications and other queued work
OperationPodman containersReproducible deployment of the web, API, database, and search services

Exact versions change over time; the deployed application and its lockfiles are the source of truth.

Reliability where it matters

A commitment is more than a user-interface action. When a mission is committed, adiuto reduces the remaining demand in a database transaction. Competing commitments cannot silently claim the same last quantity. QR handovers are checked so that scanning twice does not complete the same mission twice.

Data belonging to different initiatives is kept separate at the application and database boundaries. State changes are written transactionally before notifications and live updates are processed.

Privacy and accessibility

The new implementation starts with fresh accounts and memberships instead of carrying old personal records forward. Initiative teams are encouraged to publish organisational rather than private contact details and to keep sensitive recipient data out of public tasks.

The web interface is responsive and available in German and English. Practical guidance is collected under Privacy and safe use.