Skip to content

coslynx/happy-moments-3d-webgl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

22 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

happy-moments-3d-webgl

Share cherished memories in a whimsical, interactive 3D web application.

Developed with the software and tools below.

React Frontend Node.js Three.js
git-last-commit GitHub commit activity GitHub top language

πŸ“‘ Table of Contents

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

πŸ“ Overview

This repository contains a Minimum Viable Product (MVP) for a web application called "Happy Moments Companion", designed to share and celebrate cherished memories in an interactive 3D environment. The application leverages React with TypeScript for a type-safe and component-based architecture, Three.js for 3D rendering, and CSS for styling. The application presents a whimsical and engaging user experience using 3D models, animations, and scroll-triggered interactions.

πŸ“¦ Features

Feature Description
πŸ–ΌοΈ 3D Environment Immersive 3D environment for presenting happy moments using Three.js.
πŸ—ΊοΈ Interactive Sections Sections for showcasing "Our Story," "Shared Hobbies," and "Future Adventures" with interactive 3D elements.
πŸ“œ Scroll Animations Scroll-triggered animations to create a dynamic and engaging user experience.
🎨 Whimsical Design Organic and whimsical aesthetic with soft pastel colors and rounded shapes.
πŸ“± Responsive Design Fully responsive layout adapting to different screen sizes and devices.
βš™οΈ Component Architecture Modular React components for easy maintenance and scalability.
πŸš€ Performance Optimization Optimized 3D model loading, texture compression, and animation techniques to ensure smooth performance.
πŸ“¦ Dependency Management Uses npm for managing project dependencies, ensuring easy setup and configuration.

πŸ“‚ Structure

 happy-moments-3d-webgl/
β”œβ”€β”€ public/
β”‚   β”œβ”€β”€ models/
β”‚   β”‚   └── memory-box.glb
β”‚   └── textures/
β”‚       └── wood-texture.jpg
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ CTASection.tsx
β”‚   β”‚   β”œβ”€β”€ FutureSection.tsx
β”‚   β”‚   β”œβ”€β”€ HobbiesSection.tsx
β”‚   β”‚   β”œβ”€β”€ Hero.tsx
β”‚   β”‚   β”œβ”€β”€ MemoryBox.tsx
β”‚   β”‚   └── StorySection.tsx
β”‚   β”œβ”€β”€ hooks/
β”‚   β”‚   └── useScrollAnimation.ts
β”‚   β”œβ”€β”€ utils/
β”‚   β”‚   └── animationUtils.ts
β”‚   β”œβ”€β”€ App.tsx
β”‚   β”œβ”€β”€ index.tsx
β”‚   └── types.ts
β”œβ”€β”€ .env
β”œβ”€β”€ .gitignore
β”œβ”€β”€ package.json
β”œβ”€β”€ README.md
β”œβ”€β”€ tsconfig.json
└── vite.config.ts

πŸ’» Installation

Warning

πŸ”§ Prerequisites

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

πŸš€ Setup Instructions

  1. Clone the repository:
    git clone https://github.com/coslynx/happy-moments-3d-webgl.git
    cd happy-moments-3d-webgl
  2. Install dependencies:
    npm install
  3. Configure environment variables:
    cp .env.example .env
    Update the .env file with the required variables.

πŸ—οΈ Usage

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

  1. Start the development server:
    npm run dev
  2. Access the application:
    • Open your browser and navigate to http://localhost:5173.

Tip

βš™οΈ Configuration

  • The application title can be configured in the .env file using the VITE_APP_TITLE variable.
  • The path to the 3D model can be configured using the VITE_THREE_MODEL_PATH variable.

πŸ“š Examples

  • View the 3D Memory Box in the Hero Section.
  • Scroll through the "Our Story" section to see key milestones.
  • Explore shared hobbies in the "Shared Hobbies" section.
  • Select a future adventure in the "Future Adventures" section.
  • Click the CTA button to share a memory.

🌐 Hosting

πŸš€ Deployment Instructions

Deploying to Netlify

  1. Create a Netlify Account: Sign up for a free account at Netlify.
  2. Install Netlify CLI: Install the Netlify Command Line Interface globally using npm:
npm install -g netlify-cli
  1. Authenticate with Netlify: Log in to your Netlify account through the CLI:
netlify login
  1. Build the Project: Build the React application using Vite:
npm run build
  1. Deploy to Netlify: Navigate to the dist directory created by the build process and deploy it to Netlify:
cd dist
netlify deploy --prod
  1. Set up environment variables: Set up your environment variable such as VITE_APP_TITLE to Happy Moments Companion on the netlify console.

πŸ”‘ Environment Variables

  • VITE_APP_TITLE: The title of the application (e.g., Happy Moments Companion).
  • VITE_API_URL: The base URL for the API (e.g., http://localhost:3000).
  • VITE_THREE_MODEL_PATH: The path to the 3D model files (e.g., /models/).

πŸ“œ API Documentation

πŸ” Endpoints

There are no dedicated APIs for this MVP, as it is frontend focused using 3D rendering. This section will be updated when external API or more features are added.

πŸ”’ Authentication

Since there are no dedicated APIs for this MVP, this section will be updated when authentication is added.

πŸ“ Examples

Since there are no dedicated APIs for this MVP, this section will be updated when API examples are available.

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: happy-moments-3d-webgl

πŸ“ž 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!

3D Model Files Required

This project requires the following 3D model files that need to be created manually:

  • public/models/memory-box.glb

These placeholder files need to be replaced with actual binary 3D model files.