Files
trips/README.md
Shaun Campbell e28741a4f1
Some checks failed
PR Checks / lint-test-and-docker-build (pull_request) Has been cancelled
trips) migrate sqlite and runtime to bun
2026-02-20 23:05:22 -05:00

97 lines
1.7 KiB
Markdown

# trips
A SvelteKit travel planning app for managing trips, travelers, transportation, lodgings, package tours, checklists, and experiences.
## Tech Stack
- SvelteKit + TypeScript
- SQLite (`bun:sqlite`)
- Vitest for unit tests
- Biome + Prettier for code quality
- Bun for local/deploy build and runtime workflows
- Docker multi-stage build for production image
## Features
- Authenticated trip dashboard with upcoming/past trip views
- Trip planning with:
- flights
- private vehicles
- other transportation
- lodgings
- package tours
- checklists
- experiences
- Admin flows for travel reference data and tour operator/tour management
## Local Development
### Requirements
- Bun 1.x
### Setup
```sh
cp .env.example .env
bun install
```
### Run
```sh
bun run dev
```
## Quality and Tests
```sh
bun run lint
bun run test
bun run check
```
## Build and Preview
```sh
bun run build
bun run preview
```
## Docker
### Build locally
```sh
docker build -t trips:local .
```
### Run locally
```sh
docker compose up --build
```
The container stores SQLite data at `/data/trips.db` (mounted as the `trips-data` volume in `docker-compose.yml`).
## CI (Gitea Actions)
Workflows live in `.gitea/workflows`:
- `pr-checks.yml`: runs lint, tests, and Docker build on pull requests.
- `main-image.yml`: builds and pushes a Docker image on push to `main`.
### Registry secrets for image publish
Configure these repository secrets in Gitea:
- `REGISTRY_USERNAME`
- `REGISTRY_PASSWORD`
By default, the publish workflow pushes to:
- `git.campbellwireless.net/<owner>/<repo>:latest`
- `git.campbellwireless.net/<owner>/<repo>:<short-sha>`
If your registry host differs, edit `REGISTRY_HOST` in `.gitea/workflows/main-image.yml`.