Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Furniture AI Repository Setup

This repository contains the Arhaus furniture bundle POC workspace under kickoff/basic-implementation/arhaus-poc.

Prerequisites

  • Git
  • Docker Desktop with Docker Compose v2
  • An OpenAI API key for bundle image generation

Project Structure

kickoff/basic-implementation/arhaus-poc/
  arhaus/          Spring Boot backend
  arhaus-angular/  Angular frontend
  arhaus-docker/   Docker Compose, Dockerfiles, nginx, postgres init
  arhaus-postman/  API collection
  docs/            Baseline requirement notes

First-Time Local Setup

  1. Open a terminal in the repository root:
cd ..\furniture_ai
  1. Create the runtime env file for Docker:
cd kickoff\basic-implementation\arhaus-poc\arhaus-docker
Copy-Item .env.example .env
  1. Edit kickoff/basic-implementation/arhaus-poc/arhaus-docker/.env and set at least:
OPENAI_API_KEY=your-real-key
DB_HOST=postgres
DB_PORT=5432
DB_NAME=arhaus_poc
DB_USERNAME=arhaus
DB_PASSWORD=arhaus_local
  1. Confirm these folders exist:
  • kickoff/basic-implementation/arhaus-poc/arhaus-docker/furniture_images
  • kickoff/basic-implementation/arhaus-poc/arhaus-docker/rendered_images

The app reads reference product images from furniture_images and writes generated 3D renders to rendered_images.

Build And Run With Docker

From kickoff/basic-implementation/arhaus-poc/arhaus-docker:

docker compose up --build -d
docker compose ps

The compose setup builds:

  • backend from kickoff/basic-implementation/arhaus-poc/arhaus
  • frontend from kickoff/basic-implementation/arhaus-poc/arhaus-angular
  • postgres from the official Postgres image
  • pgadmin from the override file for local development

Useful Runtime Commands

Start:

cd ..\furniture_ai\kickoff\basic-implementation\arhaus-poc\arhaus-docker
docker compose up --build -d

Check status:

docker compose ps

Backend logs:

docker compose logs --no-color backend --tail=200

Frontend logs:

docker compose logs --no-color frontend --tail=200

Stop containers:

docker compose down

Stop and remove volumes:

docker compose down -v

Rebuild after code changes:

docker compose up --build -d

Local URLs

After the stack is healthy:

  • Frontend: http://localhost
  • Swagger UI: http://localhost/swagger-ui.html
  • Backend health: http://localhost:8080/api/actuator/health
  • pgAdmin: http://localhost:5050

Pushing To An Empty Remote Repository

From the repository root:

cd ..\furniture_ai
git init
git add .
git commit -m "Initial project import"
git branch -M main
git remote add origin <YOUR_EMPTY_REPO_URL>
git push -u origin main

Example remote URLs:

https://github.com/<your-org>/<your-repo>.git
git@github.com:<your-org>/<your-repo>.git

Recommended Pre-Push Check

Before you push, verify that these are not being tracked:

  • kickoff/basic-implementation/arhaus-poc/arhaus-docker/.env
  • kickoff/basic-implementation/arhaus-poc/arhaus-docker/rendered_images/*
  • kickoff/basic-implementation/arhaus-poc/arhaus/target/*
  • any node_modules or dist folders

You can verify with:

git status --short

Notes

  • Keep furniture_images in Git only if those source images are part of the deliverable and the app needs them to run.
  • Keep rendered_images out of Git because they are generated outputs and can be recreated.
  • The Docker override file is picked up automatically by docker compose, so pgAdmin and dev logging come up without extra flags.

About

Generates 3d images of a room with given furniture

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages