docs: Comprehensive startup guide + troubleshooting
Some checks failed
CI / Frontend Lint & Type Check (push) Has been cancelled
CI / Frontend Build (push) Has been cancelled
CI / Backend Lint (push) Has been cancelled
CI / Backend Tests (push) Has been cancelled
CI / Docker Build (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
Deploy / Build & Push Images (push) Has been cancelled
Deploy / Deploy to Server (push) Has been cancelled
Deploy / Notify (push) Has been cancelled

README UPDATES:
- Added Quick Start section at the top with 2-command startup
- Documented common console warnings (SES, PostHog, CSS prefixes)
- Explained what errors actually need fixing
- Three startup options: Two terminals, start.sh, PM2
- Step-by-step manual setup with verification
- Application URLs table

IMPORTANT: Backend must be running for CORS errors to disappear!
This commit is contained in:
yves.gugger
2025-12-08 16:56:45 +01:00
parent 163c8d6ec7
commit c10e094ed4

112
README.md
View File

@ -2,6 +2,47 @@
A professional full-stack application for monitoring domain name availability with TLD price tracking and intelligence.
---
## ⚡ Quick Start (Local Development)
**Terminal 1 - Backend:**
```bash
cd backend
source venv/bin/activate
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
```
**Terminal 2 - Frontend:**
```bash
cd frontend
npm run dev
```
**Access:**
- Frontend: http://localhost:3000
- Backend: http://localhost:8000
- API Docs: http://localhost:8000/docs
### ⚠️ Common Console Warnings (Can be ignored)
| Warning | Explanation |
|---------|-------------|
| `SES Removing unpermitted intrinsics` | MetaMask/browser extension - harmless |
| `PostHog CORS blocked` | Normal on localhost, works in production |
| `-webkit-text-size-adjust` error | Old CSS prefixes - harmless |
| `-moz-column-gap` unknown | Old Firefox prefix - harmless |
| `preloaded font not used` | Next.js optimization - harmless |
### ❌ Actual Errors to Fix
| Error | Solution |
|-------|----------|
| `CORS request did not succeed` to localhost:8000 | **Start the backend!** |
| `500 Internal Server Error` | Check backend logs, run `python scripts/init_db.py` |
---
## Features
### Core Functionality
@ -197,32 +238,61 @@ pounce/
---
## Quick Start
## Full Setup Guide
### Prerequisites
- Python 3.12+
- Node.js 18+
- npm or yarn
### 🚀 One-Command Setup (Recommended)
### 🚀 One-Command Setup (Fresh Install)
```bash
# Clone repository
git clone https://git.6bit.ch/yvg/pounce.git
cd pounce
# Run deployment script (sets up everything)
# Run deployment script (installs everything + initializes database)
chmod +x deploy.sh
./deploy.sh
```
# Start both services
### 🏃 Starting the Application
**Option A: Two Terminals (Recommended for Development)**
```bash
# Terminal 1 - Backend
cd backend
source venv/bin/activate
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
# Terminal 2 - Frontend
cd frontend
npm run dev
```
**Option B: Single Command (Quick)**
```bash
chmod +x start.sh
./start.sh
```
That's it! Open http://localhost:3000
**Option C: PM2 (Production)**
### Manual Setup
```bash
# Backend
cd backend && source venv/bin/activate
pm2 start "uvicorn app.main:app --host 0.0.0.0 --port 8000" --name pounce-api
# Frontend
cd frontend
npm run build
pm2 start "npm start" --name pounce-web
```
### 🔧 Manual Setup (Step by Step)
#### 1. Clone Repository
@ -247,11 +317,11 @@ pip install -r requirements.txt
# Create environment file
cp env.example .env
# Generate secret key and add to .env
python -c "import secrets; print(f'SECRET_KEY={secrets.token_hex(32)}')"
# Edit .env with your SECRET_KEY
# Generate secret key
python -c "import secrets; print(secrets.token_hex(32))"
# Copy the output and paste into .env as SECRET_KEY=...
# Initialize database
# Initialize database (creates tables + seeds data)
python scripts/init_db.py
```
@ -275,11 +345,25 @@ echo "NEXT_PUBLIC_API_URL=http://localhost:8000" > .env.local
npm run dev
```
#### 4. Access Application
#### 4. Verify Everything Works
- **Frontend:** http://localhost:3000
- **Backend API:** http://localhost:8000
- **API Docs:** http://localhost:8000/docs
```bash
# Check backend health
curl http://localhost:8000/health
# Should return: {"status":"healthy","service":"DomainWatch","version":"1.0.0"}
# Open frontend
open http://localhost:3000
```
### 📍 Application URLs
| Service | URL | Description |
|---------|-----|-------------|
| Frontend | http://localhost:3000 | Main application |
| Backend API | http://localhost:8000 | REST API |
| API Docs (Swagger) | http://localhost:8000/docs | Interactive API docs |
| API Docs (ReDoc) | http://localhost:8000/redoc | Alternative docs |
---