Skip to content

danielsickels/SmartBarLighting

Repository files navigation

SmartBarLighting

Please visit https://barapp.dannysickels.com/ for the live demo!

Overview

SmartBarLighting is a personal project designed to manage and display your collection of spirits and cocktail recipes. The application currently serves as a database for cataloging your bottles and recipes, with future plans to incorporate a lighting system to assist in locating bottles in your bar setup.

Difficulties

While I was used to working with Next.js in my portfolio website, I did not use individual pages as much in this project. Rather, I used lots of components and a fully developed database. The database was most of where my issues lied. I often had trouble utilizing Alembic migrations to keep the database structure, likely due to manually changing schemas. It was possible I was not reviewing autogenerated migrations too. However, learning and understanding how ORM models and schemas incorportate with services and endpoints/API routes to all work together was very humbling. I used Alembic, Pydantic, and SQLAlchemy ORM models due to my comfortability with Python.

Features

Bottle Database: Keep an organized record of your spirits collection, including details such as name, type, brand, and more.

Cocktail Recipes: Store and manage your favorite cocktail recipes, complete with ingredients and preparation steps. Future Enhancement: Integration with a lighting display to highlight the location of specific bottles in your bar.

Installation

To set up the SmartBarLighting application locally, follow these steps:

Clone the Repository:

git clone https://github.com/danielsickels/SmartBarLighting.git
cd SmartBarLighting

Set Up the Environment:

Ensure you have Docker installed on your system, and necessary dependencies.

Run the local development script to build and start the application: bash ./local-dev.sh, this will begin the backend server. You will also need to cd /bottles-app From here, please run bash run.sh, this will start up the frontend.

Access the Application:

Once running, access the application via http://localhost:3000 in your web browser to view the application running locally.

Usage

Fetch All Bottles: Navigate to the "Fetch All Bottles" section to see all current bottles in your database.

Add Bottle: Navigate to "Add Bottle" section to add new entries to your collection. Fill in the details and save.

Fetch All Recipes: Navigate to the "Fetch All Recipes" section to see all current Recipes in your database. If highlighted in green, that means you have the necessary spirit to create the recipe If highlihgted in red, that means you are missing the necessary spirit to create that recipe.

Add Recipe: In the "Add Recipe" section, input your favorite cocktail recipes with all necessary details.

Searching: Utilize the search functionality to quickly find bottles or recipes in your database.

Future Plans

The next phase of development aims to integrate a lighting system that will: Illuminate specific bottles upon selection, making them easier to locate in your bar setup. Provide visual cues for cocktail preparation by highlighting required bottles.

About

Functions as a database via FastAPI, SQLAlchemy, and Alembic for managing personal spirits bottles and cocktail recipe collection. Implemented the use of AI analysis to import bottles' information into database. Future Goals: Physical Light display for finding bottles in a bar

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors