Skip to content

coslynx/lumina-3d-saas-demo

Repository files navigation

lumina-3d-saas-demo

Showcase SaaS with immersive 3D, smooth animations, and parallax effects.

Developed with the software and tools below.

React TypeScript, HTML, CSS Three.js GSAP
git-last-commit GitHub commit activity GitHub top language

πŸ“‘ Table of Contents

  • πŸ“ Overview
  • πŸ“¦ Features
  • πŸ“‚ Structure
  • πŸ’» Installation
  • πŸ—οΈ Usage
  • 🌐 Hosting
  • πŸ“„ License
  • πŸ‘ Authors

πŸ“ Overview

The repository contains a Minimum Viable Product (MVP) that is a 3D SaaS landing page featuring interactive 3D models, smooth animations, and parallax scrolling effects. The landing page showcases a SaaS product and is built using React, Three.js, and TypeScript.

πŸ“¦ Features

Feature Description
🧊 3D Core Manages Three.js scenes, rendering, and camera configurations. Implements core 3D rendering functionalities.
πŸ“¦ Model Loading Facilitates loading and managing 3D models efficiently using utilities like DRACO compression and LOD.
✨ Animations Provides smooth animations and transitions using GSAP. Includes scroll-based and interactive animations.
πŸ’‘ Lighting Implements lighting systems to enhance visual appeal and realism in the 3D environment.
🧱 Materials Creates and manages materials for 3D objects, supporting PBR and custom shader effects.
πŸ–ΌοΈ UI Components Includes reusable UI components such as Header, Footer, and layout structures. Provides a structured UI layout.
πŸ“· Camera Configures and controls camera movements and perspectives within the 3D scene. Provides utility and control
πŸ‘† Interaction Manages user interactions with 3D objects using raycasting and event handling.
⚑️ Performance Optimize for frame rate and memory usage to use Three.js with stability by providing features to optomize it, for a higher score.
πŸ“ Base Template Central for setting up structure for themes and components.

πŸ“‚ Structure

lumina-3d-saas-demo/
β”œβ”€β”€ public/                 
β”‚   └── models/             
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/          
β”‚   β”‚   β”œβ”€β”€ 3d/             
β”‚   β”‚   β”‚   β”œβ”€β”€ AdvancedScene.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ ModelLoader.tsx  
β”‚   β”‚   β”‚   β”œβ”€β”€ ScrollScene.tsx  
β”‚   β”‚   β”‚   β”œβ”€β”€ ThreeScene.tsx   
β”‚   β”‚   β”œβ”€β”€ layout/          
β”‚   β”‚   β”‚   β”œβ”€β”€ Footer.tsx      
β”‚   β”‚   β”‚   β”œβ”€β”€ Header.tsx      
β”‚   β”‚   β”‚   β”œβ”€β”€ MinimalLayout.tsx
β”‚   β”‚   β”œβ”€β”€ sections/        
β”‚   β”‚   β”‚   β”œβ”€β”€ LandingHero.tsx
β”‚   β”‚   β”œβ”€β”€ App.tsx            
β”‚   β”œβ”€β”€ hooks/              
β”‚   β”‚   β”œβ”€β”€ use3DAnimation.tsx 
β”‚   β”‚   β”œβ”€β”€ use3DInteraction.tsx
β”‚   β”‚   β”œβ”€β”€ useScrollAnimation.tsx
β”‚   β”‚   β”œβ”€β”€ useToggle.tsx
β”‚   β”œβ”€β”€ pages/              
β”‚   β”‚   β”œβ”€β”€ AboutPage.tsx     
β”‚   β”‚   β”œβ”€β”€ ContactPage.tsx   
β”‚   β”‚   β”œβ”€β”€ ExperiencePage.tsx
β”‚   β”‚   β”œβ”€β”€ ModelShowcasePage.tsx
β”‚   β”œβ”€β”€ styles/             
β”‚   β”‚   β”œβ”€β”€ base.css        
β”‚   β”‚   β”œβ”€β”€ components/       
β”‚   β”‚   β”œβ”€β”€ layout/           
β”‚   β”‚   β”œβ”€β”€ pages/             
β”‚   β”œβ”€β”€ utils/              
β”‚   β”‚   β”œβ”€β”€ format.ts       
β”‚   β”‚   β”œβ”€β”€ modelManager.ts   
β”‚   β”‚   β”œβ”€β”€ sampleModelHelper.ts
β”‚   β”œβ”€β”€ vite-env.d.ts       
β”‚   β”œβ”€β”€ vite.config.ts      
β”‚   β”œβ”€β”€ tsconfig.json       
β”‚   β”œβ”€β”€ tailwind.config.js   
β”‚   β”œβ”€β”€ index.html            
β”‚   β”œβ”€β”€ main.tsx          
β”œβ”€β”€ README.md               
β”œβ”€β”€ package.json            

πŸ’» Installation

Warning

πŸ”§ Prerequisites

  • Node.js v18 or higher
  • npm v8 or higher

πŸš€ Setup Instructions

  1. Clone the repository:

    git clone https://github.com/coslynx/lumina-3d-saas-demo.git
    cd lumina-3d-saas-demo
  2. Install dependencies:

    npm install

πŸ—οΈ Usage

πŸƒβ€β™‚οΈ Running the MVP

  1. Start the development server:

    npm run dev
  2. Access the application:

Tip

βš™οΈ Configuration

  • src/components: This directory contains the core React components, including layout elements, UI components, and 3D renderings.
  • src/hooks: This directory contains custom React hooks for managing state, animations, and 3D scene interactions.
  • src/utils: This directory contains utility functions for various tasks, such as model loading, formatting, and theming.

πŸ“š Examples

Provide specific examples relevant to the MVP's core features:

  • 🌐 Interactive 3D Model Showcase: Navigate to /model-showcase to view and interact with the 3D model.
  • ✨ Experience Parallax Scrolling: Scroll through the landing page to experience parallax effects, navigate to /experience to test it well..
  • πŸŒ™ Theme Toggle: Use the theme toggle in the header to switch between light and dark modes.

🌐 Hosting

πŸš€ Deployment Instructions

Deploying to Netlify

  1. Create a Netlify account (if you don't have one) and install the Netlify CLI:
npm install -g netlify-cli
  1. Build the project for production:
    npm run build
  2. Deploy the application:
    netlify deploy --prod
    This command will deploy the contents of your dist directory to Netlify. Netlify will provide you with a production URL for your deployed application.

πŸ”‘ Environment Variables

The following environment variables are set in the .env file:

  • VITE_APP_TITLE: The title of the application. Example: Lumina SaaS 3D Demo
  • VITE_PUBLIC_URL: The public URL where the app is served. Example: /

Note

πŸ“œ License & Attribution

πŸ“„ License

This Minimum Viable Product (MVP) is licensed under the GNU AGPLv3 license.

πŸ€– AI-Generated MVP

This MVP was entirely generated using artificial intelligence through CosLynx.com.

No human was directly involved in the coding process of the repository: lumina-3d-saas-demo

πŸ“ž Contact

For any questions or concerns regarding this AI-generated MVP, please contact CosLynx at:

🌐 CosLynx.com

Create Your Custom MVP in Minutes With CosLynxAI!