Skip to content

CellarBoss/cellarboss

Repository files navigation

CellarBoss

An open-source wine cellar inventory manager. Track your collection by country, region, grape variety, winemaker, and vintage. Manage physical storage locations and monitor bottle inventory.

Image of CellarBoss application showing a list of wines

Features

  • Wine database with detailed attributes (country, region, grape, winemaker, vintage)
  • Bottle inventory with per-bottle storage location tracking
  • Drinking window tracking per vintage

Quick Start

See the installation documentation for how to get CellarBoss up and running.

Alternatively, for a development setup:

pnpm install

# Configure .env files (see developer notes)

cd apps/backend
pnpm auth:migrate && pnpm migrate && pnpm seed

# In separate terminals:
pnpm --filter backend dev    # port 5000
pnpm --filter web dev        # port 3000

Project Structure

cellarboss/
├── apps/
│   ├── backend/      # Hono API server
│   └── web/          # Next.js frontend
├── docs/             # Developer documentation
└── packages/
    ├── types/        # Shared type definitions
    └── validators/   # Shared Zod validators

User Documentation

Documentation is built and deployed automatically on every release:

Developer Notes

Document Description
Backend API server architecture, database support, testing
Web Frontend Frontend architecture, unit tests, E2E tests
Shared Packages @cellarboss/types and @cellarboss/validators
CI/CD GitHub Actions workflows, PR checks, releases

Roadmap

  • Multi-database support. Currently limited to Sqlite, with MySQL and Postgres in the works
  • Upload images of your collection
  • Import wine details from 3rd party websites (Vivino, Wine Society, Naked Wines etc)
  • i18n
  • Tablet user interface
  • Build & automatically deploy styled wine menus

FAQs

Has this project been 'vibe coded'?!

I (mattdy) created this project to fufil a need in my own life, and decided to release it publically in case others find it useful. While I do have a background in software development, I am by no means an expert in React development. As such, I have made use of LLMs such as ChatGPT, Claude and Copilot to aid development.

I wouldn't go as far as calling this project 'vibe-coded', but certain elements have been written by AI models, and I will likely continue to utilise these within the project. This will possibly involve future features also being written by AI, but I am also considering automatic PR reviews and the like.

I am very happy to enter into a discussion on the merits of these, respecting my position the current sole developer on the project.

Can I use this commercially?

It is my intention to make this software free and available for community non-profit usage, without restriction. That said, I may choose to investigate commercial licencing arrangements in the future, should there be any demand for such support. In the meantime, if you wish to use this software in a commercial setting, then please consider giving back to the project.

You could use a better design/logo

Good observation! I'm terrible at graphic design, please get in touch if you can help with the styling!

Can you add X feature?

Any feedback or suggestions are gratefully received via Issues

I found a bug!

Great! As above, please raise an Issue

License

See license information

About

Your open source wine cellar inventory manager

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages