https://github.com/amsterdamtimemachine/flagship
Flagship is a web app for exploration of geolocated heritage data
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (8.4%) to scientific vocabulary
Repository
Flagship is a web app for exploration of geolocated heritage data
Basic Info
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Flagship
Flagship is a web app for exploration of geolocated heritage data.
Development
Prerequisites
- Bun (latest version)
Setup
bash
bun install
cp .env.example .env
Required: Edit .env and set:
- PUBLIC_MAPTILER_API_KEY - Get a free API key from MapTiler
Optional: Configure preprocessor settings in .env (uncomment and modify any variables you want to change from defaults)
Development Server
bash
bun run dev
The app will be available at http://localhost:5175
Production (Docker)
Prerequisites
Setup
bash
cp .env.example .env
Required: Edit .env and set:
- PUBLIC_MAPTILER_API_KEY - Get a free API key from MapTiler
Optional: Configure preprocessor settings in .env (uncomment and modify any variables you want to change from defaults)
Quick Start
With Bun:
bash
bun run docker:up:build
Without Bun:
bash
docker compose up --build
The app will be available at http://localhost:3000
Note: On first run, the system will automatically generate visualization data (~3 minutes). Subsequent runs will be much faster as the data is cached in data/docker/.
The container will automatically generate visualization data on startup if data/docker/visualization.bin is missing.
Docker Commands
Starting & Stopping
```bash
With Bun
bun run docker:up # Start (uses existing data) bun run docker:up:build # Start with rebuild bun run docker:down # Stop everything
Direct Docker Compose
docker compose up # Start (uses existing data) docker compose up --build # Start with rebuild docker compose down # Stop everything ```
Data Management
```bash
With Bun
bun run docker:regenerate # Regenerate visualization data + rebuild + start
Direct Docker Compose
rm -f data/docker/visualization.bin && docker compose up --build ```
Monitoring & Debugging
```bash
Bun
bun run docker:logs # View all logs bun run docker:logs:app # View app logs only bun run docker:logs:init # View data generation logs bun run docker:restart # Restart all services bun run docker:restart:app # Restart just app
Docker
docker compose logs -f # View all logs docker compose logs -f app # View app logs only docker compose logs -f data-init # View data generation logs docker compose restart # Restart all services docker compose restart app # Restart just app ```
How It Works
The Docker setup uses Docker Compose with two services:
data-init: Generates visualization data from the Amsterdam database
- Runs once on startup if
data/docker/visualization.bindoesn't exist - Exits after successful generation
- Takes ~4-8 minutes on first run
- Runs once on startup if
app: Serves the web application
- Waits for data-init to complete successfully
- Serves the app on port 3000
- Automatically restarts if it crashes
Data Isolation
- Local development: Uses
data/visualization.bin - Docker production: Uses
data/docker/visualization.bin
Each environment maintains separate data to avoid conflicts during development.
Owner
- Name: Amsterdam Time Machine
- Login: amsterdamtimemachine
- Kind: organization
- Email: amsterdamtimemachine@uva.nl
- Location: Netherlands
- Website: https://www.amsterdamtimemachine.nl/
- Repositories: 1
- Profile: https://github.com/amsterdamtimemachine
GitHub Events
Total
- Push event: 42
- Pull request event: 2
Last Year
- Push event: 42
- Pull request event: 2
Dependencies
- 373 dependencies
- turbo ^2.5.3 development
- @melt-ui/pp ^0.3.2 development
- @sveltejs/adapter-auto ^3.0.0 development
- @sveltejs/kit ^2.16.1 development
- @sveltejs/vite-plugin-svelte ^4.0.0 development
- @types/eslint ^9.6.0 development
- @types/geojson ^7946.0.14 development
- @typescript-eslint/eslint-plugin ^8.32.0 development
- @typescript-eslint/parser ^8.32.0 development
- autoprefixer ^10.4.20 development
- eslint ^9.0.0 development
- eslint-config-prettier ^9.1.0 development
- eslint-plugin-svelte ^2.45.1 development
- globals ^15.0.0 development
- postcss ^8.4.47 development
- prettier ^3.1.1 development
- prettier-plugin-svelte ^3.2.6 development
- svelte ^5.0.0 development
- svelte-adapter-bun ^0.5.2 development
- svelte-check ^4.0.0 development
- tailwindcss ^3.4.14 development
- typescript ^5.8.3 development
- typescript-eslint ^8.0.0-alpha.20 development
- vite ^5.4.4 development
- @atm/shared workspace:*
- @melt-ui/svelte ^0.86.6
- @msgpack/msgpack ^3.1.2
- clsx ^2.1.1
- lodash.debounce ^4.0.8
- maplibre-gl ^4.5.1
- melt ^0.34.0
- svelte-masonry ^0.1.5
- tailwind-merge ^2.6.0
- @types/bun latest development
- @typescript-eslint/eslint-plugin ^8.34.1 development
- @typescript-eslint/parser ^8.34.1 development
- bun-types latest development
- eslint ^9.29.0 development
- typescript ^5.8.3 development
- @atm/shared workspace:*
- @msgpack/msgpack ^3.1.2
- typescript ^5.0.0 development