Rangify is a wall recolor platform built with Laravel + React + Inertia. Upload a photo of a room, pick a paint color, and see how the walls will look — powered by a Python computer-vision pipeline.
- Laravel 11 with PHP 8.2+
- Inertia.js (Laravel adapter) for SPA-style routing without a separate API
- Laravel Sanctum for authentication
- Ziggy for sharing Laravel routes with the frontend
- Doctrine DBAL for schema introspection
- React 18 + TypeScript 5
- Inertia.js React adapter
- Tailwind CSS 3 +
@tailwindcss/forms - Headless UI, Alpine.js (lightweight interactions)
- Vite 6 as the bundler
- Python module under
python-vision/— handles wall detection and recolor
git clone https://github.com/Yaldaj19/rangify.git
cd rangifycomposer installnpm installcp .env.example .env
php artisan key:generateThen edit .env with your database credentials and any service keys.
php artisan migratecd python-vision
pip install -r requirements.txt # if presentIn two terminals:
# Terminal 1 — Laravel
php artisan serve
# Terminal 2 — Vite (frontend hot reload)
npm run devVisit http://localhost:8000.
rangify/
├── app/ # Laravel application code
│ ├── Http/ # Controllers, middleware, requests
│ ├── Models/ # Eloquent models
│ └── Providers/
├── bootstrap/ # Framework bootstrap
├── config/ # Laravel config files
├── database/ # Migrations, seeders, factories
├── docs/ # Project documentation
├── public/ # Public webroot
├── python-vision/ # Python CV pipeline
├── resources/
│ ├── js/ # React + TypeScript frontend
│ ├── css/ # Tailwind entry
│ └── views/ # Blade templates (Inertia root)
├── routes/ # web.php, auth.php, console.php
├── storage/ # App storage (logs, cache, sessions)
└── tests/ # PHPUnit feature & unit tests
php artisan testnpm run build # Compile frontend assets
php artisan optimize # Cache config, routes, views- PHP 8.2+
- Composer 2+
- Node.js 18+ and npm
- Python 3.10+ (for the vision module)
- A relational database (MySQL / PostgreSQL / SQLite)
Proprietary — © YJ19. All rights reserved.