How swapnil-srivastava/reimagined-guide works
Swapnil’s Odyssey is a Next.js blog and community platform with commerce, booking/event, profile, and administration features. Readers browse and filter posts; customers can progress through a cart and checkout; invitees can RSVP, while booking pages support appointment workflows. Supabase supplies authentication and application data, with payment and email integrations on server paths. The map preserves documented capabilities, but unsampled routes and components limit the detail of their runtime links.
Main entry points: supa-client.ts Browser client · index.tsx Post discovery · webhook.ts Stripe webhook · supa-server-client.ts Server client
Components 31
Content and discovery
- Post discovery
apps/web/pages/index.tsx - Post pages
apps/web/pages/[username]/[slug].tsx - Tag filtering
apps/web/lib/tags.ts - Popular posts
apps/web/lib/views.ts - Post rendering
apps/web/components/PostContent.tsx - Video embeds
apps/web/lib/videoEmbed.ts
Commerce and payments
- Product catalog
apps/web/pages/products/index.tsx - Product display
apps/web/components/ProductCard.tsx - Shopping cart
apps/web/components/CartPage.tsx - Checkout
apps/web/pages/checkout/index.tsx - Checkout API
apps/web/pages/api/checkout.ts - Stripe webhook
apps/web/pages/api/webhook.ts - PayPal webhook
apps/web/pages/api/paypal-webhook.ts - Order services
apps/web/lib/orders.ts
Bookings and events
- Booking administration
apps/web/components/booking/admin/useBookingAdmin.ts - Booking API
apps/web/pages/api/booking/[token]/index.ts - Booking services
apps/web/lib/server/booking.ts - Event invitations
apps/web/pages/invite/index.tsx - RSVP management
apps/web/components/RSVPList.tsx
Identity and administration
- Supabase database
apps/web/database.types.ts - Browser client
apps/web/supa-client.ts - Server client
apps/web/supa-server-client.ts - Anonymous authentication
apps/web/lib/use-anonymous-auth.ts - Admin workspace
apps/web/pages/admin/index.tsx - Email delivery
apps/web/lib/server/mailer.ts
Other components
- Reader
- Shopper
- Supabase service
- Stripe
- PayPal
- Postmark
Connections 29
- Reader → Post discovery: browses
- Post discovery → Tag filtering: filters with
apps/web/pages/index.tsx - Post discovery → Popular posts: loads popular
apps/web/pages/index.tsx - Post discovery → Post rendering: renders posts
apps/web/pages/index.tsx - Post pages → Post rendering: renders content
- Post rendering → Video embeds: embeds video
- Shopper → Product catalog: browses
- Product catalog → Product display: renders products
apps/web/pages/products/index.tsx - Shopper → Shopping cart: manages cart
- Shopper → Checkout: checks out
- Checkout → Checkout API: submits order
- Checkout API → Stripe: charges payment
- Stripe → Stripe webhook: sends events
- Stripe webhook → Order services: records order
- Stripe webhook → Booking services: creates booking link
apps/web/pages/api/webhook.ts - Stripe webhook → Email delivery: sends stock notice
apps/web/pages/api/webhook.ts - PayPal → PayPal webhook: sends events
- PayPal webhook → Order services: handles payment issues
- Browser client → Supabase database: uses schema
apps/web/supa-client.ts - Server client → Supabase database: uses schema
apps/web/supa-server-client.ts - Browser client → Supabase service: connects
- Server client → Supabase service: connects
- Anonymous authentication → Browser client: authenticates with
apps/web/lib/use-anonymous-auth.ts - Admin workspace → Browser client: uses
apps/web/pages/admin/index.tsx - Booking administration → Browser client: uses
apps/web/components/booking/admin/useBookingAdmin.ts - Event invitations → RSVP management: renders RSVP list
apps/web/pages/invite/index.tsx - Booking API → Booking services: serves booking actions
- Booking services → Server client: accesses data
- Email delivery → Postmark: sends email
apps/web/lib/server/mailer.ts