Skip to main content
ShelfWise is a full-featured inventory management system built with Laravel 12, React, and Inertia.js. This guide will help you set up a local development environment quickly.

Prerequisites

Before you begin, ensure you have the following installed:
  • PHP 8.2 or higher
  • Composer
  • Node.js 18+ and npm
  • SQLite (default) or MySQL/PostgreSQL

Installation

1

Clone the repository

git clone https://github.com/your-org/shelfwise.git
cd shelfwise
2

Install PHP dependencies

composer install
This installs Laravel 12, Inertia.js, Laravel Fortify for authentication, and other backend dependencies.
3

Install JavaScript dependencies

npm install
This installs React 19, TypeScript, TailwindCSS 4, and frontend build tools.
4

Set up environment

Copy the example environment file and generate an application key:
cp .env.example .env
php artisan key:generate
5

Create database

ShelfWise uses SQLite by default. Create the database file:
touch database/database.sqlite
To use MySQL or PostgreSQL instead, update the DB_CONNECTION and related settings in your .env file.
6

Run migrations

Set up the database schema:
php artisan migrate
This creates tables for tenants, users, shops, products, orders, and more.
7

Start the development server

composer dev
This command starts three concurrent processes:
  • Laravel development server (http://localhost:8000)
  • Queue worker for background jobs
  • Vite dev server for hot module replacement
The composer dev script uses concurrently to run multiple processes. You can also run them separately in different terminals if needed.

Access the Application

Once the development server is running, open your browser to:
http://localhost:8000
You’ll be greeted with the onboarding flow to create your first tenant account.

Create Your First Tenant

ShelfWise is a multi-tenant application. Each business operates as a separate tenant with isolated data.
1

Register as tenant owner

Fill in your business details:
  • Business name
  • Owner email
  • Password
  • Business type (retail, wholesale, etc.)
2

Set up your first shop

After registration, you’ll create your first shop location:
  • Shop name
  • Shop type (retail store, warehouse, etc.)
  • Currency settings
  • Tax/VAT configuration
3

Start adding inventory

You’re ready to:
  • Add products and variants
  • Create purchase orders
  • Process sales orders
  • Track stock movements

Quick Commands Reference

# Start all services (recommended)
composer dev

# Or start individually
php artisan serve
php artisan queue:listen
npm run dev

What’s Next?

Complete Setup

Detailed installation instructions including database options and troubleshooting

Configuration

Configure mail, queues, storage, and other application settings

Multi-Tenancy

Understand how ShelfWise handles tenant isolation and data security

API Documentation

Explore the service layer API for integrations
Important for Production: The quickstart uses SQLite and default settings suitable for development only. See the Installation Guide for production deployment.

Need Help?

If you encounter issues:
  • Check the Installation Guide for common problems
  • Review Laravel logs in storage/logs/laravel.log
  • Ensure all system requirements are met
  • Join our community for support

Build docs developers (and LLMs) love