Back to the catalog

Files

Bundle OKF 0.1 · 7 conceitos · bishsbytes/bro

Open source Repository Open in the app JSON README (API)

About

# Files

- [Bro code wiki quickstart](quickstart.md) - Entry point for understanding and safely changing the Bro offline-first Expo Router, local SQLite, shared-domain, and Hono API monorepo.

# Directories

- [api](api/)
- [app](app/)
- [architecture](architecture/)
- [auth](auth/)
- [database](database/)
- [development](development/)

Details

Kind
OKF bundles
Topic
Databases
Publisher
bishsbytes
Origin
okf_github
Category
dados
Version
0.1
Last push
2026-09-08T08:45:48Z
Repository state
ativo
Language
TypeScript
Added
2026-09-08 02:26:02
Updated
2026-09-08 02:26:02
Origin id
bishsbytes/bro:openwiki/index.md

README

# Bro

Bro is an offline-first men's wellbeing app. The product is an Expo/React
Native client backed by a small Hono API, developed as an Nx and pnpm
monorepo.

The app works without an account. Product data is written to SQLite on the
device; the API currently provides optional authentication and anonymous food
lookup. Remote product-data sync, premium entitlements, and app protection are
roadmap work rather than shipped behaviour.

## Start locally

Prerequisites: Node 20 or newer, pnpm, and Docker.

```sh
pnpm install
cp .env.example .env
cp apps/app/.env.example apps/app/.env
# Replace BETTER_AUTH_SECRET in .env; `openssl rand -base64 32` is suitable.

docker compose up -d
pnpm nx run @bro/database-api:db:migrate
```

Then start the API and app in separate terminals:

```sh
pnpm nx run @bro/api:serve
```

```sh
pnpm nx run @bro/app:start
```

Use `http://10.0.2.2:3000` as `EXPO_PUBLIC_API_URL` on the Android emulator,
`http://localhost:3000` on the iOS simulator or web, and the development
machine's LAN address on a physical device.

## Workspace

| Project | Responsibility |
| --- | --- |
| `@bro/app` | Expo application, routes, screens, feature stores, and native integrations |
| `@bro/api` | Hono API for auth, account deletion, a health check, and food lookup |
| `@bro/database-app` | On-device schemas, migrations, connections, and repositories |
| `@bro/database-api` | Postgres schema, migrations, and Drizzle client |
| `@bro/auth-app` | Better Auth Expo client and React provider |
| `@bro/auth-api` | Better Auth server configuration |
| `@bro/domain` | Shared catalogues, intake definitions, metric registry, and units |
| `@bro/mobile-model` | Persistence-independent mobile record contracts |
| `@bro/logic` | Pure calculations over mobile records |

Nx resolves the complete project and target configuration. Use
`pnpm nx show projects` and `pnpm nx show project <name>` instead of inferring
it from package files.

## Documentation

- [Documentation index](docs/README.md) — which document owns each concern
- [Product](docs/product.md) — current product shape and behavioural rules
- [Architecture](docs/architecture.md) — boundaries, dependencies, and storage
- [Development](docs/development.md) — setup, commands, conventions, and checks
- [Roadmap](docs/roadmap.md) — work that has not shipped yet
- [Design package](design/README.md) — design authority and platform mapping
- [Historical plans](docs/archive/README.md) — completed and superseded decisions

Source code and tests are authoritative when documentation disagrees with the
implementation. `openwiki/` is generated evidence, not hand-maintained product
documentation.

More