Experiment
BareAPI
A schema-driven JSON API backend with Symfony and Doctrine.
- Technologies
- PHP · Symfony · Doctrine · JSON Schema · PostgreSQL · FrankenPHP
- My contribution
- My public project exploring a schema-driven backend.
- Sources checked
Repository ↗ · Documentation ↗
The problem
APIs repeat descriptions of resources, validation and persistence. BareAPI explores defining data models through JSON Schema while keeping a familiar PHP backend.
Architecture and decisions
Schemas live in config/schemas; entities and repositories use Doctrine. Identifiers use UUIDv7 through Symfony Uid. FrankenPHP serves the application and Docker Compose describes the development services.
According to the README, adding a schema still requires implementing corresponding entities, controllers and services. This is not an unattended generator for arbitrary production APIs.
Status and tradeoffs
I present it as an experiment. Development CORS and error reporting are not a production security policy. Specific deployments and the next roadmap: TODO confirm.