How kannan-a7801/landingpage works
Purpose and deployment shape
This is a marketing/contact site with a React single-page frontend and a separate Java backend for processing contact submissions by email. The frontend is configured for Firebase Hosting; the backend is Maven-packaged and containerizable.
• src/index.js
• firebase.json
• backend/dockerfile
Frontend entry and composition
Create React App initializes the React tree in src/index.js, with src/App.jsx acting as the application-level composition point. The UI is organized as page/section components rather than a visible routing layer, suggesting navigation may be anchor- or state-driven within the SPA.
• src/index.js
• src/App.jsx
• public/index.html
Marketing and informational UI
The primary presentation flow is assembled from reusable site sections: navigation, home/hero, feature/exploration content, company/about content, and footer. These components own paired CSS, keeping visual behavior colocated with each section.
• src/components/Navbar/Navbar.jsx
• src/components/home/Home.jsx
• src/components/Features/Features.jsx
• src/components/Footer/Footer.jsx
Page-level contact and connection flows
Dedicated contact and connect page components provide the frontend boundary for lead capture or outreach. A separate contact-navigation component likely links users into this flow; the frontend should treat backend submission failures as user-facing errors.
• src/components/ContactPage/ContactPage.jsx
• src/components/ConnectPage/ConnectPage.jsx
• src/components/contactnav/ContactNav.jsx
Backend HTTP API boundary
Spring Boot starts from ContactBackendApplication and exposes the contact API through ContactController. Request and response DTOs define the stable payload boundary between the React client and server, isolating UI models from email-delivery implementation.
• backend/src/main/java/com/engloray/contact/ContactBackendApplication.java
• backend/src/main/java/com/engloray/contact/controller/ContactController.java
• backend/src/main/java/com/engloray/contact/dto/ContactRequest.java
Contact processing and email delivery
The controller delegates contact handling to EmailService, which is the core integration boundary for outbound email. Centralized exception handling converts backend failures into consistent HTTP responses rather than exposing service exceptions directly.
• backend/src/main/java/com/engloray/contact/service/EmailService.java
• backend/src/main/java/com/engloray/contact/exception/GlobalExceptionHandler.java
• backend/src/main/java/com/engloray/contact/dto/ContactResponse.java
Runtime and infrastructure boundaries
The client runs on Node/React during development and builds static assets for Firebase Hosting. The API runs on the JVM via Spring Boot, uses Maven for packaging, and has environment-backed application settings likely including mail/server configuration. Email infrastructure is an external dependency configured behind the backend service.
• package.json
• backend/pom.xml
• backend/src/main/resources/application.properties
• .firebaserc
Main entry points: ContactController.java Contact controller · App.jsx App composition · ContactBackendApplication.java Spring Boot application · ContactPage.jsx Contact page
Components 17
React frontend
Single-page marketing and contact experience.
- HTML shell
public/index.html - React entry
src/index.js - App composition
src/App.jsx - Marketing sections · Navigation, home, features, and footer presentation.
src/components/home/Home.jsx - Contact navigation
src/components/contactnav/ContactNav.jsx - Contact page · Shows submission failures to users.
src/components/ContactPage/ContactPage.jsx - Connect page
src/components/ConnectPage/ConnectPage.jsx
Contact API
Spring Boot service that processes submissions.
- Spring Boot application
backend/src/main/java/com/engloray/contact/ContactBackendApplication.java - Contact controller
backend/src/main/java/com/engloray/contact/controller/ContactController.java - Contact DTOs · Request and response contract for the client.
backend/src/main/java/com/engloray/contact/dto/ContactRequest.java - Email service · Outbound email integration boundary.
backend/src/main/java/com/engloray/contact/service/EmailService.java - Exception handler
backend/src/main/java/com/engloray/contact/exception/GlobalExceptionHandler.java - Application settings · Provides server and mail settings.
backend/src/main/resources/application.properties
Deployment
Static hosting and container/package boundaries.
- Firebase Hosting
firebase.json - Maven package
backend/pom.xml - Backend container
backend/dockerfile
Other components
- Email infrastructure
Connections 18
- HTML shell → React entry: loads
- React entry → App composition: mounts
- App composition → Marketing sections: composes
- App composition → Contact navigation: composes
- App composition → Contact page: presents
- App composition → Connect page: presents
- Contact navigation → Contact page: links to
- Contact page → Contact controller: submits contact request
- Connect page → Contact controller: submits outreach
- Firebase Hosting → HTML shell: serves static app
- Spring Boot application → Contact controller: starts
- Contact controller → Contact DTOs: uses
- Contact controller → Email service: delegates to
- Exception handler → Contact controller: maps failures from
- Email service → Email infrastructure: delivers email
- Application settings → Spring Boot application: configures
- Maven package → Spring Boot application: packages
- Backend container → Spring Boot application: containerizes