Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/openbrewerydb/openbrewerydb

🍻 An open-source dataset of breweries, cideries, brewpubs, and bottleshops.
https://github.com/openbrewerydb/openbrewerydb

breweries csv dataset hacktoberfest json sql typescript

Last synced: about 2 months ago
JSON representation

🍻 An open-source dataset of breweries, cideries, brewpubs, and bottleshops.

Awesome Lists containing this project

README

        

# 🍻 Open Brewery DB Dataset

[![All Contributors](https://img.shields.io/badge/all_contributors-51-orange.svg?style=flat-square)](#contributors-)

![Open Brewery DB Logo](obdb-logo-md.jpg)

This is the open-source dataset for the [Open Brewery DB API](https://www.openbrewerydb.org/) which is served by a [REST API built with Ruby on Rails](https://github.com/chrisjm/openbrewerydb-rails-api)

## 🎯 Purpose

Provide an approval-based pipeline to update the dataset and API.

## 🗄 Data Formats

- [CSV - Full Dataset](breweries.csv)
- [JSON](breweries.json)
- [PostgreSQL SQL](breweries.sql)

### API

Access the dataset programmatically via the [Open Brewery DB API](https://www.openbrewerydb.org/). Use the following tools to get started without any code:

#### [databar.ai](https://databar.ai)

If you don't know how to use APIs, you can use Brewery DB without code through the [databar.ai](https://databar.ai) platform.

[![Run without code](https://databar.ai/external/ref_button.svg)](https://databar.ai/explore/open-brewery-db?utm_source=brewery&utm_campaign=apiref)

#### [Postman](https://www.postman.com/)

A shared Postman collection containing all the API requests to fetch breweries information from the open-source dataset.

[![Run in Postman](https://run.pstmn.io/button.svg)](https://app.getpostman.com/run-collection/1913239-1eef575a-1e78-4d6e-9678-f4649acce4ef?action=collection%2Ffork&collection-url=entityId%3D1913239-1eef575a-1e78-4d6e-9678-f4649acce4ef%26entityType%3Dcollection%26workspaceId%3D4d34510d-0d62-465a-a884-20c6ae1d468d)

## 🚀 Getting Started

1. `git clone [email protected]:openbrewerydb/openbrewerydb.git`
2. `cd openbrewerydb && npm install`

## 🤝 Contributing

For information on contributing to this project, please see the [contributing guide](CONTRIBUTING.md) and our [code of conduct](CODE_OF_CONDUCT.md).

1. Fork the repository
2. Add or update breweries in the CSV (Excel, Google Sheets)
3. Submit a Pull Request

### Tips

First and foremost, don't worry about messing up! 🙂 Thank you so much for contributing! 🙌

- CSVs are organized by `data/[country]/[state_province]`
- Required fields/columns: `name`, `brewery_type`, `city`, `state_province`, `postal_code`, and `country`
- When adding a brewery, do not include an `id`. This will be created after review.
- Please either add to `breweries.csv` (preferred if adding breweries for a new country) or the individual state/province CSV file. Adding to both at the same time may introduce duplicates/errors.

## ⚙️ Scripts

These are the npm scripts used to maintain this dataset.

- `npm run csv:combine` - Combine CSVs from country/state-region folders into `breweries.csv`
- `npm run csv:split` - Split `breweries.csv` into country/state-region/city CSVs
- `npm run contributors:add` - Add contributor (interactive CLI)
- `npm run contributors:check` - Check if there are any missing contributors
- `npm run contributors:generate` - Generate contributors into `README.md`
- `npm run generate:ids` - Generate unique OBDB IDs based on the brewery name and city and overwrite `breweries.csv`
- `npm run generate:json` - Generate JSON from `breweries.csv` output to `breweries.json`
- `npm run generate:sql` - Generate PostgreSQL SQL from `breweries.csv` output to `breweries.sql`
- `npm run validate` - Validate CSVs based on JSON Schema
- `npm run workflow:maintain` - Combine, generate, split (used when updating individual CSVs)

## 👾 Community

- [Join the Newsletter](http://eepurl.com/dBjS0j)
- [Join the Discord](https://discord.gg/3G3syaD)

## 📫 Feedback

Any feedback, please [email me](mailto:[email protected]).

Cheers! 🍻

## Contributors ✨

Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):



Mike Putnam
Mike Putnam

🔣
Andrew A. Barber
Andrew A. Barber

🔣
Jason Allen
Jason Allen

🔣
Juicob
Juicob

🔣
Will Karnasiewicz
Will Karnasiewicz

🔣
Dylan T. Vavra
Dylan T. Vavra

🔣
Madison Martinez
Madison Martinez

🔣


Daniel Eremchuk
Daniel Eremchuk

🔣
Alex Chong
Alex Chong

🔣
Matt S
Matt S

🔣
Samuel Rusher
Samuel Rusher

🔣
Evan Caraway
Evan Caraway

🔣
Tyler K Kuromiya Parker
Tyler K Kuromiya Parker

🔣
kendellmendoza
kendellmendoza

🔣


Johnnyk737
Johnnyk737

🔣
James Schuler
James Schuler

🔣
Creighton Leif
Creighton Leif

🔣
Vitaly Tomilov
Vitaly Tomilov

💻
Kyle Scudder
Kyle Scudder

🔣
Chris Mears
Chris Mears

💬 💻 🔣 🚧 📆 🔧
donkeyslaps
donkeyslaps

🔣


Pranav Davar
Pranav Davar

🔧
Alexandre Hernandes Barrozo
Alexandre Hernandes Barrozo

🔣
Resten
Resten

🔣
Matt Higgins
Matt Higgins

🔣
Alex Justesen
Alex Justesen

🔣
Craig Kelly
Craig Kelly

🔣
Krzysztof Rewak
Krzysztof Rewak

🔣


John Baumert
John Baumert

🔣
Charlie Cox
Charlie Cox

🔣
Miles Kane
Miles Kane

🔣
Anthony Laflamme
Anthony Laflamme

💻
Georg Engelsmann
Georg Engelsmann

🔣
Clinton Williams
Clinton Williams

🔣
Brent Busby
Brent Busby

🔣


kenster89
kenster89

🔣
Adilet Sarsembayev
Adilet Sarsembayev

🔣
Pranav Davar
Pranav Davar

🔣
b-mc2
b-mc2

🔣
Nicole
Nicole

🔣
Nicholas Hance
Nicholas Hance

🔣
Joachim Nilsson
Joachim Nilsson

🔣


Alejandro Lopez Rocha
Alejandro Lopez Rocha

🔣
zshapleigh
zshapleigh

🔣
Praval Visvanath
Praval Visvanath

🔣
JohnHenry
JohnHenry

🔣
Alfredo Garcia
Alfredo Garcia

🔣
Qerewe
Qerewe

🔣
Nathan Peters
Nathan Peters

🔣


Erich Cervantez
Erich Cervantez

🔣
Ronald Sahagun
Ronald Sahagun

🔣

This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!