This guide walks you through getting a fully working Contacts DB instance up and running, whether that’s on a local development machine or a production server. By the end you’ll have the application installed, the database migrated, an admin account created, and the development server (or production build) running.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/0m1n3m/contacts-db/llms.txt
Use this file to discover all available pages before exploring further.
System Requirements
Before you begin, make sure your environment meets the following requirements:| Requirement | Version |
|---|---|
| PHP | 8.3 or higher |
| Composer | 2.x |
| Node.js | 18+ |
| npm | Bundled with Node.js |
| Database | SQLite (default, built into PHP) or MySQL / MariaDB / PostgreSQL |
SQLite is the default database driver and requires no separate database server. The SQLite file is created automatically inside the
database/ directory during setup — making this the fastest way to get started locally.Installation Steps
Clone the repository
Clone the Contacts DB source code from GitHub and navigate into the project directory:
Run the setup script
The Under the hood, this script runs the following steps in order:
composer run setup script handles the entire bootstrap sequence in one command:composer install— installs all PHP dependencies fromcomposer.lock- Copies
.env.exampleto.env(only if.envdoes not already exist) php artisan key:generate— generates a uniqueAPP_KEYfor encryptionphp artisan migrate --force— creates all database tablesnpm install --ignore-scripts— installs all JavaScript dependenciesnpm run build— compiles and bundles all frontend assets with Vite
Seed the admin user
Create the first admin account by running the Then run:The seeder uses
AdminUserSeeder. The seeder reads the ADMIN_EMAIL and ADMIN_PASSWORD values from your .env file via config/admin.php. Add those two variables to .env before running the seeder:updateOrCreate so it is safe to run multiple times — it will update the password if the email already exists. If ADMIN_PASSWORD is not set, the seeder exits silently without creating any user.Start the development server
Launch all development processes together with the This uses
Your application will be available at http://localhost:8000 by default.
dev Composer script:concurrently to start four processes in parallel, each shown in a different colour in your terminal:| Process | Command | Colour |
|---|---|---|
| PHP dev server | php artisan serve | Blue |
| Queue worker | php artisan queue:listen --tries=1 --timeout=0 | Purple |
| Log viewer | php artisan pail --timeout=0 | Pink |
| Vite HMR | npm run dev | Orange |
Manual Setup (Alternative to composer run setup)
If you prefer to run each step individually — for example, to customise individual steps before migrating — you can follow these commands in order:
ADMIN_EMAIL and ADMIN_PASSWORD to .env and run the admin seeder as described in Step 3 above.
For a production deployment, replace
npm run build with the same command — Vite will produce an optimised, minified bundle. Make sure APP_ENV=production and APP_DEBUG=false are set in your .env before going live.