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
| Area | Technology | Purpose |
|---|---|---|
| Web application | Next.js and React | Responsive interface, server rendering, and multilingual routes |
| API | Hono and TypeScript | Typed application endpoints and real-time connections |
| Data | PostgreSQL and Prisma | Transactional storage and explicit data modelling |
| Search | Meilisearch | Fast search across needs, initiatives, and locations |
| Accounts | Better Auth | Registration, sessions, and account security |
| Background work | pg-boss | Reliable processing of notifications and other queued work |
| Operation | Podman containers | Reproducible 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.