diff --git a/README.md b/README.md
index da1bedb40..bc5ea201b 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@

@@ -91,26 +91,26 @@
**United Tattoo** is a comprehensive tattoo studio management platform designed for [United Tattoo](https://united-tattoos.com), a professional tattoo studio in **Fountain, Colorado**. This platform seamlessly integrates artist portfolios, appointment booking, flash tattoo marketplace, and real-time calendar synchronizationβall running on Cloudflare's global edge network for exceptional performance.
-### β¨ Key Features
+### Key Features
|
-#### π¨ **Artist Management**
+#### **Artist Management**
- Dynamic portfolio galleries with Instagram integration
- SEO-friendly artist pages (`/artists/artist-name`)
- Specialty tracking and hourly rate management
- Active/inactive status control
- Self-service artist dashboard
-#### β‘ **Flash Tattoo Marketplace**
+#### **Flash Tattoo Marketplace**
- Pre-drawn designs available for instant booking
- Responsive carousel UI with smooth scrolling
- Pricing and availability management
- Direct integration with booking system
-#### π
**Smart Booking System**
+#### **Smart Booking System**
- Client appointment scheduling
- Multiple status workflows (PENDING β CONFIRMED β IN_PROGRESS β COMPLETED)
- Deposit and payment tracking
@@ -119,20 +119,20 @@
|
-#### π **CalDAV/Nextcloud Integration**
+#### **CalDAV/Nextcloud Integration**
- **Bidirectional calendar sync** with Nextcloud
- Real-time availability checking
- Per-artist calendar configuration
- Sync logging and monitoring
- Automatic conflict prevention
-#### π **Nextcloud OAuth Authentication**
+#### **Nextcloud OAuth Authentication**
- Auto-provisioning based on Nextcloud groups
- Role-based access control (SUPER_ADMIN, SHOP_ADMIN, ARTIST, CLIENT)
- Seamless integration with existing artist portal
- Emergency admin credentials fallback
-#### π **Comprehensive Dashboards**
+#### **Comprehensive Dashboards**
- **Admin Dashboard**: Analytics, portfolio management, calendar oversight, artist management
- **Artist Dashboard**: Profile editing, portfolio management, appointment view
- File upload management with R2 cloud storage
@@ -141,23 +141,23 @@
|
-### π‘ Why United Tattoo?
+### Why United Tattoo?
-**π Edge-First Architecture**
+**Edge-First Architecture**
Built on Cloudflare Workers for global performance with <100ms response times worldwide.
-**π Nextcloud-First Integration**
+**Nextcloud-First Integration**
Seamless authentication and calendar sync with existing artist infrastructureβno duplicate account management.
-**β‘ Zero-ORM Overhead**
+**Zero-ORM Overhead**
Direct Cloudflare D1 integration via bindings for maximum performance.
-**π¦ Bundle Size Enforced**
+**Bundle Size Enforced**
CI/CD enforces 3MB static budget to ensure lightning-fast page loads.
-**π§ͺ Test Coverage**
+**Test Coverage**
Comprehensive Vitest test suite with coverage tracking.
@@ -166,7 +166,7 @@ Comprehensive Vitest test suite with coverage tracking.
---
-## π οΈ Tech Stack
+## Tech Stack
@@ -200,7 +200,7 @@ Comprehensive Vitest test suite with coverage tracking.
-π¦ Complete Dependency List
+Complete Dependency List
**Core Dependencies:**
- Next.js 14.2.33 (App Router)
@@ -241,14 +241,14 @@ Comprehensive Vitest test suite with coverage tracking.
---
-## ποΈ Architecture
+## Architecture
```mermaid
graph TB
subgraph "Client Layer"
- Browser[π Browser]
+ Browser[Browser]
end
subgraph "Edge Layer - Cloudflare Workers"
@@ -281,7 +281,7 @@ graph TB
-### π System Flow
+### System Flow
Authentication Flow
@@ -357,7 +357,7 @@ pullCalendarEventsToDatabase()
-### π Project Structure
+### Project Structure
```
united-tattoo/
@@ -398,18 +398,18 @@ united-tattoo/
---
-## π Getting Started
+## Getting Started
-### π Prerequisites
+### Prerequisites
-β οΈ Required Accounts & Access
+Required Accounts & Access
Before starting, ensure you have:
-- β
**Cloudflare Account** with access to Workers, D1, R2, and Pages
-- β
**Nextcloud Instance** with admin access for OAuth app creation
-- β
**Node.js 18+** and npm installed
-- β
**Wrangler CLI** version 3+
+- **Cloudflare Account** with access to Workers, D1, R2, and Pages
+- **Nextcloud Instance** with admin access for OAuth app creation
+- **Node.js 18+** and npm installed
+- **Wrangler CLI** version 3+
**Install Wrangler:**
@@ -422,7 +422,7 @@ npm install -g wrangler
- **D1 Database**: SQLite database (named `united-tattoo`)
- **R2 Buckets**: File storage (`united-tattoo`, `united-tattoo-inc-cache`)
-### βοΈ Installation
+### Installation
1. **Clone the repository**
```bash
@@ -476,10 +476,10 @@ npm install -g wrangler
(back to top)
-### π Environment Variables
+### Environment Variables
-π Required Variables
+Required Variables
| Variable | Description | Example |
|----------|-------------|---------|
@@ -505,7 +505,7 @@ npm install -g wrangler
-π§ Optional Variables
+Optional Variables
| Variable | Description | Default |
|----------|-------------|---------|
@@ -526,16 +526,16 @@ npm install -g wrangler
-π‘ Pro Tip: Use .env.local for local development and configure production variables in Cloudflare dashboard under Settings β Environment Variables.
+Pro Tip: Use .env.local for local development and configure production variables in Cloudflare dashboard under Settings β Environment Variables.
(back to top)
---
-## π» Development
+## Development
-### β¨οΈ Common Commands
+### Common Commands
@@ -546,7 +546,7 @@ npm install -g wrangler
-| π§ Development |
+| Development |
npm run dev |
Start Next.js dev server (port 3000) |
@@ -556,7 +556,7 @@ npm install -g wrangler
Build and preview with OpenNext/Cloudflare |
-| π§ͺ Testing |
+| Testing |
npm run test |
Run Vitest in watch mode |
@@ -574,7 +574,7 @@ npm install -g wrangler
Run tests with coverage report |
-| ποΈ Build & Deployment |
+| Build & Deployment |
npm run pages:build |
Build with OpenNext for Cloudflare |
@@ -592,7 +592,7 @@ npm install -g wrangler
Deploy to Cloudflare Pages |
-| π Code Quality |
+| Code Quality |
npm run ci:lint |
Run ESLint |
@@ -614,7 +614,7 @@ npm install -g wrangler
Check bundle size budgets |
-| β¨ Formatting |
+| Formatting |
npm run lint |
Run ESLint |
@@ -631,10 +631,10 @@ npm install -g wrangler
-### ποΈ Database Management
+### Database Management
-π¦ Migration Commands
+Migration Commands
**Local Database:**
```bash
@@ -687,7 +687,7 @@ wrangler d1 execute united-tattoo --command="SELECT * FROM users"
-π Creating New Migrations
+Creating New Migrations
1. Create migration file in `sql/migrations/` with format:
```
@@ -730,14 +730,14 @@ wrangler d1 execute united-tattoo --command="SELECT * FROM users"
---
-## π Deployment
+## Deployment
**Production URL:** [https://united-tattoos.com](https://united-tattoos.com)
-### π Deployment Process
+### Deployment Process
-β‘ Quick Deploy Command
+Quick Deploy Command
npm run pages:build && wrangler deploy
@@ -758,17 +758,17 @@ wrangler d1 execute united-tattoo --command="SELECT * FROM users"
- Check Cloudflare dashboard: Workers & Pages β united-tattoo
- Visit production URL: https://united-tattoos.com
-### π CI/CD Pipeline
+### CI/CD Pipeline
The project uses **Gitea workflows** for automated CI/CD:
**Workflows:**
- **`ci.yaml`** - Main CI pipeline
- - β
ESLint
- - β
TypeScript type checking
- - β
Vitest tests with coverage
- - β
Production build
- - β
Bundle size budgets
+ - ESLint
+ - TypeScript type checking
+ - Vitest tests with coverage
+ - Production build
+ - Bundle size budgets
- **`deploy.yaml`** - Automated deployments
- Triggers on push to `main` branch
@@ -788,10 +788,10 @@ The project uses **Gitea workflows** for automated CI/CD:
Enforced by `scripts/budgets.mjs` in CI.
-### π³ Docker Support
+### Docker Support
-π Docker Deployment (Alternative)
+Docker Deployment (Alternative)
The project includes a Dockerfile for self-hosting:
@@ -816,20 +816,20 @@ docker run --rm -p 3000:3000 \
---
-## π Documentation
+## Documentation
Comprehensive documentation is available in the [`docs/`](docs/) directory:
-### π Key Documentation
+### Key Documentation
| Document | Description |
|----------|-------------|
-| π [**NEXTCLOUD-OAUTH-SETUP.md**](docs/NEXTCLOUD-OAUTH-SETUP.md) | Complete guide to setting up Nextcloud OAuth and group-based authentication |
-| π [**CALDAV-SETUP.md**](docs/CALDAV-SETUP.md) | Instructions for configuring CalDAV calendar synchronization |
-| π [**CI-CD-PIPELINE.md**](docs/CI-CD-PIPELINE.md) | Detailed CI/CD pipeline documentation and troubleshooting |
-| π [**BOOKING-WORKFLOW-FINAL-PLAN.md**](docs/BOOKING-WORKFLOW-FINAL-PLAN.md) | Complete booking system architecture and workflow |
+| [**NEXTCLOUD-OAUTH-SETUP.md**](docs/NEXTCLOUD-OAUTH-SETUP.md) | Complete guide to setting up Nextcloud OAuth and group-based authentication |
+| [**CALDAV-SETUP.md**](docs/CALDAV-SETUP.md) | Instructions for configuring CalDAV calendar synchronization |
+| [**CI-CD-PIPELINE.md**](docs/CI-CD-PIPELINE.md) | Detailed CI/CD pipeline documentation and troubleshooting |
+| [**BOOKING-WORKFLOW-FINAL-PLAN.md**](docs/BOOKING-WORKFLOW-FINAL-PLAN.md) | Complete booking system architecture and workflow |
-### π Additional Documentation
+### Additional Documentation
View All Documentation Files
@@ -859,7 +859,7 @@ Comprehensive documentation is available in the [`docs/`](docs/) directory:
-### π€ AI Development Guide
+### AI Development Guide
The project includes **[`CLAUDE.md`](CLAUDE.md)** with comprehensive instructions for AI assistants (like Claude Code) working with this codebase, including:
- Complete architecture overview
@@ -873,9 +873,9 @@ The project includes **[`CLAUDE.md`](CLAUDE.md)** with comprehensive instruction
---
-## πΊοΈ Roadmap
+## Roadmap
-### β
Completed Features
+### Completed Features
- [x] Artist portfolio system with galleries
- [x] Nextcloud OAuth with auto-provisioning
@@ -891,7 +891,7 @@ The project includes **[`CLAUDE.md`](CLAUDE.md)** with comprehensive instruction
- [x] HEIC image conversion
- [x] Artist slug-based URLs
-### π§ In Progress
+### In Progress
- [ ] Email notifications for appointments
- [ ] SMS reminders for clients
@@ -900,7 +900,7 @@ The project includes **[`CLAUDE.md`](CLAUDE.md)** with comprehensive instruction
- [ ] Gift card system enhancements
- [ ] Enhanced analytics dashboard
-### π‘ Future Enhancements
+### Future Enhancements
- [ ] Client self-service portal
- [ ] Online deposit payments
@@ -917,7 +917,7 @@ See the [open issues](https://git.biohazardvfx.com/nicholai/united-tattoo/issues
---
-## π€ Contributing
+## Contributing
Contributions are welcome! This project follows standard Git workflows and conventional commits.
@@ -991,10 +991,10 @@ Contributions are welcome! This project follows standard Git workflows and conve
---
-## π License
+## License
-
β οΈ License Status
+
License Status
This project currently does not have a LICENSE file in the repository. If you intend to use GNU GPLv3 (as referenced in the original README template), please add a
LICENSE or
COPYING file with the full license text.
Alternatively, consider:
@@ -1012,7 +1012,7 @@ Alternatively, consider:
---
-## π¬ Contact
+## Contact
@@ -1034,13 +1034,13 @@ Alternatively, consider:
-### β Star this repository if you find it helpful!
+### Star this repository if you find it helpful!
(back to top)
---
-**Made with β€οΈ for United Tattoo Studio, Fountain, CO**
+**Made with love for United Tattoo Studio, Fountain, CO**