From ae10dc0d34022e7d66bb0f98202f07d1e6a5fd42 Mon Sep 17 00:00:00 2001 From: Christian Date: Thu, 15 Oct 2026 15:29:40 +0200 Subject: [PATCH] docs: add comprehensive README with architecture, setup, and features --- README.md | 129 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 129 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..725b05c --- /dev/null +++ b/README.md @@ -0,0 +1,129 @@ +# EL PURO + +> **"99.1% Pure. Zero Compromise."** + +**El Puro** er et mobil-optimeret incremental/idle-spil stylet som en hemmelig, krypteret burner phone (*SilkNet OS v3.2*). Spillet er skabt til hurtige mikro-sessioner (30 sekunder til 3 minutter), hvor du opbygger et undergrundsimperium fra en lille cannabis-plante til et globalt syntetisk kartel. + +Spillet kΓΈrer som en selvstΓ¦ndig **Docker Compose stack** med en lynhurtig Python FastAPI backend, SQLite database og en Nginx reverse-proxy. + +--- + +## πŸ“± NΓΈglefunktioner + +* **Burner Phone Interface:** MΓΈrkt OLED-design med monospaced taktiske datafonte (`JetBrains Mono`), statuslinje med Police Heat meter og 4 touch-venlige bund-tabs: + * βš—οΈ **Lab:** Manuel hΓΈst/syntese, hyring af laboranter og opskriftsblanding. + * πŸ’Ό **Streets:** Dealer-netvΓ¦rk og **Designer Cocktails** (kombination af stoffer som f.eks. *Calvin Klein*, *Speedball* og *Candy Flip*). + * πŸ•ΈοΈ **Network (Talent-TrΓ¦):** Forgrenet spindelvΓ¦v med 3 distinkte stier: *Path of the Chemist*, *Path of the Kingpin* og *Path of the Smuggler*. + * 🏦 **Offshore:** Hvidvaskning af snavsede kontanter til **Clean Bonds** (Prestige-reset med permanente multiplikatorer). +* **10 Progressive Stof-Tiers:** Cannabis, Magic Mushrooms, Adderall, Meth (Blue Sky), MDMA, Ketamin, Kokain (Pure White), Crack, Heroin og Fentanyl. +* **Police Heat & Raids:** Hurtige quick-time hΓ¦ndelser, hvor du kan bestikke politiet, gemme dit lager eller lΓΈbe risikoen for 2x profit. +* **Simpelt Honeypot Brugersystem:** Kun brugernavn og password. Ingen e-mail, ingen 2FA. Inkluderer en usynlig honeypot-fΓ¦lde (`website_hp`), der automatisk afviser bot-registreringer. +* **Cloud & Offline Sync:** Spillet gemmer lokalt og synkroniserer automatisk til serveren hvert 5. sekund. + +--- + +## πŸ› οΈ Arkitektur & Teknologistak + +``` + β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” + β”‚ Browser / Mobil UI β”‚ + β”‚ (HTML5, CSS, JS) β”‚ + β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ + β”‚ HTTP / :HOST_PORT + β–Ό + β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” + β”‚ Nginx Proxy β”‚ + β”‚ (Reverse Proxy) β”‚ + β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜ + β”‚ β”‚ + / (Statiske aktiver) β”‚ /api/* + β”‚ β–Ό + β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” + β”‚ β”‚ Python FastAPIβ”‚ + β”‚ β”‚ (JWT & Auth) β”‚ + β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜ + β”‚ β”‚ + β–Ό β–Ό + [frontend/] [SQLite DB] + (/app/data/elpuro.db) +``` + +--- + +## πŸš€ Hurtig Start med Docker Compose + +### 1. ForudsΓ¦tninger +* [Docker](https://docs.docker.com/get-docker/) & [Docker Compose](https://docs.docker.com/compose/) + +### 2. Klon repository +```bash +git clone https://git.p20.dev/christian/el-puro.git +cd el-puro +``` + +### 3. Konfiguration (.env) +Kopier eksempelfilen og tilpas dine indstillinger: +```bash +cp .env.example .env +``` + +Indhold i `.env`: +```env +# Port pΓ₯ vΓ¦rtsmaskinen hvor spillet tilgΓ₯s +HOST_PORT=8080 + +# Offentligt domΓ¦nenavn (valgfrit til vhost-routing) +DOMAIN_NAME=localhost + +# Hemmelig nΓΈgle til JWT signering +SECRET_KEY=el_puro_secret_key_change_in_production_jwt_99_1_pure +``` + +### 4. Start stakken +```bash +docker compose up -d --build +``` + +Spillet er nu tilgΓ¦ngeligt i din browser pΓ₯: +πŸ‘‰ **`http://localhost:8080`** (eller den port du valgte i `.env`). + +--- + +## πŸ“ Projektstruktur + +``` +. +β”œβ”€β”€ .env.example # Skabelon til miljΓΈvariable +β”œβ”€β”€ docker-compose.yml # Docker Compose opsΓ¦tning +β”œβ”€β”€ backend/ # FastAPI backend +β”‚ β”œβ”€β”€ Dockerfile +β”‚ β”œβ”€β”€ requirements.txt +β”‚ β”œβ”€β”€ main.py # API endpoints & logik +β”‚ β”œβ”€β”€ auth.py # Bcrypt & JWT autentificering +β”‚ β”œβ”€β”€ database.py # SQLite databaseinitialisering +β”‚ └── models.py # Pydantic schemas (med honeypot trap) +β”œβ”€β”€ frontend/ # Mobil-optimeret frontend +β”‚ β”œβ”€β”€ index.html # SilkNet OS layout og modals +β”‚ β”œβ”€β”€ css/ +β”‚ β”‚ └── style.css # Dark OLED tema og responsivt layout +β”‚ └── js/ +β”‚ β”œβ”€β”€ api.js # API klient & sky-synkronisering +β”‚ β”œβ”€β”€ config.js # 10 stoffer, opskrifter, skills og achievements +β”‚ └── game.js # Spilmotor, loop, heat og mechanics +└── nginx/ + └── default.conf.template # Nginx reverse proxy konfiguration +``` + +--- + +## πŸ”’ Honeypot Sikkerhed + +Registrerings-endpointet (`POST /api/auth/register`) inkluderer en skjult `website_hp` parameter. +* Menneskelige brugere ser ikke feltet og lader det stΓ₯ tomt. +* Automatiserede bots udfylder formularen blindt, hvorefter serveren afviser anmodningen med `400 Bad Request`. Dette holder databasen fri for falske konti uden behov for Captcha. + +--- + +## πŸ“œ Licens + +Privat projekt tilhΓΈrende Christian. Alle rettigheder forbeholdes.