/next-threejs-web-store

nextjs and threejs 3D multiuser web store

Primary LanguageTypeScriptMIT LicenseMIT

THIS PROJECT UNDER CONSTRUCTION 🚧 Under construction 🚧

react-nextjs-with-threejs-web-store

Overview

This project is an online store featuring 3D object preview. The technology used is Next.js, TypeScript, and three.js. The web store has seller and buyer roles where sellers can showcase and add new 3D objects and buyers can view, inspect, and purchase products.

Features

  • Secure user authentication system for registering, logging in, and updating user information.
  • Mobile responsive user interface for a seamless shopping experience.
  • Translation option for users in different regions.
  • Ability to inspect the 3D product from every angle.
  • Seller panel for adding and removing 3D objects. (TODO)
  • Purchase system for customers to buy products. (TODO)
  • Planned search functionality for easier product searching. (TODO)
  • There will be another react-native application will be created (TODO)

Installation

  1. Clone the repository to your local machine.
  2. Install dependencies using npm i or yarn install.
  3. Rename .env.example to .env and fill in the required fields.
  4. Start the server using npm run dev or yarn dev.
  5. Open http://localhost:3000 to view it in the browser.

Usage

  1. Register or login with the authentication system.
  2. Explore the product list and click on a product to see its 3D object page.
  3. Inspect and interact with the 3D object by dragging and clicking.
  4. If interested, add the product to your shopping cart.
  5. Checkout by filling out the necessary payment and delivery information.

Contributing

We welcome contributions from the open-source community. If you find any issues or bugs, please create an issue or pull request. Make sure to follow code standards and include useful tests.

Resources

You may want to familiarize yourself with the following technologies/libraries:

Feedback

If you have any feedback about the project, please let us know. We are always looking for ways to improve the user experience.