Database and backend APIs

Planned PostgreSQL-backed entities, relationships, and typed APIs generated from your schema.

PlannedFoundation module. Not available yet. Edict is in development.

Illustrative entity definition

AgentEdit edict.yaml+8illustrative
Illustrative entity definition. Line number, change, code. Lines under modules are added.
1modules:
2+Added data:
3+Added workouts:
4+Added owner: user
5+Added fields:
6+Added title: text
7+Added started_at: timestamp
8+Added duration_min: integer
9+Added indexes: [started_at]

The syntax is not final. Your coding agent would edit this file.

What is the planned Database and backend APIs module designed to do?

The database module holds your application data. Edict is designed around PostgreSQL, and the intent is that the entities you describe compile into native PostgreSQL tables and constraints. You describe the data once. The system is meant to derive the storage, the validation, and the API from that description.

Planned functionality includes application-specific entities and schemas, relationships, validated data types, create, read, update, and delete operations, domain-specific operations, queries with filtering and pagination, database constraints, safe migrations, generated typed APIs, and user-scoped authorization.

How does the Database and backend APIs module connect to other modules?

The database module is where several other modules meet your data.

  • Database + Authentication. An owner: user rule on an entity is designed to become user-scoped authorization. The module is designed to enforce that each person reaches only their own rows, and the identity comes from the authentication module.
  • Database + Files. A record can point to an uploaded file, such as a receipt attached to an expense. The file module is designed to apply the same ownership as the record.
  • Database + Business logic. Rules such as streaks, capacity limits, or inventory adjustments work on your entities. Atomic changes are intended to run inside the database so two requests cannot both win.
  • Database + Background jobs. A scheduled task can read and update records, for example to expire old items or build a daily summary.

A common case: a habit tracker. Authentication gives identity, the database stores check-ins owned by the user, and business logic computes the streak from those check-ins. You declare each part, and the compiler is designed to connect them.

What would you configure in the Database and backend APIs module?

You configure entities, field types, relationships, constraints, indexes, and who owns each record. You also choose which operations the generated API exposes for each entity, and the query shapes your app needs, such as filters and sort order.

The configuration on this page is illustrative. The syntax is not final.

What stays your own code with the Database and backend APIs module?

Your client decides how data is shown and edited. Your product decides what the entities mean. Complex reporting that does not fit the planned query model stays your responsibility, and Edict does not aim to hide PostgreSQL from you. The design goal is that the output is standard and inspectable, so you can read what was generated.

Is the Database and backend APIs module available yet?

Planned. Edict is in development, and this module is not available today. Migrations, performance, and scale are not claimed until they are built and measured. This page describes the intended design only.

Join the beta waitlist to follow progress.

What does the Database and backend APIs module work with?

Database and backend APIs is designed to connect to 5 other modules. The lit arcs on the map show which.

Composition mapplanned, illustrative

Common questions about the Database and backend APIs module

Short answers about this planned module.

Is the database really PostgreSQL?
Edict is designed around PostgreSQL. Application schemas are intended to compile into native tables and constraints, not into a custom storage layer.
Do I write the API by hand?
The plan is to generate typed APIs from your schema, including filtering and pagination. Domain-specific operations are planned too. None of this is available yet.
How are schema changes handled?
Safe migrations are a planned part of the module. Automatic migration behavior is not claimed until it is built and tested.

Get an invitation when the beta opens.

Joining gets you email updates while Edict is built, and an invitation to the hosted beta when it opens.

Building now. No launch date yet.