-
Notifications
You must be signed in to change notification settings - Fork 1
Architecture Overview
NeRF-or-Nothing is a React-based web application built with Vite. It follows a component-based architecture and utilizes modern React patterns and practices.
- Frontend: React application built with TypeScript
- Backend: RESTful API (implementation details not included in this repository). Backend API Spec
- State Management: React Context API
- Routing: React Router
- UI Framework: Mantine
- 3D Rendering: Three.js and React Three Fiber
-
/src
: Main source code directory-
/Components
: React components -
/Context
: React context providers -
/Fetch
: API call functions -
/Types
: TypeScript type definitions -
/Util
: Utility functions and constants
-
- App: The main application component
- AuthProvider: Manages authentication state
- Home: Landing page and main interface for creating new scenes
- Scene: Displays individual 3D scenes, remote or local.
- SceneHistory: Shows the user's previously created scenes
- Login/Signup: User authentication forms
The application uses React's Context API for global state management, primarily for user authentication. The AuthContext
provides authentication state and methods to all child components.
API calls are centralized in the Fetch
directory, with CommonApiCalls.ts
containing the main API functions. These functions use the fetch
API and include error handling and response parsing.
React Router is used for navigation within the application. The main routes are defined in the App
component.
The application uses Three.js and React Three Fiber for rendering 3D scenes. The SplatCloudHandler
and SplatMesh
components are responsible for visualizing the 3D data. Additionally, the VideoHandler
component allows for backend handled scene rendering exported as video.
For more detailed information on specific aspects of the architecture, please refer to the following pages: