Skip to content

This is a Coursework about a simple web application for viewing an AR museum

Notifications You must be signed in to change notification settings

volynetstyle/MuseumAR

Repository files navigation

MuseumAR

MuseumAR is a simple web app designed for viewing an augmented reality (AR) museum. This project is built using React and Vite, leveraging technologies such as Three.js, react-three-fiber, and other modern web development tools.

Table of Contents

Features

  • Augmented Reality integration for viewing museum artifacts.
  • Interactive 3D models using Three.js and react-three-fiber.
  • State management with Zustand.
  • UI components styled with MUI Joy.
  • Hot Module Replacement (HMR) for a smooth development experience.

Technologies Used

  • React: A JavaScript library for building user interfaces.
  • Vite: A build tool that provides a fast development environment.
  • Three.js: A 3D library that makes WebGL simpler.
  • react-three-fiber: A React renderer for Three.js.
  • Zustand: A small, fast, and scalable state-management solution.
  • MUI Joy: A React component library for building stylish UI components.
  • ESLint: A tool for identifying and reporting on patterns in JavaScript.
  • PostCSS: A tool for transforming CSS with JavaScript plugins.
  • Playwright: A framework for end-to-end testing.

Installation

To get started with the project, clone the repository and install the necessary dependencies.

git clone https://github.com/volynetstyle/MuseumAR.git
cd MuseumAR
npm install

Usage

To start the development server, use the following command:

npm run dev

This will launch the app and you can view it in your browser at http://localhost:3000.

Folder Structure

Here is an overview of the project's folder structure:

  • __tests__: Contains test files.
  • public: Contains static assets.
  • src: Contains the source code for the application.
    • components: Reusable React components.
    • hooks: Custom hooks.
    • pages: Page components for different routes.
    • store: Zustand store for state management.
    • styles: CSS and PostCSS files.
    • utils: Utility functions.
  • tests-examples: Example test files.

Contributing

We welcome contributions to the project. If you have an idea or a bug fix, please open an issue or submit a pull request.

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature-name).
  3. Commit your changes (git commit -m 'Add some feature').
  4. Push to the branch (git push origin feature-name).
  5. Open a pull request.

License

This project is licensed under the MIT License.


Feel free to explore the project and contribute! If you have any questions, please open an issue on GitHub.