Overview
ESBO Web follows a standard Vite + React project structure with a single-page application architecture. The codebase is organized for simplicity and maintainability.Directory Tree
Key Directories
src/ - Source Code
src/ - Source Code
Contains all React components and application logic:
- App.jsx: The main single-page component with all sections
- main.jsx: React application initialization and mounting
- assets/: Images, logos, and static media files
- index.css: Global Tailwind CSS imports
public/ - Static Assets
public/ - Static Assets
Files served directly without processing by Vite:
- vite.svg: Default Vite logo (can be replaced with favicon)
- Assets here are accessible via root URL path
Configuration Files
Configuration Files
Root-level configuration for build tools and code quality:
- vite.config.js: Build and development server settings
- tailwind.config.js: Custom theme colors and extensions
- postcss.config.js: CSS processing pipeline
- eslint.config.js: Code linting rules
Entry Points
HTML Entry Point
Theindex.html file is the application’s entry point:
index.html
The
#root div is where React mounts the entire application.React Entry Point
Themain.jsx file initializes React:
src/main.jsx
Build Configuration
Vite Configuration
vite.config.js
- Lightning-fast hot module replacement (HMR)
- Optimized production builds
- Native ES modules support
- React Fast Refresh for instant updates
Tailwind Configuration
tailwind.config.js
PostCSS Configuration
postcss.config.js
Package Dependencies
- Runtime Dependencies
- Development Dependencies
- Scripts
package.json
- react: Core React library (latest v19)
- react-dom: DOM rendering for React
- lucide-react: Beautiful open-source icon library
Architecture Pattern
ESBO Web uses a Single-Page Application (SPA) pattern:- All content is contained in one
App.jsxcomponent - No routing library (single page with sections)
- Component-based structure within a single file
- Tailwind CSS for utility-first styling
- Lucide React for iconography
Next Steps
Components
Explore the React component structure
Styling
Learn about the Tailwind CSS setup