Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ladunjexa/reactjs18-3d-shirt

stunning ThreeJS 3D Product website corporate with the incredible power of artificial intelligence built with React & Three.js and OpenAI. ⚡
https://github.com/ladunjexa/reactjs18-3d-shirt

3d-customization-tool 3d-product-web openai-api threejs vite-react

Last synced: 3 months ago
JSON representation

stunning ThreeJS 3D Product website corporate with the incredible power of artificial intelligence built with React & Three.js and OpenAI. ⚡

Awesome Lists containing this project

README

        


![Project Banner](readme_assets/readme_banner.png#gh-dark-mode-only)
![Project Banner](readme_assets/readme_banner-light.png#gh-light-mode-only)

AI-Powered 3D Product Web




Create your unique and exclusive shirt with brand-new 3D customization tool. Unleash your imagination and define your own style.



contributors


last update


forks


stars


open issues


license




View Demo
·
Documentation
·
Report Bug
·
Request Feature



# :notebook_with_decorative_cover: Table of Contents

- [About the Project](#star2-about-the-project)
* [Folder Structure](#bangbang-folder-structure)
* [Tech Stack](#space_invader-tech-stack)
- [Getting Started](#toolbox-getting-started)
* [Environment Variables](#key_environment_variables)
* [Installation](#gear-installation)
* [Run Locally](#running-run-locally)
- [Contributing](#wave-contributing)
- [License](#warning-license)
- [Contact](#handshake-contact)
- [Acknowledgements](#gem-acknowledgements)

## :star2: About the Project





This repository houses an stunning ThreeJS 3D Product website corporate with the incredible power of artificial intelligence built with React & Three.js and OpenAI Api.

### :bangbang: Folder Structure

Here is the folder structure of webapp.
```bash
AI-Powered-3D-Product-Web/
|- client/
|-- public/
|-- src/
|-- assets/
|-- canvas/
|-- components/
|-- config/
|-- pages/
|-- store/
|- server/
|-- routes/
```

### :space_invader: Tech Stack

[![My Skills](https://skillicons.dev/icons?i=js,vite,react,tailwind,threejs,nodejs,express)](https://skillicons.dev)

(back to top)

## :toolbox: Getting Started

### :key: Environment Variables

In order to use this webapp you have to add some environment variables to .env files,
The webapp uses OpenAI's API, so, you've to create OpenAI account and generate api key [here](https://openai.com/api), to run this webapp, meet with the conditions below.\

##### _client-side_ [client/.env]
create `.env` file in `client/` directory & add the following environment variables:
```env
VITE_API_URL=
```

##### _server-side_ [server/.env]
create `.env` file in `server/` directory & add the following environment variables:
```env
OPENAI_API_KEY=
PORT= // optional, default set to 8080
```

### :gear: Installation

#### Step 1:
Download or clone this repo by using the command below:

```bash
https://github.com/ladunjexa/AI-Powered-3D-Product-Web.git
```

#### Step 2:

This webapp using NPM (Node Package Manager), therefore, make sure that Node.js is installed by execute the following command in console:

```bash
node -v
```

#### Step 3:

In both folders (`client` / `server`) execute the following command to get the required packages:

```bash
npm install
```

### :running: Run Locally

#### Step 1:

Go to `server` folder and execute the following command in order to start the server:

```bash
npm start
```

#### Step 2

Go to `client` folder and execute the following command in order to run the web application:

```bash
npm run dev
```

(back to top)

## :wave: Contributing



Contributions are always welcome!

See [`contributing.md`](https://contributing.md/) for ways to get started.

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
Don't forget to give the project a star! Thanks again!

1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request

(back to top)

## :warning: License

Distributed under the MIT License. See [LICENSE.txt](https://github.com/ladunjexa/AI-Powered-3D-Product-Web/blob/main/LICENSE) for more information.

(back to top)

## :handshake: Contact

Liron Abutbul - [@lironabutbul6](https://twitter.com/lironabutbul6) - [@ladunjexa](https://t.me/ladunjexa)

Project Link: [https://github.com/ladunjexa/AI-Powered-3D-Product-Web](https://github.com/ladunjexa/AI-Powered-3D-Product-Web)

(back to top)

## :gem: Acknowledgements

This section used to mention useful resources and libraries that used in webapp:

#### client-side

- [Vite.js](https://vitejs.dev/)
- [TailwindCSS](https://tailwindcss.com/)
- [ThreeJS](https://threejs.org/)
- [@react-three/drei](https://www.npmjs.com/package/@react-three/drei)
- [@react-three/fiber](https://www.npmjs.com/package/@react-three/fiber)
- [Framer Motion](https://www.framer.com/motion/)
- [maath](https://github.com/pmndrs/maath)
- [React Color](https://casesandberg.github.io/react-color/)
- [Valtio](https://github.com/pmndrs/valtio)

#### server-side

- [CORS](https://www.npmjs.com/package/cors)
- [dotenv](https://www.npmjs.com/package/dotenv)
- [Express.js](https://expressjs.com/)
- [Nodemon](https://www.npmjs.com/package/nodemon)
- [OpenAI Api](https://openai.com)

(back to top)