https://github.com/jguida941/homebrew-linkedlist
🍺 Homebrew formula for my C++ Linked List project. Demonstrates software packaging and distribution with brew.
https://github.com/jguida941/homebrew-linkedlist
brew cli cpp devops homebrew linked-list package-manager software-distribution
Last synced: about 2 months ago
JSON representation
🍺 Homebrew formula for my C++ Linked List project. Demonstrates software packaging and distribution with brew.
- Host: GitHub
- URL: https://github.com/jguida941/homebrew-linkedlist
- Owner: jguida941
- Created: 2025-09-22T03:22:24.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-11-02T13:39:19.000Z (8 months ago)
- Last Synced: 2025-11-11T13:03:00.526Z (7 months ago)
- Topics: brew, cli, cpp, devops, homebrew, linked-list, package-manager, software-distribution
- Language: Ruby
- Homepage:
- Size: 6.84 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🍺 Homebrew Formula: Linked List
[](https://brew.sh/) [](https://github.com/jguida941/LinkedList/releases) [](https://brew.sh/)
This is a Homebrew tap for my **Linked List Project**.
It packages a C++ console application that demonstrates a singly linked list for managing auction bids.
The purpose of this project was to show how a C++ program can be distributed and run like a real backend service using Homebrew:
- Built a **backend module in C++** with clean APIs for adding, searching, and removing bids.
- Connected the backend logic to a **Homebrew formula**, enabling installation and execution as a professional CLI tool.
- Practiced real-world **software distribution, packaging, and DevOps** skills, on top of sharpening **C++ development**.
## Installation and Demo GIF

## Installation
Add the tap and install:
```bash
brew tap jguida941/linkedlist
brew install linked-list
```
Run the app with sample data:
```bash
linked-list "$(brew --prefix)/share/linked-list/eBid_Monthly_Sales.csv" 98109
```
### Example Output
```
┌────────────────────────┐
│ BID SYSTEM │
├────────────────────────┤
│ [1] Enter Bid │
│ [2] Load Bids │
│ [3] Show All │
│ [4] Find Bid │
│ [5] Remove Bid │
├────────────────────────┤
│ [9] Exit │
└────────────────────────┘
```
### Example entries:
```
ID: 82620 | Title: "Vacant Industrial Re... | Fund: General Fund | Amount: $ 0.00
ID: 82621 | Title: "Vacant Industrial Re... | Fund: General Fund | Amount: $ 0.00
ID: 92549 | Title: "349 21st Avenue Nort... | Fund: General Fund | Amount: $ 0.00
ID: 82027 | Title: "Commercial Building ... | Fund: General Fund | Amount: $ 0.00
```
## Running the Program

## Theme Support
The program auto-detects your terminal theme (dark/light). To force a specific theme, set the `COLOR_THEME` environment variable:
```bash
export COLOR_THEME=dark # for dark terminals
export COLOR_THEME=light # for light terminals
export COLOR_THEME=mono # for no colors
```
## Why Homebrew?
I wanted to take it a step further and learn real-world software distribution:
- Packaged my program as a Homebrew formula (like professional CLI tools).
- Verified it installs with a single command on macOS.
- Published a working tap that anyone can add with `brew tap`.
- Demonstrated how to share academic projects as if they were production software.
# More
If you’d like to check out the source code, visit the main repo:
👉 LinkedList Project: https://github.com/jguida941/LinkedList