How ayush1974-rgb/ai_tronics_website works
Purpose and Runtime
This is a single-page, visual/marketing-style Next.js application. The App Router entry point is app/page.tsx, with document-level setup in app/layout.tsx and global styling in app/globals.css. next.config.mjs and package.json define the Node/Next build runtime; no backend, API routes, database, or external service integration is present in the repository tree.
Application Shell and Entry Flow
app/layout.tsx establishes the shared page shell and is the boundary for global providers, fonts, and styles. app/page.tsx is the primary composition root: it assembles the landing experience from page-level sections and shared visual controls.
• app/layout.tsx
• app/page.tsx
• app/globals.css
Landing and Content Sections
The main page is organized as independently rendered content bands rather than routes or data-driven CMS entities. Core stages likely include hero/landing presentation, about, events, gallery, team, vibe, and contact content. Each section owns its markup and presentation data, making app/page.tsx the integration point for ordering and cross-section wiring.
• components/hero-section.tsx
• components/about-section.tsx
• components/events-section.tsx
• components/contact-section.tsx
Navigation and Page Interaction Layer
Navigation is implemented as page-local UI that likely scrolls or targets sections within the single landing page. A section menu, global navigation, footer, preloader, custom cursor, and theme provider form the persistent interaction layer around content. These components are key boundaries for browser-only behavior and page lifecycle effects.
• components/navigation.tsx
• components/section-menu.tsx
• components/preloader.tsx
• components/theme-provider.tsx
Visual Effects and Gallery Pipeline
Gallery content is served as static assets under public/gallery, separated by content type. The gallery presentation has both conventional and “infinite” variants; lib/gallery-canvas.ts is the notable rendering abstraction and likely encapsulates canvas-oriented gallery/effect behavior. Particle backgrounds and custom cursor effects are separate visual subsystems rather than application data services.
• components/gallery-section.tsx
• components/infinite-gallery-section.tsx
• lib/gallery-canvas.ts
• public/gallery/infinite
UI Foundation and Styling Boundary
Reusable primitives are centralized in components/ui, providing the shared component layer beneath page-specific sections. Styling is split between App Router globals and a legacy/shared global stylesheet location, while utility composition is centralized in lib/utils.ts. The UI directory appears to be a local component library, not an external API boundary.
• components/ui/button.tsx
• components/ui/dialog.tsx
• lib/utils.ts
• styles/globals.css
Assets and Deployment Characteristics
All visible media appears locally hosted from public/gallery, including event, landing, headshot, and infinite-gallery collections. The application can therefore be deployed as a standard Next.js frontend without required service credentials or runtime data dependencies evident from the tree.
• public/gallery/events
• public/gallery/heads
• public/gallery/landing
Main entry points: page.tsx Landing page · layout.tsx Root layout · gallery-section.tsx Gallery section · infinite-gallery-section.tsx Infinite gallery
Components 23
Next.js Runtime
- Node / Next.js build · Builds and serves the standalone frontend.
package.json
Application Shell
- Root layout · Shared document shell, providers, fonts, and global styles boundary.
app/layout.tsx - Landing page · Orders content sections and persistent visual controls.
app/page.tsx - Navigation · In-page navigation targeting landing sections.
components/navigation.tsx - Section menu
components/section-menu.tsx - Preloader
components/preloader.tsx - Theme provider · Shared theme boundary for the page.
components/theme-provider.tsx
Landing Content
- Hero section
components/hero-section.tsx - About section
components/about-section.tsx - Events section
components/events-section.tsx - Contact section
components/contact-section.tsx
Visual Systems
- Gallery section
components/gallery-section.tsx - Infinite gallery
components/infinite-gallery-section.tsx - Gallery canvas · Canvas-oriented rendering for gallery effects.
lib/gallery-canvas.ts - Gallery media · Locally hosted gallery collections.
public/gallery/infinite - Event media
public/gallery/events - Landing media
public/gallery/landing - Headshot media
public/gallery/heads
UI & Styling
- App global styles
app/globals.css - UI primitives · Shared controls used beneath page-specific components.
components/ui/button.tsx - Dialog primitive
components/ui/dialog.tsx - UI utilities
lib/utils.ts - Shared global styles
styles/globals.css
Connections 24
- Node / Next.js build → Root layout: runs
- Root layout → Landing page: hosts
- Root layout → Theme provider: provides
- Root layout → App global styles: loads
- Landing page → Hero section: composes
- Landing page → About section: composes
- Landing page → Events section: composes
- Landing page → Contact section: composes
- Landing page → Gallery section: composes
- Landing page → Infinite gallery: composes
- Landing page → Navigation: includes
- Landing page → Section menu: includes
- Landing page → Preloader: includes
- Navigation → Hero section: targets
- Section menu → Events section: targets sections
- Gallery section → Event media: uses
- Gallery section → Headshot media: uses
- Hero section → Landing media: uses
- Infinite gallery → Gallery canvas: renders through
- Infinite gallery → Gallery media: uses
- UI primitives → UI utilities: uses
- Dialog primitive → UI utilities: uses
- Landing page → UI primitives: uses shared controls
- Landing page → Shared global styles: shares styling