Technické Manifesto

Jak budujeme HomeGrif

Technologický stack

Používáme moderní, ověřené technologie s permisivními licencemi:

1. Runtime: Node.js 20.x (MIT)

JavaScript runtime pro serverovou část. Express.js 4.18.x jako webový framework.

2. Databáze: PostgreSQL 15.x

Relační databáze s MIT-like licencí. pg driver pro Node.js připojení.

3. Autentifikace: Passport.js (MIT)

Google OAuth 2.0 pro investory a prospekty. bcryptjs pro hashování hesel.

4. Frontend: Vanilla JS/CSS

Bez frameworku - čistý ES6+ JavaScript. Leaflet.js pro interaktivní mapy (BSD-2).

5. Email: Resend (MIT)

Transakční emaily z hello@homegrif.com. Dvousměrná komunikace přes webhooky.

6. Bezpečnost: Cloudflare + Helmet

Turnstile CAPTCHA, rate limiting, honeypot. CSP, HSTS, XSS ochrana hlaviček.

Architektura

Jednoduchá, škálovatelná architektura na Render PaaS:

Preferujeme jednoduchost před komplexností. Minimální nutná složitost.

Licence

Všechny závislosti používají permisivní open-source licence:

Bezpečnost

Bank-grade bezpečnostní praktiky:

1. Automatický monitoring

Dependabot pro týdenní bezpečnostní skeny. npm audit měsíčně.

2. Aktualizační politika

Kritické/vysoké zranitelnosti - okamžitá oprava. Minor/patch - týdně.

3. Rate limiting

Admin login: 5 pokusů/15min. Kontaktní formulář: 5/hodina. Webhooky: 100/min.

4. Input validace

XSS prevence, SQL injection ochrana. Všechny vstupy sanitizované.

Vývojové principy

Šest pravidel, kterými se řídíme:

1. 1. Data v databázi

Všechna perzistentní data v PostgreSQL, ne v souborech (kromě statického obsahu).

2. 2. Audit trail

Každá akce musí být sledovatelná. GDPR a compliance ready.

3. 3. Transparentnost

Jasná, čestná komunikace. Veřejná dokumentace.

4. 4. Testování

Smoke testy před každým deploy. Regresní testy pro každý bug fix.

5. 5. Verzování

Semantic versioning (MAJOR.MINOR.PATCH). Changelog pro každý release.

6. 6. Jednoduchost

Minimum nutné komplexity. Raději 3 podobné řádky než předčasná abstrakce.

Prostředí

Dvouvetvový deployment model:

1. TEST (test.homegrif.com)

Větev: main. Auto-deploy pro development a testování.

2. PROD (www.homegrif.com)

Větev: production. Merge z main po verifikaci na TEST.

Přispívání

Při přidávání nových závislostí: 1) Zkontrolovat kompatibilitu licence (MIT, ISC, BSD, Apache). 2) Spustit npm audit. 3) Aktualizovat tuto dokumentaci. 4) Vyhnout se závislostem se známými zranitelnostmi.

Máte zájem o spolupráci?

Podívejte se na náš tech stack nebo nás kontaktujte.

Tech Stack

Živý dokument • Poslední aktualizace: December 2024 • v2.2.0