How dennisbica/cruxsync works
CruxSync combines game discovery and metadata, personal library and review tracking, wishlist deal monitoring, and account management. Users interact through the Svelte app; the Kotlin/Javalin backend owns API routing, business logic, and access to PostgreSQL and upstream providers. The graph follows the documented client-to-server workflow and sampled backend calls; unsampled feature wiring is represented only where README capabilities support it.
Main entry points: Main.kt HTTP routing · +layout.svelte App shell · GameService.kt Game workflows · GameRepository.kt Game repository
Components 24
Svelte application
- App shell
frontend/src/routes/+layout.svelte - Game discovery
frontend/src/routes/(app)/discover/+page.svelte - Game details
frontend/src/routes/(app)/games/[id]/+page.svelte - Library
frontend/src/routes/(app)/library/+page.svelte - Wishlist and deals
frontend/src/routes/(app)/wishlist/+page.svelte - Review interface
frontend/src/lib/components/gamePage/gameReviews.svelte - Profile and settings
frontend/src/routes/(app)/profile/+page.svelte
Backend API
- HTTP routing
backend/src/main/kotlin/Main.kt - Game API
backend/src/main/kotlin/controllers/GameController.kt - Account API
backend/src/main/kotlin/controllers/AuthController.kt - Game workflows
backend/src/main/kotlin/services/GameService.kt - Authentication
backend/src/main/kotlin/services/AuthService.kt - Game repository
backend/src/main/kotlin/repositories/GameRepository.kt - User repository
backend/src/main/kotlin/repositories/UserRepository.kt - IGDB client
backend/src/main/kotlin/clients/IgdbClient.kt - CheapShark client
backend/src/main/kotlin/clients/CheapSharkClient.kt
Relational data
- Game catalog
backend/src/main/kotlin/db/Games.kt - Library and wishlist
backend/src/main/kotlin/db/GameLibrary.kt - Reviews
backend/src/main/kotlin/db/Reviews.kt - Users and profiles
backend/src/main/kotlin/db/Users.kt - PostgreSQL
External providers
- IGDB
- CheapShark
Other components
- User
Connections 29
- User → App shell: uses
- App shell → Game discovery: opens
- App shell → Game details: opens
- App shell → Library: opens
- App shell → Wishlist and deals: opens
- Game details → Review interface: shows
- Review interface → HTTP routing: requests reviews
- Game discovery → HTTP routing: requests catalog
- Library → HTTP routing: requests library
- Wishlist and deals → HTTP routing: requests deals
- Profile and settings → HTTP routing: requests account
- HTTP routing → Game API: dispatches game routes
- HTTP routing → Account API: dispatches auth routes
- Game API → Game workflows: calls
- Account API → Authentication: calls
- Game workflows → Game repository: reads and writes
- Game workflows → IGDB client: searches metadata
- Game workflows → CheapShark client: fetches prices
- Authentication → User repository: reads and writes
- Game repository → Game catalog: reads and writes
- Game repository → Library and wishlist: reads and writes
- Game repository → Reviews: reads and writes
- User repository → Users and profiles: reads and writes
- Game catalog → PostgreSQL: persists in
- Library and wishlist → PostgreSQL: persists in
- Reviews → PostgreSQL: persists in
- Users and profiles → PostgreSQL: persists in
- IGDB client → IGDB: queries
- CheapShark client → CheapShark: queries