This commit is contained in:
traveler 2026-04-12 16:06:16 -05:00
parent bb997e2fa7
commit 0f82f39fdd
25 changed files with 577 additions and 123 deletions

View file

@ -1,6 +1,6 @@
---
title: PNC Fish & More
description: Saltwater fish and coral store — IT, operations, and business documentation
description: Saltwater fish and coral store — IT, operations, accounting, and equipment
published: true
date: 2026-04-12T00:00:00.000Z
tags: pncfish, business
@ -12,7 +12,9 @@ dateCreated: 2026-04-12T00:00:00.000Z
![pncfish-badge](/images/pncfish-badge.png)
PNC Fish & More is a saltwater fish and coral store. This section of the grimoire covers IT infrastructure, business operations, and marketing documentation for the store.
PNC Fish & More is a saltwater fish and coral store (single-member LLC, Fort Walton Beach, FL). This grimoire covers all IT infrastructure, business operations, accounting, and equipment documentation for the store.
**Design principle:** Zero/low-cost, self-managed stack. No unnecessary SaaS subscriptions. Open-source tools where maintenance burden is manageable.
**Domain:** `pncfishandmore.com`
@ -22,21 +24,50 @@ PNC Fish & More is a saltwater fish and coral store. This section of the grimoir
| Section | Contents |
|---------|----------|
| [IT](/PNC-Fish/IT/Overview) | Website, POS system, networking, hosting |
| [Operations](/PNC-Fish/Operations/Overview) | Inventory management, suppliers, tank management |
| [Marketing](/PNC-Fish/Marketing/Overview) | Social media, promotions, advertising |
| [IT](/PNC-Fish/IT/Overview) | Apache web server, digital signage, networking, hosting |
| [Operations](/PNC-Fish/Operations/Inventory) | Inventory management, Square POS, sales workflow |
| [Accounting](/PNC-Fish/Accounting/Overview) | Bigcapital, Schedule C, COGS, payroll |
| [Equipment](/PNC-Fish/Equipment/Temperature-Controllers) | Inkbird ITC-306A, ReefBreeder lights, reef tank |
| [Marketing](/PNC-Fish/Marketing/Overview) | Digital signage content, promotions |
---
## IT Overview
## Stack at a Glance
| Resource | Details |
|----------|---------|
| Domain | `pncfishandmore.com` (managed via ISPConfig) |
| Website | Hosted on Netgrimoire Apache/PHP stack |
| Email | Via MailCow + MXRoute relay |
| DNS | ISPConfig + OPNsense internal |
| Service | Host | Purpose | Cost |
|---------|------|---------|------|
| Apache web server | NetGrimoire (self-hosted) | Serves TV signage pages | Free |
| Bigcapital | NetGrimoire (Docker) | Accounting / Schedule C | Free / self-hosted |
| Google Sheets | Google | Master inventory source of truth | Free |
| Google Slides (3 decks) | Google | Digital signage content | Free |
| Google Apps Script | Google | Square webhook + automation | Free |
| Square POS | In-store | Point-of-sale, transaction processing | Transaction fees only |
| ScreenLite | FireTV devices | Kiosk app, loads Apache pages | App cost |
| FireTV (multiple) | In-store TVs | Display hardware | Hardware only |
---
*Sections below are stubs — add content as needed.*
## Integration Architecture
```
Google Sheets (master inventory)
→ Google Slides (auto-updated from Sheet)
→ Apache HTML pages (PNG export, 5-min refresh)
→ FireTV + ScreenLite (display)
Square sale
→ Webhook → Google Apps Script
→ Google Sheets (decrement / remove tank designator)
→ Slides update automatically
```
---
## Key Design Decisions
- **Google Sheets is the master source of truth** for inventory — Square is a downstream target, not the source
- **ERPNext rejected** — US tax table upkeep burden too high for a small operation
- **ScreenLite ignores meta-refresh** — all TV page refreshes must use JavaScript `setInterval` image src swap, not `<meta http-equiv="refresh">`
- **Square API access is free** — webhook + Apps Script integration has zero incremental cost
- **Livestock deaths** tracked via dedicated Sheet tab + Bigcapital journal entries, not through Square
- **Owner draws are not business expenses** and must not appear on Schedule C