A full-stack interoperability system with REST APIs, persistent data, frontend components, CLI tooling, tests, documentation and Docker-based development.
The problem
Interoperability between several parties needs consistent contracts across data ingestion, persistence, operator workflows and the systems that consume the data. It must do so without implying a real-world production deployment.
What was built
A requirements-led full-stack system with a TypeScript backend, a RESTful API, Prisma database assets, a frontend, a command-line client, tests, documentation and a reproducible Docker Compose environment.
Technical approach
- The frontend and the CLI use the same REST interface
- The backend coordinates validation and access to persistent data
- Prisma assets define the database integration layer
- Docker Compose reproduces the development topology
- Requirements and documentation link the intent of the system to its implementation
Engineering decisions
- Keep API access available to both graphical and command-line clients.
- Model persistence explicitly rather than treating exchanged data as transient files.
- Package the multi-component development environment in containers.
- Keep the requirements and system documentation next to the implementation.
How it was checked
- The repository contains a backend, a frontend, a CLI client, a data dump, documentation and tests.
- The backend uses TypeScript and a REST API, with Prisma assets and a test structure.
- The Docker Compose configuration supports reproducible development.
What it shows
Turning a multi-party interoperability problem into a structured full-stack system with APIs, data modelling, tooling, tests and documentation.
About the source
Academic engineering project. This page does not claim use by real toll operators or a live toll-system deployment.