How vsimakhin/web-logbook works
Web-logbook is a self-hosted EASA-style flight logbook: pilots manage flight records and related reference data, then review statistics, maps, and printable exports. The sampled frontend establishes browser routing and shared providers; the README documents the broader product capabilities. Backend handlers, database operations, and several feature modules are indexed but not excerpted, so uncertain runtime connections are shown as dashed and uncited rather than inferred as definite calls.
Main entry points: routes.go HTTP handlers · main.jsx Browser UI · FlightRecord.jsx Flight record · LogbookTable.jsx Logbook table
Components 22
Web experience
- Browser UI
app/ui/src/main.jsx - App providers
app/ui/src/App.jsx
Flight records
- Logbook table
app/ui/src/components/Logbook/LogbookTable.jsx - Flight record
app/ui/src/components/FlightRecord/FlightRecord.jsx - Flight attachments
app/ui/src/components/FlightRecordAttachment/Attachments.jsx - CSV import
app/ui/src/components/Import/Import.jsx
Logbook data
- Aircraft
app/ui/src/components/Aircrafts/Aircrafts.jsx - Airports
app/ui/src/components/Airports/Airports.jsx - People
app/ui/src/components/Persons/Persons.jsx - Licenses
app/ui/src/components/Licensing/Licensing.jsx - Currency tracking
app/ui/src/components/Currency/Currency.jsx - Settings and fields
app/ui/src/components/Settings/Settings.jsx
Analysis and export
- Flight map
app/ui/src/pages/MapPage.jsx - Statistics dashboard
app/ui/src/components/Stats/Dashboard/TotalsDashboard.jsx - PDF export setup
app/ui/src/components/PdfExport/PdfExport.jsx - PDF generation
internal/pdfexport/pdfexport.go
Application services
- HTTP handlers
app/routes.go - Flight handlers
app/handlers_flightrecord.go - Domain models
internal/models/flightrecords.go - SQLite or MySQL
internal/driver/driver.go - Night-time calculation
internal/nighttime/nighttime.go
Other components
- Pilot
Connections 28
- Pilot → Browser UI: uses
README.md - Browser UI → App providers: mounts
app/ui/src/main.jsx - Pilot → Logbook table: records flights
README.md - Pilot → Flight record: edits details
README.md - Pilot → CSV import: imports CSV
README.md - Pilot → Aircraft: manages
README.md - Pilot → Airports: manages
README.md - Pilot → People: manages
README.md - Pilot → Licenses: tracks licenses
README.md - Pilot → Currency tracking: checks currency
README.md - Pilot → Settings and fields: configures
README.md - Pilot → Flight map: visualizes flights
README.md - Pilot → Statistics dashboard: reviews statistics
README.md - Pilot → PDF export setup: exports logbook
README.md - Browser UI → Logbook table: routes to
app/ui/src/main.jsx - Browser UI → Flight record: routes to
app/ui/src/main.jsx - Browser UI → Licenses: routes to
app/ui/src/main.jsx - App providers → HTTP handlers: provides UI context
- Logbook table → HTTP handlers: requests records
- Flight record → HTTP handlers: saves records
- Flight attachments → HTTP handlers: manages files
- CSV import → HTTP handlers: submits import
- HTTP handlers → Flight handlers: dispatches
- Flight handlers → Domain models: uses models
- Domain models → SQLite or MySQL: persists data
- Flight record → Night-time calculation: calculates night time
README.md - PDF export setup → PDF generation: requests PDF
README.md - PDF generation → Domain models: reads flight data
internal/pdfexport/pdfexport.go