The backend engine for the Amt-Assistant platform, built with a focus on Domain-Driven Design (DDD) and high-performance AI integration. It processes official German correspondence, extracts semantic data, and manages structured storage.
This project follows Clean Architecture and DDD principles to ensure maintainability and scalability:
- Domain Layer: Pure business logic, entities, and value objects.
- Application Layer: Orchestrates use cases (e.g.,
AnalyzeLetter,GenerateResponse). - Infrastructure Layer: Implements persistence (Prisma/Supabase) and external AI adapters (Gemini API).
- Interface Layer: REST API controllers for frontend communication.
- Framework: NestJS (Node.js)
- Language: TypeScript
- Database: PostgreSQL via Supabase
- ORM: Prisma
- AI Engine: Google Gemini Pro Flash (Multimodal)
- Testing: Jest (Unit & Integration)
- Intelligent Document Extraction: Analyzes images/PDFs using LLM to identify senders and deadlines.
- Semantic Search: Query your bureaucracy archive using natural language.
- Automated Formal Drafts: Generates German formal responses based on letter context.
- Strict Typing: End-to-end type safety from Domain to API.
- Clone the repository.
- Install dependencies:
npm install - Configure
.env(Database URL, Gemini API Key). - Run migrations:
npx prisma migrate dev - Start development:
npm run start:dev
# development
$ npm run start
# watch mode
$ npm run start:dev
# production mode
$ npm run start:prod# unit tests
$ npm run test
# e2e tests
$ npm run test:e2e
# test coverage
$ npm run test:cov