A free, open-source dataset and API for brewery, cidery, brewpub, and bottleshop information worldwide. Built with Svelte 5, SvelteKit 2, TypeScript, and TailwindCSS 4.
Open Brewery DB is a community-driven project that maintains a comprehensive dataset of breweries and related establishments. Our mission is to provide free, public access to brewery information for developers, data analysts, and beer enthusiasts worldwide.
- Free API: Access brewery data through our RESTful API
- Search & Filter: Find breweries by location, type, and various criteria
- Interactive Maps: Visualize brewery locations with geographic data
- Community Driven: Contribute and help maintain accurate brewery information
- Open Source: All data and code is freely available
- Framework: Svelte 5
- Backend: SvelteKit 2
- Language: TypeScript
- Styling: TailwindCSS 4
- Deployment: Cloudflare Pages/Workers
- Testing: Playwright for E2E testing
- Monitoring: Sentry for error tracking
- Data Visualization: D3.js and Layerchart for maps
- Node.js (LTS version)
- npm or pnpm package manager
-
Clone the repository
git clone https://github.com/openbrewery/openbrewerydb-sveltekit.git cd openbrewerydb-sveltekit -
Install dependencies
npm install
-
Start development server
npm run dev
The application will be available at
http://localhost:5173 -
Optional: Open in browser
npm run dev -- --open
npm run dev- Start development servernpm run build- Build for productionnpm run preview- Preview production buildnpm run check- Run TypeScript checksnpm run lint- Run linting and formatting checksnpm run format- Format code with Prettiernpm run test:e2e- Run Playwright E2E testsnpm run authors:build- Build GitHub authors datanpm run changelogs:build- Build changelog data
src/
├── lib/ # Shared utilities and components
│ ├── components/ # Reusable Svelte components
│ ├── data/ # Static data and generated content
│ └── types.ts # TypeScript type definitions
├── routes/ # SvelteKit pages and API routes
├── layouts/ # Page layouts
└── styles/ # Global styles and TailwindCSS
This project is configured to deploy on Cloudflare using the @sveltejs/adapter-cloudflare. The build process automatically optimizes for Cloudflare's edge network.
Create a .env file for local development:
# Sentry (optional)
SENTRY_AUTH_TOKEN=your_sentry_token
# GitHub (for build scripts)
GITHUB_TOKEN=your_github_tokenComplete API documentation is available at /documentation in the application or online at openbrewerydb.org/documentation.
GET /breweries- List all breweries with paginationGET /breweries/{id}- Get specific brewery detailsGET /breweries/search- Search breweries by query
We welcome contributions! Please see our Contributing Guide for details on:
- How to contribute data
- Code contributions
- Bug reports and feature requests
- Development setup
This project is licensed under the MIT License - see the LICENSE file for details.
Open Brewery DB is grateful for the support of our sponsors, particularly Sentry for providing application monitoring services.