Getting Started
Welcome to the Logbook contributor documentation. This site covers all projects in the Logbook ecosystem.
Repository Structure
Logbook consists of multiple independent repositories:
| Repository | Purpose |
|---|---|
api | Express/TypeScript API backend with TSOA, TypeORM, Neo4j |
app | React Native/Expo mobile app |
web | Landing page (React/Vite/Tailwind) |
sdk | TypeScript SDK generated from OpenAPI spec |
infra | Azure infrastructure as OpenTofu stacks (api, web, docs) |
docs | Documentation (markdown) site for the codebase |
Quick Start
Choose a project to get started:
- API Backend - Set up the API locally
- Mobile App - Run the app on a simulator
- SDK - Regenerate the SDK after API changes
- Infrastructure - Provision and deploy on Azure
Cross-Repository Workflow
When making API changes that affect consumers:
- API changes - Modify controllers in the
apirepo - Regenerate routes - Run
pnpm generate:openapiinapi - SDK regeneration - Run
pnpm generateinsdk - SDK publishing - SDK is published to Buildkite and consumed by the app
Tech Stack Overview
| Technology | Usage |
|---|---|
| TypeScript | All backend and SDK projects |
| React | App (Native) and Web (Vite) |
| Express 5 | API backend |
| PostgreSQL | Primary database (TypeORM) |
| Neo4j | Graph database for relationships |
| Redis | Query caching |
| Azure | Infrastructure (App Service, PostgreSQL Flexible Server, Static Web Apps, Key Vault) |
| OpenTofu | Infrastructure as code (infra/) |
Next Steps
- Read the Contributing Guide to learn how to contribute
- Review the Code Style guide for formatting standards