Logo Lanfrica

temesgen-982/abbabal-api

Domaine:

natural language processing

Type de record:

software
Créateur:
tem
Hôte:
Amharic Proverbs | Monorepo # Abbabal Monorepo `pnpm` workspace with three apps and one shared package: - `apps/api`: NestJS API backend (SQLite) - `apps/web`: SvelteKit web frontend - `apps/mobile`: SvelteKit app wrapped with Capacitor for Android - `packages/shared`: shared app contracts and types ## Getting Started ```bash pnpm install pnpm dev:api pnpm dev:web ``` To run the API and web app together: ```bash pnpm dev ``` For the mobile app (web UI only): ```bash pnpm --filter @abbabal/mobile dev ``` ## Mobile (Capacitor / Android) The mobile app builds to `apps/mobile/build` which Capacitor serves as the native WebView. Run these from `apps/mobile` or with `pnpm --filter @abbabal/mobile`. | Command | Description | | ------------------ | -------------------------------------------------------- | | `android:sync` | Copy the web build + plugins into the native project | | `android:run` | Build the web app, then build, install, and launch on a device/emulator | | `android:live` | Live reload on device while `pnpm dev` is running | Typical workflow: 1. `pnpm dev` — start the Vite dev server 2. `pnpm --filter @abbabal/mobile android:live` — open the app on a device/emulator; edits hot-reload without rebuilding the native app 3. To ship: `pnpm --filter @abbabal/mobile android:run` After adding/updating a Capacitor plugin, run `android:sync` to refresh the native project. Launcher icons and splash screens are generated from the source logos in `packages/shared/assets`: ```bash pnpm --filter @abbabal/mobile assets:generate ``` ## Workspace Scripts ```bash pnpm build # build all apps pnpm lint # lint all packages that define it pnpm check # type-check all packages that define it pnpm test # API unit tests pnpm test:e2e # API e2e tests ``` ## Environment The API reads environment variables from the workspace root `.env`. The web frontend can use `apps/web/.en …