Skip to content

Latest commit

 

History

618 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Aura Historia — Webapp

The refined global discovery platform for antiques, art, and design objects.

Search across dealers, auction houses, shops, and marketplaces in one considered experience.


Overview

Aura Historia brings together antiques, art, and design objects from a global network of dealers, auction houses, shops, and marketplaces. It gives collectors and market professionals a single place to discover objects, compare sources, and follow opportunities across languages and currencies.

The webapp supports:

  • Search and discovery for objects and shops, including recently added listings.
  • Multilingual, localized browsing and SEO in German, English, Spanish, French, and Italian.
  • Accounts with watchlists, saved searches, notifications, and matching.
  • Partner tools for shop onboarding, product ingestion, access tokens, and OAuth integrations.
  • Administrative workflows and privacy-aware account experiences.

Technology

Area Tools
Application React 19, TypeScript, Vite
Routing & data TanStack Start, Router, Query, Table
Styling Tailwind CSS v4, shadcn/ui, Radix UI
Identity AWS Amplify and Amazon Cognito
Internationalization i18next and react-i18next
Quality Vitest, Playwright, Testing Library, Biome, SonarCloud
Deployment Cloudflare Workers

Getting started

Prerequisites

  • Node.js 24
  • pnpm 11.17.0 (the version pinned by this repository)

Install and run

pnpm install
pnpm dev

The development server runs at http://localhost:3000.

Environment

The application has sensible local defaults. To enable authenticated and API-backed flows, create a local .env file with the values provided for your environment:

VITE_API_URL=https://api.example.com
VITE_APP_URL=http://localhost:3000
VITE_USER_POOL_ID=your-cognito-user-pool-id
VITE_USER_POOL_CLIENT_ID=your-cognito-user-pool-client-id

Optional feature flags:

VITE_FEATURE_LOGIN_ENABLED=true
VITE_FEATURE_SEARCH_ENABLED=true

Do not commit credentials, tokens, or production configuration.

Quality

Continuous integration checks formatting, linting, type safety, unit tests, build output, and SonarCloud analysis. End-to-end tests run separately on changes to main.

CI End-to-end tests SonarCloud Quality Gate SonarCloud Coverage Lines of code

Commands

Command Description
pnpm dev Start the Vite development server on port 3000.
pnpm build Create a production build.
pnpm preview Serve the production build locally.
pnpm test Run the Vitest test suite.
pnpm test:e2e Run Playwright end-to-end tests.
pnpm lint Run Biome linting.
pnpm check Run Biome’s full check.
pnpm format:fix Format supported files with Biome.
pnpm exec tsc --noEmit Type-check without emitting files.
pnpm openapi-ts Regenerate the OpenAPI client and partner-products spec.

Install Playwright browsers before running end-to-end tests locally:

pnpm exec playwright install

Project structure

src/
├── routes/       # TanStack file routes, loaders, heads, and API routes
├── features/     # Product feature slices
├── components/   # Shared and domain UI components
├── data/         # Internal domain types and API mappings
├── hooks/        # Shared and domain hooks
├── i18n/         # Language setup and locale dictionaries
├── lib/          # Shared libraries, server helpers, and validation
└── client/       # Generated OpenAPI client — do not edit by hand

docs/             # Product, design, privacy, architecture, and hydration guidance
public/           # Static assets and public specifications

Development notes

  • Use pnpm; do not use npm or Yarn for project commands.
  • src/client/** and src/routeTree.gen.ts are generated. Change their source configuration, then regenerate them.
  • User-facing changes require coverage for all supported locales: de, en, es, fr, and it.
  • Follow the project guidance in AGENTS.md and the topic-specific documents in docs/.

APIs and integrations

Partner and integration endpoints are documented in the OpenAPI reference.

OpenAPI Docs

Deployment

The application deploys to Cloudflare Workers after CI succeeds:

Source Environment URL
develop Staging stage.aura-historia.com
Protected YYYYMMDD-HHMM release tag from develop history Production aura-historia.com

Release timestamps use UTC. Production deployment is CI-only: create and push a protected, immutable release tag after the corresponding develop commit has passed CI. CI validates the tag timestamp and that its commit belongs to develop history, uploads it to Cloudflare with the same version tag, then deploys that version. This supports re-deploying or rolling back to a named release in Cloudflare.

To redeploy a previous release, run the Redeploy production release workflow from GitHub Actions and provide its release tag. The workflow requires the same production-environment protections and promotes the already-uploaded Cloudflare Worker version without rebuilding it.

Aura Historia website

Manual staging deployments require CLOUDFLARE_API_TOKEN and CLOUDFLARE_ACCOUNT_ID:

# Staging
pnpm deploy:staging

License

This project is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License (CC BY-NC-SA 4.0).

License: CC BY-NC-SA 4.0


Aura Historia — Where antiques find their story

About

Web-App for Aura Historia

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages