Awesome
:chair: SSCompose-FurniCraftAR :calling:
<div align="center"> </div> <!-- Description -->Welcome to our Augmented Reality Furniture App! :tada: Enter into a virtual showroom where you can browse a vast array of furniture products. Visualize the selected furniture into your real-world surroundings through the magic of Augmented Reality (AR). Users can browse a list of furniture products, select a product to view in AR, customize the color of the model, capture the AR scene with the placed furniture model, and share it with others.
:framed_picture: Preview
:zap: Features
- Explore an extensive catalog of furniture products
- Visualize furniture models in Augmented Reality
- Personalize the color scheme of each furniture model
- Seamlessly capture and share your Augmented Reality scenes featuring placed furniture models
- Use links for quick access to specific models with customized colors
- Enjoy dynamic model animations for enhanced visualization
- Experience uninterrupted usage with offline support, utilizing cached data for seamless access to your favorite furniture pieces
:dart: Requirements
Device that supports ARCore. Checkout ARCore Supported Devices.
:arrow_down: Download
You can download the most recent version of SSFurniCraftAR from GitHub releases.
:hammer_and_wrench: Tech Stack
- UI Design: Jetpack Compose
- Model Catalog: SketchFab API
- SketchFab's
Data API
enables the listing of various products, while theDownload API
facilitates model downloads.
- SketchFab's
- AR Rendering: ARSceneView
- ARSceneView utilizes
Google Filament
andARCore
for seamless 3D model rendering in AR view.
- ARSceneView utilizes
- Data Management: Room Database
- Pagination: Integrated Jetpack Paging for efficient data handling
- Architecture: Following the principles of the Android App Architecture for robust and scalable design
:technologist: Dev Setup
To utilize SketchFab's download API, follow these steps to get & set your API key:
- Sign In to your SketchFab account or create a new one.
- Navigate to SketchFab Password & API settings.
- Copy your
API token
. - Create a
apikeys.properties
file in project root. - Add an entry for the API key as
SKETCHFAB_API_KEY=<YOUR_KEY>
. - Build and Run the project.
:crystal_ball: What's next?
We're thrilled to introduce forthcoming features that will elevate your Augmented Reality experience:
- Visualize multiple furniture models at once to mix and match pieces for your space.
- Record and share videos of your AR setups to capture every detail of your design journey.
- View real size tags of placed furniture in AR View.
- Share your screen in real-time during video calls, such as on WhatsApp.
:construction: Known issues
The custom colors on certain models may not display correctly.
The effect of baseColor depends on the nature of the surface, controlled by the metallic property.
For more details visit Filament/materials#baseColor.
:heart: Find this samples useful?
Support it by joining stargazers :star: for this repository.
:handshake: How to Contribute?
Whether you're helping us fix bugs, improve the docs, or a feature request, we'd love to have you! :muscle:
Check out our Contributing Guide for ideas on contributing.
:lady_beetle: Bugs and Feedback
For bugs, feature requests, and discussion use GitHub Issues.
:rocket: Other Mobile Libraries
Check out our other libraries Awesome-Mobile-Libraries.
:jigsaw: Acknowledgement
- A huge shout-out to Thomas Gorisse for his incredible work on the ARSceneView library.
- Special thanks to SketchFab for providing access to their extensive collection of models.
:balance_scale: License
Distributed under the MIT license. See LICENSE for details.
<!-- Reference links --> <!-- Badges -->