Skip to content

Latest commit

 

History

History
139 lines (95 loc) · 7.26 KB

File metadata and controls

139 lines (95 loc) · 7.26 KB
CellarBoss Banner

License: GPL v3 PRs Welcome

TypeScript Next.js React Native Hono pnpm

Dashboard
Dashboard
Wine list
Wine list
Wine detail
Wine detail
Bottle inventory
Bottle inventory
Tasting notes
Tasting notes
Storage locations
Storage locations

Features

  • Wine database with detailed attributes (country, region, grape, winemaker, vintage)
  • Bottle inventory with per-bottle storage location tracking
  • Store images of your collection
  • Drinking window tracking per vintage
  • Tasting notes & ratings

Quick Start

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

Alternatively, for a development setup:

pnpm install

# Copy and configure the environment files (see docs/backend.md and docs/web.md)

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
│   ├── mobile/       # React Native mobile application
│   └── web/          # Next.js frontend
├── docs/             # Developer documentation
└── packages/
    ├── common/       # Shared functions/constants between all applications
    ├── mock-server/  # A mock backend server used for automated testing
    ├── types/        # Shared type definitions
    └── validators/   # Shared Zod validators

Documentation

User and API documentation is built and deployed automatically on every release:

Developer documentation lives in the docs/ directory:

Document Description
Backend API server architecture, database support, testing
Web Frontend Frontend architecture, unit tests, E2E tests
Mobile App Mobile application architecture, unit tests, E2E tests
Shared Packages Details on all shared packages
CI/CD GitHub Actions workflows, PR checks, releases

Roadmap

  • Multi-database support (SQLite, PostgreSQL, MySQL)
  • Upload images of your collection
  • Tasting notes
  • Import wine details from 3rd party websites (Vivino, Wine Society, Naked Wines etc)
  • i18n
  • Build & automatically deploy styled wine menus

Contributing

Contributions are welcome — bug fixes, features, design improvements, and iOS testing help are all appreciated. Please read CONTRIBUTING.md to get started.

If CellarBoss is useful to you, consider supporting the project.

FAQs

Does this project use AI-assisted development?

Yes. CellarBoss was created by mattdy to fulfill a personal need and released publicly for others to use. AI tools such as Claude, ChatGPT, and GitHub Copilot are used to aid development, including writing code, reviewing PRs, and exploring solutions.

All AI-generated code is reviewed and tested before being merged. This approach is part of how the project is maintained as a solo effort, and it will continue going forward.

How do I install the mobile application?

Android — The Google Play Store requires a number of testers before an app can be released publicly. If you're interested in helping test, please get in touch.

iOS — The React Native codebase supports iOS in principle, but there are currently no Apple devices available to build and test against. If you're interested in helping develop and/or test an iOS build, please get in touch.

Are you planning to offer a hosted version?

There are no current plans, but this could be explored if there is sufficient community interest.

Can I use this commercially?

CellarBoss is licensed under the GNU General Public License v3.0, which permits free use, modification, and distribution — including in commercial settings — provided that any distributed modifications are also released under the same licence.

If you are building a commercial product on top of CellarBoss and would like to discuss a separate commercial arrangement, please get in touch. In the meantime, consider supporting the project.

Can you add X feature?

Feature requests and suggestions are welcome via GitHub Issues.

I found a bug!

Please raise a GitHub Issue with as much detail as possible. Even better — open a pull request with a fix. See CONTRIBUTING.md for guidance.

License

CellarBoss is licensed under the GNU General Public License v3.0.