Furniture visualisation platform for interior designers in Uganda — FastAPI + React + rembg
# DesignView
**Furniture visualisation platform for interior designers in Uganda.**
DesignView lets designers upload client room photos, browse furniture from Kampala retailers, and place products into the room with automatic background removal — so clients can see exactly how furniture looks before buying.
## The Problem
- Clients can't imagine how furniture will look in their homes
- Designers waste time with physical samples and constant back-and-forth
- Existing AR/visualisation tools are too expensive for the Ugandan market
## Features Built
### Backend (FastAPI)
- JWT authentication via Supabase
- Product CRUD API with pagination and category filtering
- Image upload with automatic background removal (`rembg`)
- Async image processing pipeline
### Frontend (React + Vite)
- Designer authentication (signup/signin)
- Furniture catalogue with category filters
- Add product modal with image upload and live preview
- Product cards with dimensions, pricing, and retailer info
- Smooth animations and micro-interactions
## Tech Stack
| Layer | Technology |
|-------|-----------|
| Backend | FastAPI + Python |
| Frontend | React + Vite |
| Database | Supabase (PostgreSQL) |
| Auth | Supabase Auth |
| Image Processing | rembg + OpenCV |
| Styling | Tailwind CSS |
## Project Structure
```
DesignView/
├── backend/
│ ├── app/
│ │ ├── main.py
│ │ ├── routers/ # auth, products, health
│ │ └── services/ # supabase_client, image_processing
│ └── requirements.txt
└── frontend/
└── src/
├── context/ # AuthContext
├── pages/ # AuthPage, Dashboard
├── components/ # ProductCard, AddProductModal
└── services/ # api.js
```
## Getting Started
### Backend
```bash
cd backend
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env # Add Supabase credentials
uvicorn app.main:app --reload --port 8000
```
API docs: `
localhost`
### Frontend
```bash
cd frontend
npm install
npm r …