BrewHoard Documentation
Complete guide to building, deploying, and extending the BrewHoard beer collection management application.
Welcome to the BrewHoard documentation. BrewHoard is a comprehensive beer collection management application built with modern web technologies. This documentation covers everything from initial setup to advanced customization.
What is BrewHoard?
BrewHoard is a full-featured Progressive Web Application (PWA) designed for beer enthusiasts to:
- Manage their beer collection - Track bottles, cans, and kegs with detailed metadata
- Scan and identify beers - AI-powered image recognition for instant beer identification
- Trade on the marketplace - Buy and sell rare beers with integrated Stripe payments
- Rate and review - Comprehensive tasting notes with flavor profiles
- Connect with collectors - Follow other users, share activity, and discover new beers
- Track consumption history - Monitor what you’ve enjoyed and when
- Export data - Generate reports in multiple formats (JSON, CSV, PDF)
Technology Stack
BrewHoard is built on a modern, performant stack:
| Technology | Purpose |
|---|---|
| SvelteKit | Full-stack framework with SSR and API routes |
| Svelte 5 | Reactive UI with runes ($state, $derived, $effect) |
| PostgreSQL | Relational database via porsager/postgres |
| TailwindCSS | Utility-first styling |
| shadcn-svelte | Accessible component library |
| Paraglide.js | Type-safe internationalization |
| Stripe | Payment processing |
| PWA | Offline support and installability |
Quick Links
Get started quickly with these essential guides:
- Installation - Set up your development environment
- Quick Start - Get a running app in 5 minutes
- Architecture - Understand the project structure
- API Reference - REST API documentation
- Database - Schema and migration guide
- Features Overview - All features at a glance
Core Concepts
Collection Management
The heart of BrewHoard is the collection system. Each user has a personal collection where they can:
// Adding a beer to collection via API
const response = await fetch('/api/v1/collection', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${apiKey}`
},
body: JSON.stringify({
beer_id: 'uuid-of-beer',
quantity: 6,
purchase_price: 12.99,
purchase_location: 'Local Brewery',
storage_location: 'Beer Fridge',
notes: 'Anniversary edition'
})
});The Scanner System
BrewHoard includes an AI-powered scanner that can identify beers from photos:
- User captures or uploads a photo
- Image is processed client-side for optimization
- Vision AI analyzes labels, logos, and text
- Matching beers are suggested from the database
- User confirms or manually selects the correct beer
Marketplace Flow
The peer-to-peer marketplace enables secure trading:
Seller lists beer → Buyer initiates purchase →
Stripe payment intent → Seller confirms shipment →
Buyer confirms receipt → Funds releasedProject Philosophy
BrewHoard follows these core principles:
- Type Safety - JSDoc annotations provide TypeScript-like safety without a build step
- Progressive Enhancement - Works without JavaScript, enhanced with it
- Accessibility First - WCAG 2.1 AA compliance throughout
- Offline Capable - Service worker caches essential resources
- Mobile First - Responsive design optimized for handheld devices
Documentation Structure
This documentation is organized into logical sections:
Getting Started
- Installation - Set up your development environment
- Quick Start - Get a running app in 5 minutes
- Architecture - Project structure and data flow
Core Features
- Collection Management - Track your beer inventory
- Beer Scanner - AI-powered beer recognition
- Ratings & Reviews - Tasting notes and scores
- Marketplace - Buy and sell beers
Social Features
- Social Features - Activity feed, following, interactions
- User Profiles - Public profiles and visibility settings
- User Discovery - Find and follow collectors
- Settings & Preferences - Notification and feature preferences
Technical Reference
- Database Schema - Tables, relationships, migrations
- API Reference - REST API documentation
- Social API - Follow, activity, and feed endpoints
- Notifications API - Email preferences and templates
- Authentication - Security model and sessions
- Components - Reusable UI component library
Deployment
- Deployment Guide - Production deployment strategies
- PWA Configuration - Progressive Web App setup
Contributing
BrewHoard is open source. Contributions are welcome! See our GitHub repository for:
- Issue tracking
- Pull request guidelines
- Development setup
- Code of conduct
Ready to get started? Head to the Installation Guide to set up your development environment.