Mini CRM is a Laravel 12 application focused on user authentication and a clean private dashboard. It is a foundation for a small business management system that can be extended with customers, notes, tasks, and activity history.
- User login and registration
- Protected dashboard available only for authenticated users
- Demo account seeded into the database
- SQLite database setup for local development
- Feature tests for the main authentication flow
- Blade views styled with Tailwind CSS and Vite
- PHP 8.3
- Laravel 12
- SQLite
- Blade
- Tailwind CSS
- Vite
- PHPUnit
Email: admin@example.com
Password: password
Install PHP dependencies:
composer installInstall frontend dependencies:
npm installCreate the environment file:
cp .env.example .envGenerate the application key:
php artisan key:generateCreate the SQLite database file:
touch database/database.sqliteRun migrations and seed the demo user:
php artisan migrate --seedStart the Laravel server:
php artisan serveStart Vite in a second terminal:
npm run devOpen the application:
http://127.0.0.1:8000
If PHP was installed through WinGet and no php.ini file is loaded, enable these PHP extensions:
mbstring
pdo_sqlite
openssl
As a temporary local workaround, PHP can also be started with the required extensions passed inline:
php -d extension_dir="<path-to-php>\ext" -d extension=mbstring -d extension=pdo_sqlite -d extension=openssl -S 127.0.0.1:8000 -t publicThen open the application:
http://127.0.0.1:8000
Run the test suite:
php artisan testFor the WinGet PHP setup above, PHPUnit can also be run directly with the required extensions:
php -d extension_dir="<path-to-php>\ext" -d extension=mbstring -d extension=pdo_sqlite -d extension=openssl vendor\bin\phpunit- Customer management
- Customer notes and internal comments
- Task tracking
- Dashboard statistics
- Role-based access control