How zoltannyiri/turazzvelunk works
Turazzvelunk is a tour discovery and booking platform with accounts, tour management, bookings and waitlists, payments, equipment allocation, editorial content, and notifications. Users enter through the React application; the Express server mounts API routes, which dispatch to domain controllers. Sampled controllers persist through the shared database, while booking and payment operations also trigger notifications or external payment handling. The README is only the default Vite template, and several screens and controllers were not sampled, so their internal calls are not shown.
Main entry points: server.js HTTP and socket server · App.jsx Application router · db.js Application database · emailService.js Email and notifications
Components 25
Web application
- Application router
src/App.jsx - Tour discovery
src/screens/toursearchscreen/TourSearchScreen.jsx - Tour details
src/screens/tourdetailsscreen/TourDetailsScreen.jsx - Calendar and bookings
src/screens/calendarscreen/CalendarScreen.jsx - Account and admin
src/screens/profilescreen/ProfileScreen.jsx - Blog and contact
src/screens/blogscreen/BlogScreen.jsx
API and domain
- HTTP and socket server
backend/server.js - Authentication routes
backend/routes/authRoutes.js - Account operations
backend/controllers/authController.js - Tour routes
backend/routes/tourRoutes.js - Tour operations
backend/controllers/tourController.js - Booking routes
backend/routes/bookingRoutes.js - Booking operations
backend/controllers/bookingController.js - Payment routes
backend/routes/paymentRoutes.js - Payment operations
backend/controllers/paymentController.js - Editorial routes
backend/routes/blogRoutes.js - Editorial operations
backend/controllers/blogController.js - Other domain routes
backend/routes
Shared services
- Application database
backend/config/db.js - Email and notifications
backend/services/emailService.js - Realtime socket service
backend/services/socketService.js - Booking expiration
backend/services/bookingExpirationService.js
External systems
- Stripe payments
- Email delivery
Other components
- Visitor or user
Connections 33
- Visitor or user → Application router: uses
- Application router → Tour discovery: routes to
- Application router → Tour details: routes to
- Application router → Calendar and bookings: routes to
- Application router → Account and admin: routes to
- Application router → Blog and contact: routes to
- HTTP and socket server → Authentication routes: mounts
- HTTP and socket server → Tour routes: mounts
- HTTP and socket server → Booking routes: mounts
- HTTP and socket server → Payment routes: mounts
- HTTP and socket server → Editorial routes: mounts
- HTTP and socket server → Other domain routes: mounts
- Authentication routes → Account operations: dispatches
- Booking routes → Booking operations: dispatches
- Editorial routes → Editorial operations: dispatches
- Account operations → Application database: reads and writes
- Tour operations → Application database: reads and writes
- Booking operations → Application database: reads and writes
- Payment operations → Application database: reads and writes
- Editorial operations → Application database: reads and writes
- Payment routes → Payment operations: dispatches
- Payment operations → Stripe payments: creates and checks sessions
- Stripe payments → HTTP and socket server: sends webhook
- Payment operations → Email and notifications: requests notifications
- Account operations → Email and notifications: requests account mail
- Email and notifications → Application database: queries recipients
- Email and notifications → Email delivery: sends mail
- Booking operations → Email and notifications: requests booking mail
- Booking operations → HTTP and socket server: emits tour events
- HTTP and socket server → Realtime socket service: sets socket server
- HTTP and socket server → Application database: validates notification users
- HTTP and socket server → Booking expiration: starts job
- Tour operations → Booking expiration: expires stale bookings