Document fullstack app commands and fix Moon config
This commit is contained in:
@@ -55,6 +55,46 @@ jupyter notebook notebook.ipynb
|
|||||||
|
|
||||||
There is no project test suite, lint command, or build system configured in the current repository.
|
There is no project test suite, lint command, or build system configured in the current repository.
|
||||||
|
|
||||||
|
## Fullstack app commands
|
||||||
|
|
||||||
|
The TypeScript application scaffold lives at the repository root and uses Bun workspaces with Moon tasks.
|
||||||
|
|
||||||
|
Install dependencies:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
bun install
|
||||||
|
```
|
||||||
|
|
||||||
|
Run all development tasks through Moon:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
bun run dev
|
||||||
|
```
|
||||||
|
|
||||||
|
Run type checks:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
bun run typecheck
|
||||||
|
```
|
||||||
|
|
||||||
|
Run production builds:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
bun run build
|
||||||
|
```
|
||||||
|
|
||||||
|
Run the API directly:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd apps/api && bun run start
|
||||||
|
```
|
||||||
|
|
||||||
|
Run the web app directly:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd apps/web && bun run dev
|
||||||
|
```
|
||||||
|
|
||||||
## High-level architecture
|
## High-level architecture
|
||||||
|
|
||||||
- `Machine_Learning/preprocessing.py` prepares the training dataset locally. It extracts three source ZIP files, merges selected class folders into `dataset/`, maps selected Mandarin labels from Dataset 3 via `desc.json`, removes known problematic image files, then creates `dataset.zip` for upload to Google Drive/Colab.
|
- `Machine_Learning/preprocessing.py` prepares the training dataset locally. It extracts three source ZIP files, merges selected class folders into `dataset/`, maps selected Mandarin labels from Dataset 3 via `desc.json`, removes known problematic image files, then creates `dataset.zip` for upload to Google Drive/Colab.
|
||||||
@@ -62,6 +102,16 @@ There is no project test suite, lint command, or build system configured in the
|
|||||||
- `Machine_Learning/save_model.py` is the production export step. It loads `best_model/best_model.keras`, rebuilds a clean EfficientNetV2B0 architecture without training-time augmentation layers, copies weights into that model, exports `model/saved_model/`, and writes `model/model.tflite`.
|
- `Machine_Learning/save_model.py` is the production export step. It loads `best_model/best_model.keras`, rebuilds a clean EfficientNetV2B0 architecture without training-time augmentation layers, copies weights into that model, exports `model/saved_model/`, and writes `model/model.tflite`.
|
||||||
- TensorFlow.js export is intentionally done with the `tensorflowjs_converter` CLI rather than from Python to avoid protobuf/runtime conflicts documented in the README.
|
- TensorFlow.js export is intentionally done with the `tensorflowjs_converter` CLI rather than from Python to avoid protobuf/runtime conflicts documented in the README.
|
||||||
|
|
||||||
|
## Fullstack application architecture
|
||||||
|
|
||||||
|
The root TypeScript workspace is a Bun + Moon monorepo:
|
||||||
|
|
||||||
|
- `apps/web/` contains the React + Vite + TypeScript frontend with React Router, TanStack Query, Zustand, Tailwind, and shadcn/ui-style components.
|
||||||
|
- `apps/api/` contains the Elysia backend with health/status routes and Drizzle/PostgreSQL configuration.
|
||||||
|
- `packages/shared/` contains shared TypeScript types and utilities consumed by both apps.
|
||||||
|
|
||||||
|
The backend reads `DATABASE_URL` for Drizzle/PostgreSQL, but the initial health/status endpoints do not require a live database connection.
|
||||||
|
|
||||||
## Model labels and dataset mapping
|
## Model labels and dataset mapping
|
||||||
|
|
||||||
The classifier targets four Indonesian labels:
|
The classifier targets four Indonesian labels:
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ tasks:
|
|||||||
- package.json
|
- package.json
|
||||||
- tsconfig.json
|
- tsconfig.json
|
||||||
- drizzle.config.ts
|
- drizzle.config.ts
|
||||||
- ../../packages/shared/dist/**/*
|
|
||||||
outputs:
|
outputs:
|
||||||
- dist
|
- dist
|
||||||
typecheck:
|
typecheck:
|
||||||
@@ -26,4 +25,3 @@ tasks:
|
|||||||
- package.json
|
- package.json
|
||||||
- tsconfig.json
|
- tsconfig.json
|
||||||
- drizzle.config.ts
|
- drizzle.config.ts
|
||||||
- ../../packages/shared/dist/**/*
|
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ tasks:
|
|||||||
- vite.config.ts
|
- vite.config.ts
|
||||||
- tailwind.config.ts
|
- tailwind.config.ts
|
||||||
- postcss.config.js
|
- postcss.config.js
|
||||||
- ../../packages/shared/dist/**/*
|
|
||||||
outputs:
|
outputs:
|
||||||
- dist
|
- dist
|
||||||
typecheck:
|
typecheck:
|
||||||
@@ -32,4 +31,3 @@ tasks:
|
|||||||
- tsconfig.node.json
|
- tsconfig.node.json
|
||||||
- vite.config.ts
|
- vite.config.ts
|
||||||
- tailwind.config.ts
|
- tailwind.config.ts
|
||||||
- ../../packages/shared/dist/**/*
|
|
||||||
|
|||||||
Reference in New Issue
Block a user