Aipithet is a second take on the AI-EDI labeling platform.
Make sure to use pnpm
to respect the project's lockfile:
pnpm install
You can then run the dev server:
pnpm dev
You can generate migrations locally to update the database schema:
pnpm db:generate
and then apply newly generated migrations to the database instance accessible through your .env
variables:
pnpm db:migrate
Authentication is built directly into our database without any external services. We currently provide only email & password flow with confirmation codes used to both confirm users' emails and allow for invitations.
Throughout the app, authorization draws on two complementary strategies: role-based access control
and database query helpers (reusable user-based WHERE
clauses) for some more granular semblant of
attribute-based access control.
Use of translations is twofold: some translations such as UI contents and error messages are hard-coded at the app level, others such as project titles and descriptions are defined dynamically and saved in the database.
Aipithet uses Inlang and Paraglide-js for translated in-app messages.
A versatile approach is adopted to allow easy addition of languages in the future without requiring any extensive schema modification.
Things are not deployed yet. This is still early work in progress and is more provided to illustrate the proposed data model.