# Meezi — Day 1 Quick Start

## Step 1 — Copy these 4 files to your project root
.cursorrules       ← AI rules for Cursor
MEEZI_CURSOR_GUIDE.md  ← Full development guide
docker-compose.yml ← Local DB + Redis
README.md          ← This file

## Step 2 — Start local services
docker-compose up -d

## Step 3 — Create project structure
mkdir meezi && cd meezi
git init

mkdir src web mobile
cd src
dotnet new sln -n Meezi
dotnet new webapi -n Meezi.API --use-controllers
dotnet new classlib -n Meezi.Core
dotnet new classlib -n Meezi.Infrastructure
dotnet new classlib -n Meezi.Shared
dotnet sln add Meezi.API Meezi.Core Meezi.Infrastructure Meezi.Shared

cd ../web
npx create-next-app@latest dashboard --typescript --tailwind --app

cd ../mobile
flutter create meezi_app --org ir.meezi

## Step 4 — Open in Cursor
cursor .   (from the meezi/ root folder)

## Step 5 — Paste this FIRST prompt in Cursor chat (Cmd+L)

Read .cursorrules and MEEZI_CURSOR_GUIDE.md completely.
Then do Sprint 1 Week 1:
1. Set up the .NET solution with proper references between projects
2. Add all NuGet packages listed in the guide to each project
3. Create the complete EF Core entity schema from the guide
4. Set up AppDbContext with all DbSets
5. Create TenantMiddleware and ITenantContext
6. Set up Program.cs with full middleware pipeline

---

## Cursor Chat Tips

### Ask one sprint at a time
"Do Sprint 2: build the POS order APIs (menu, tables, orders)"

### Reference specific sections  
"Build the CRM endpoint from Step 10 of MEEZI_CURSOR_GUIDE.md"

### Debug with context
"The order API returns 403. Check if TenantMiddleware is injecting CafeId correctly"

### Generate Flutter screens
"Build the Flutter POS screen from Sprint 2 in the guide. RTL, Farsi, Riverpod state"

---

## Useful Cursor Keyboard Shortcuts
Cmd+L     → Open AI chat
Cmd+K     → Inline AI edit (select code first)
Cmd+I     → Composer (multi-file edits)
Cmd+.     → Quick fix / suggestion
Tab       → Accept autocomplete

---

## Local URLs when running
Backend API:    https://localhost:7001
API Swagger:    https://localhost:7001/swagger
Dashboard:      http://localhost:3000
Hangfire UI:    https://localhost:7001/hangfire
Flutter web:    http://localhost:8080
