Skip to content

veresdaniel/hellolocal

Repository files navigation

HelloLocal 🗺️

Modern, többnyelvű helyi turisztikai platformvezető rendszer eseménykezeléssel és térkép integrációval.

Version License TypeScript

🌟 Főbb Funkciók

Tartalom Kezelés

  • Többnyelvű támogatás (Magyar, Angol, Német)
  • Helyek (Places) kezelése - Kategóriák, címkék, ár sávok
  • Események (Events) - Időzített események, pinned funkció
  • Rich Text Editor - TipTap alapú WYSIWYG szerkesztő
  • SEO optimalizáció - Dinamikus meta tagek, slugok

Felhasználói Felület

  • Interaktív térkép - MapLibre GL alapú
  • Drag-and-drop szűrők - Pozíció megőrzéssel
  • Események lista - Real-time frissítések
  • Reszponzív design - Mobil-optimalizált
  • Modern UI - Inter font, gradiensek, árnyékok

Admin Funkciók

  • Role-based hozzáférés (superadmin, admin, editor, viewer)
  • 2FA autentikáció - TOTP alapú
  • Többbérlős (Multi-site) rendszer - Site Architecture dokumentáció
  • Automatikus slug generálás
  • Push értesítések - Web Push API

Technikai Jellemzők

  • SSR-ready - SEO meta tagek server-side
  • PWA támogatás - Service Worker
  • Real-time - React Query cache invalidation
  • I18n - react-i18next
  • Type-safe - 100% TypeScript

🏗️ Technológiai Stack

Frontend

  • React 19 - UI framework
  • Vite 7 - Build tool
  • TypeScript 5.9 - Type safety
  • React Router 7 - Routing
  • TanStack Query 5 - Server state management
  • MapLibre GL - Maps
  • TipTap - Rich text editor
  • i18next - Internationalization

Backend

  • NestJS 11 - Backend framework
  • Prisma 7 - ORM
  • PostgreSQL - Database
  • Passport JWT - Authentication
  • Web Push - Notifications
  • Node.js 18+ - Runtime

📋 Előfeltételek

  • Node.js 18.x vagy újabb
  • pnpm 10.x (javasolt package manager)
  • PostgreSQL 14.x vagy újabb
  • Git

🚀 Telepítés

1. Repository klónozása

git clone <repository-url>
cd hellolocal

2. Függőségek telepítése

pnpm install

3. Környezeti változók beállítása

Hozd létre a .env fájlokat:

Backend (apps/api/.env):

# Database
DATABASE_URL="postgresql://user:password@localhost:5432/hellolocal"

# JWT
JWT_SECRET="your-super-secret-jwt-key-change-this-in-production"
JWT_EXPIRES_IN="7d"

# Server
PORT=3002
FRONTEND_URL="http://localhost:5173"

# Web Push (opcionális)
VAPID_PUBLIC_KEY="your-vapid-public-key"
VAPID_PRIVATE_KEY="your-vapid-private-key"
VAPID_SUBJECT="mailto:your-email@example.com"

Frontend (apps/web/.env):

VITE_API_URL=http://localhost:3002
VITE_VAPID_PUBLIC_KEY=your-vapid-public-key

4. Adatbázis migrálás és seed

cd apps/api
pnpm prisma migrate dev
pnpm prisma db seed

5. Fejlesztői szerverek indítása

Két terminálban:

# Terminal 1 - Backend
pnpm run dev:api

# Terminal 2 - Frontend
pnpm run dev:web

A frontend elérhető lesz: http://localhost:5173
A backend API elérhető lesz: http://localhost:3002

📦 Production Build

Backend

cd apps/api
pnpm run build
pnpm start

Frontend

cd apps/web
pnpm run build
pnpm preview  # Production preview

🐳 Docker Deployment

Docker Compose (legegyszerűbb)

docker-compose up -d

Ez elindítja:

  • PostgreSQL adatbázist
  • Backend API-t (port 3002)
  • Frontend-et (port 5173)

Egyedi Docker build

# Backend
docker build -f apps/api/Dockerfile -t hellolocal-api .
docker run -p 3002:3002 --env-file apps/api/.env hellolocal-api

# Frontend
docker build -f apps/web/Dockerfile -t hellolocal-web .
docker run -p 5173:5173 hellolocal-web

☁️ Cloud Deployment Opciók

🎯 Ajánlott: Render.com (Ingyenes kezdéshez)

Előnyök:

  • Ingyenes PostgreSQL adatbázis (90 nap után inaktív)
  • Automatikus HTTPS
  • GitHub integration
  • Egyszerű setup

Lépések:

  1. Fork-old a repository-t
  2. Hozz létre egy új Web Service-t Render-en a backend-hez
  3. Hozz létre egy Static Site-ot a frontend-hez
  4. Hozz létre egy PostgreSQL adatbázist
  5. Állítsd be a környezeti változókat

Részletes útmutató

Alternatívák

Platform Ár Előnyök Hátrányok
Railway.app $5/hó után ingyenes Egyszerű, gyors Ingyenes limit kicsi
Fly.io $0-5/hó Global edge, Docker Bonyolultabb config
Vercel (Frontend) Ingyenes Nagyon gyors, CDN Csak frontend
Heroku $7/hó Megbízható Nincs ingyenes tier
VPS (Hetzner, DigitalOcean) €4-5/hó Teljes kontroll Több setup munka

🔐 Alapértelmezett Admin Felhasználók

A seed script létrehozza a következő felhasználókat:

  • Superadmin: superadmin@hellolocal.com / password123
  • Admin: admin@hellolocal.com / password123
  • Editor: editor@hellolocal.com / password123

⚠️ FONTOS: Változtasd meg ezeket a jelszavakat production környezetben!

📚 Dokumentáció

🧪 Tesztelés

# Unit tesztek (TODO)
pnpm test

# E2E tesztek (TODO)
pnpm test:e2e

🛠️ Karbantartás

Slug generálás meglévő helyekhez

curl -X POST http://localhost:3002/api/admin/maintenance/generate-missing-slugs \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Adatbázis backup

pg_dump -h localhost -U user -d hellolocal > backup.sql

Log monitoring

Production környezetben használd a Render.com vagy más szolgáltatás beépített log nézőjét.

🤝 Közreműködés

  1. Fork-old a projektet
  2. Hozz létre egy feature branch-et (git checkout -b feature/amazing-feature)
  3. Commit-old a változásokat (git commit -m 'feat: Add amazing feature')
  4. Push-old a branch-et (git push origin feature/amazing-feature)
  5. Nyiss egy Pull Request-et

📄 Licenc

Proprietary License - All Rights Reserved. Lásd LICENSE fájlt

🐛 Ismert Problémák

Lásd a GitHub Issues oldalt.

💬 Támogatás

🎉 Köszönetnyilvánítás


HelloLocal - Készítve ❤️ -vel

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages