This repository contains the Arhaus furniture bundle POC workspace under kickoff/basic-implementation/arhaus-poc.
- Git
- Docker Desktop with Docker Compose v2
- An OpenAI API key for bundle image generation
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
- Open a terminal in the repository root:
cd ..\furniture_ai- Create the runtime env file for Docker:
cd kickoff\basic-implementation\arhaus-poc\arhaus-docker
Copy-Item .env.example .env- Edit
kickoff/basic-implementation/arhaus-poc/arhaus-docker/.envand 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- Confirm these folders exist:
kickoff/basic-implementation/arhaus-poc/arhaus-docker/furniture_imageskickoff/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.
From kickoff/basic-implementation/arhaus-poc/arhaus-docker:
docker compose up --build -d
docker compose psThe compose setup builds:
backendfromkickoff/basic-implementation/arhaus-poc/arhausfrontendfromkickoff/basic-implementation/arhaus-poc/arhaus-angularpostgresfrom the official Postgres imagepgadminfrom the override file for local development
Start:
cd ..\furniture_ai\kickoff\basic-implementation\arhaus-poc\arhaus-docker
docker compose up --build -dCheck status:
docker compose psBackend logs:
docker compose logs --no-color backend --tail=200Frontend logs:
docker compose logs --no-color frontend --tail=200Stop containers:
docker compose downStop and remove volumes:
docker compose down -vRebuild after code changes:
docker compose up --build -dAfter 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
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 mainExample remote URLs:
https://github.com/<your-org>/<your-repo>.git
git@github.com:<your-org>/<your-repo>.git
Before you push, verify that these are not being tracked:
kickoff/basic-implementation/arhaus-poc/arhaus-docker/.envkickoff/basic-implementation/arhaus-poc/arhaus-docker/rendered_images/*kickoff/basic-implementation/arhaus-poc/arhaus/target/*- any
node_modulesordistfolders
You can verify with:
git status --short- Keep
furniture_imagesin Git only if those source images are part of the deliverable and the app needs them to run. - Keep
rendered_imagesout 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.