How mohanapriyan1386k/startup-solution-pro works
Purpose and runtime
This is a Vite-based React/TypeScript single-page marketing and portfolio site. It presents agency-style content, project listings, pricing, services, and contact calls to action; no server, API layer, database, or external integration implementation is present in the repository. Browser assets and SEO files are served from public/robots.txt and public/sitemap.xml.
Application entry and page composition
The browser bootstraps from src/main.tsx, which mounts the root application in src/App.tsx. Page-level views are organized under src/pages/, principally the landing page at src/pages/Index.tsx, a per-project view at src/pages/ProjectDetail.tsx, and a fallback route/view at src/pages/NotFound.tsx. src/App.css and src/index.css provide application/global styling boundaries.
Landing-page content pipeline
The landing experience is assembled from independently rendered section components rather than from a CMS or backend. Major stages include navigation/header (src/components/Navbar.tsx, src/components/Hero.tsx), credibility and capability content (src/components/TrustedBy.tsx, src/components/TechnologiesSection.tsx, src/components/WhyChooseUs.tsx), commercial content (src/components/Services.tsx, src/components/Pricing.tsx), and conversion/footer content (src/components/Contact.tsx, src/components/Footer.tsx). This keeps visual sections separately maintainable while Index.tsx controls their page-level ordering.
Portfolio data and detail boundary
Project content is centralized in src/data/projects.ts and consumed by portfolio presentation and detail pages, including src/components/Portfolio.tsx and src/pages/ProjectDetail.tsx. The key application flow is static project data → portfolio cards/listing → project-specific detail rendering. Samples or associated static material reside under src/assets/samples; no remote content-fetching boundary is visible.
Navigation and client-side state
Navigation behavior is represented by reusable navigation components (src/components/Navbar.tsx, src/components/NavLink.tsx) and page modules under src/pages/. The presence of a dedicated NotFound.tsx and ProjectDetail.tsx indicates client-side route/view selection, though the route configuration is not visible in the supplied tree. Mobile-responsive behavior is isolated in src/hooks/use-mobile.tsx.
Design-system boundary
Reusable UI primitives are kept separate from product sections in src/components/ui/, with higher-level site components consuming them as needed. Representative primitives include src/components/ui/button.tsx, src/components/ui/card.tsx, and src/components/ui/dialog.tsx. Shared class/style composition utilities live at src/lib/utils.ts; Tailwind configuration is defined in tailwind.config.ts. This boundary allows page sections to avoid owning low-level interaction and visual primitive implementations.
Build, quality, and infrastructure
Vite is the frontend build/dev runtime, configured by vite.config.ts; TypeScript project boundaries are defined in tsconfig.json and tsconfig.app.json. The repository includes both Bun lockfiles and npm lockfiles (bun.lock, package-lock.json), so dependency installation should be standardized before changes. Playwright and Vitest configuration exist (playwright.config.ts, vitest.config.ts), but no deployment, backend infrastructure, authentication provider, analytics service, or API client is represented.
Main entry points: Index.tsx Landing page · Portfolio.tsx Portfolio listing · App.tsx Root application · Navbar.tsx Navigation
Components 18
Browser Runtime
- Vite build runtime
vite.config.ts - Browser entry
src/main.tsx - Root application
src/App.tsx - Mobile behavior
src/hooks/use-mobile.tsx
Page Views
- Landing page · Orders the independently rendered marketing sections.
src/pages/Index.tsx - Project detail
src/pages/ProjectDetail.tsx - Fallback view
src/pages/NotFound.tsx
Landing Sections
- Navigation
src/components/Navbar.tsx - Hero
src/components/Hero.tsx - Credibility & capabilities · TrustedBy, TechnologiesSection, and WhyChooseUs sections.
src/components/TrustedBy.tsx - Services & pricing · Commercial offering sections.
src/components/Services.tsx - Contact & footer · Conversion calls to action and site footer.
src/components/Contact.tsx - Portfolio listing
src/components/Portfolio.tsx
Design System
- UI primitives · Reusable buttons, cards, dialogs, and related primitives.
- Style utilities
src/lib/utils.ts
Static Content & Assets
- Project catalog
src/data/projects.ts - Portfolio samples
src/assets/samples - SEO assets · Robots and sitemap files served by the browser host.
public/robots.txt
Connections 21
- Vite build runtime → Browser entry: builds and serves
- Browser entry → Root application: mounts
- Root application → Landing page: selects view
- Root application → Project detail: selects project view
- Root application → Fallback view: selects fallback
- Landing page → Navigation: renders
- Landing page → Hero: renders
- Landing page → Credibility & capabilities: renders
- Landing page → Services & pricing: renders
- Landing page → Portfolio listing: renders
- Landing page → Contact & footer: renders
- Navigation → Project detail: navigates to
- Project catalog → Portfolio listing: supplies cards
- Portfolio listing → Project detail: opens project
- Project catalog → Project detail: supplies project data
- Portfolio samples → Portfolio listing: provides media
- UI primitives → Navigation: reused by
- UI primitives → Services & pricing: reused by
- UI primitives → Portfolio listing: reused by
- Style utilities → UI primitives: composes styles for
- Mobile behavior → Navigation: supports responsive state