EventHub je desktopová aplikace vytvořená během letních prázdnin 2025. Aplikace umožňuje uživatelům vytvářet, sdílet a sledovat události s automatickými notifikacemi před jejich začátkem. Aplikace zároveň podporuje sledování uživatelů, opakování událostí, soukromé i veřejné eventy a reaktivní upozornění na změny v kalendáři. Pokud si chcete aplikaci vyzkoušet, jsou pro ní připraveny Image na DockerHub - stačí se jen řídit pokyny z kroku 🚀 Zprovoznění aplikace
- Přihlášení (JWT)
- Profil uživatele
- Sledování jiných uživatelů
- Přehled sledovaných událostí
- Tvorba/editace/mazání události
- Atributy: název, popis, čas, místo, kategorie (label), barva, sdílený link
- Připojení k privátním eventům pomoci tokenu eventu
- Když někdo, koho sleduji, vytvoří/smaže/urpaví událost
- Týden, den, hodinu a 10 minut před událostí, dle nastavení uživatele
- Pozvání přátel na událost z menu události
- Připojení přes token/přijmutí pozvánky na soukromý event nebo bez autorizace na veřejný
EventHub/
├── Frontend/
│ ├── Dockerfile
│ └── (React projekt)
├── Backend/
│ ├── Dockerfile
│ └── (backend kód - Spring Boot)
├── PostgresqlDb/
│ └── create_db.sql
│ └── inserts.sql
├── docker-compose.yml
└── README.md
- Pro spuštění aplikace z dockeru je třeba mít nainstalovaný a spuštěný Docker nebo Docker Desktop (doporučeno)
- Vytvořte si soubor
docker-compose.ymla vložte do něj tento kód:
services:
frontend:
image: artemzach/eventhub:frontend-latest
ports:
- "80:80"
depends_on:
- backend
backend:
image: artemzach/eventhub:backend-latest
ports:
- "8080:8080"
environment:
SPRING_DATASOURCE_URL: jdbc:postgresql://db:5432/eventhub
SPRING_DATASOURCE_USERNAME: admin
SPRING_DATASOURCE_PASSWORD: 123456Ab
depends_on:
- db
db:
image: artemzach/eventhub:db-latest
restart: always
environment:
POSTGRES_DB: eventhub
POSTGRES_USER: admin
POSTGRES_PASSWORD: 123456Ab
ports:
- "5432:5432"- Ve složce se souborem
docker-compose.ymlotevřete příkazový řádek a spusťte příkazdocker compose up -d - Docker si automaticky stáhne a spustí moje image z DockerHubu
- Aplikace se spustí a pak:
- Frontend na http://localhost:80 => toto otevřít v prohlížeči
- Backend na http://localhost:8080
- Databáze na localhost:5432
Databázové napojení application.properties pro vývojářské prostředí:
spring.application.name=eventhub.restapi
spring.datasource.url=jdbc:postgresql://localhost:5432/EventHub
spring.datasource.username=admin
spring.datasource.password=123456Ab
spring.datasource.driver-class-name=org.postgresql.Driver
spring.security.user.name=artem
spring.security.user.password=secret1234!
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.hibernate.ddl-auto=update
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.show-sql=true.env soubor pro FE :
VITE_API_URL=http://localhost:8080
- Frontend (FE): React 19, TypeScript, Vite
- Styling & UI: TailwindCSS, Framer Motion, Lucide React, React Toastify, React Spinners
- State & Data: React Query, Zustand
- Backend (BE): Java 21, Spring Boot 3.5, Spring Data JPA, Spring Web, Spring Security, Spring Validation, JWT (jjwt)
- Databáze: PostgreSQL
- DevOps / Build: Docker, Docker Hub, Maven, ESLint
- Přidat Redis pro cacheování nadcházejících eventů a přátel
- Spouštět připomínky i pro eventy s opakováním
- Přidat responzivitu
- Upload profilových fotek do Cloudu + ukládání URL do db
- Možnost upravit jednotlivé instance opakujících se eventů (ne všechny)
- Implementovat Axios na Fe