How duyenlan151/study-travel-locations works
This is a Next.js 15 starter template, not a complete study-spot search product. Its visible visitor experience is a landing page with a search form and a shared site layout; the sampled search form has no submission or results flow. The app also includes a dashboard route, a hello API route, reusable UI, theme and query providers, and shared utilities. The layout’s provider and site-component wiring is visible; other routes and several capabilities are represented only by the tree or README, so their runtime connections are not inferred.
Main entry points: layout.tsx Root layout · page.tsx Landing page · Home Landing sections · Footer.tsx Footer
Components 20
App experience
- Landing page
src/app/page.tsx - Dashboard route
src/app/dashboard/page.tsx - Hello API route
src/app/api/hello/route.ts - Root layout
src/app/layout.tsx
Site and UI components
- Landing sections
src/components/Home - Header
src/components/Header/Header.tsx - Navbar
src/components/Navbar/Navbar.tsx - Footer
src/components/Footer/Footer.tsx - Theme toggle
src/components/ThemeToggle/ThemeToggle.tsx - Reusable UI
src/components/ui
Client providers
- Query provider
src/providers/query.tsx - Theme provider
src/providers/theme.tsx
Shared runtime
- Prisma client
src/lib/prismaDB.ts - Server environment
src/env/index.ts - Form validation
src/utils/validation.ts - Date utilities
src/lib/date.ts - Fetcher
src/lib/fetcher.ts - Logger
src/lib/logger.ts - Class names
src/lib/cn.ts
Other components
- Visitor
Connections 10
- Visitor → Landing page: visits
- Landing page → Landing sections: renders
src/app/page.tsx - Root layout → Header: renders
src/app/layout.tsx - Root layout → Footer: renders
src/app/layout.tsx - Root layout → Query provider: wraps with
src/app/layout.tsx - Root layout → Theme provider: wraps with
src/app/layout.tsx - Navbar → Theme toggle: renders
src/components/Navbar/Navbar.tsx - Footer → Form validation: validates with
src/components/Footer/Footer.tsx - Landing sections → Reusable UI: uses
src/components/Home/SearchSection.tsx - Prisma client → Server environment: reads config
src/lib/prismaDB.ts