Prerequisites
Before setting up GB App for development, ensure you have the following installed:Docker
Docker Desktop 4.0+ with Docker Compose
Git
Git 2.30+ for version control
Node.js
Node.js 18.16 LTS or higher
Composer
Composer 2.0+ (if not using Docker)
Quick Start with Docker
The fastest way to get started is using Docker:Copy environment file
.env to configure your local database and Power BI credentials. See Environment Configuration for details.Build Docker containers
Run migrations and seeders
The seeder creates a super admin user with default credentials displayed in the console.
Native Development Setup
If you prefer to run without Docker:System Requirements
- PHP 8.1 or higher
- MySQL 8.0 or SQL Server
- Node.js 18.16 LTS
- Composer 2.0+
- Nginx or Apache
Development Tools
Laravel Debugbar
For development debugging, install Laravel Debugbar:Laravel Telescope
For advanced debugging and monitoring:http://localhost/telescope
Vue DevTools
Install the Vue.js DevTools browser extension:IDE Configuration
VS Code Extensions
Recommended extensions for development:.vscode/extensions.json
PHPStorm Configuration
- Enable Laravel plugin
- Configure Laravel Idea plugin for enhanced autocomplete
- Set up PHP interpreter to match project version (8.1+)
- Enable Vue.js plugin for
.vuefile support
Running Tests
PHPUnit Tests
Run the test suite:Test Database
Configure a separate test database inphpunit.xml:
phpunit.xml
Code Quality Tools
Laravel Pint (Code Style)
Format PHP code according to Laravel standards:ESLint (JavaScript)
Add ESLint for Vue.js code quality:Database Management
Migrations
Seeders
Tinker (REPL)
Interact with your application:Environment Configuration
Development .env
Key settings for development:.env
Power BI Development
For Power BI integration testing, you need:- Azure AD Application registration
- Power BI workspace access
- API credentials in
.env
Common Development Tasks
Clear All Caches
- Application cache
- Route cache
- Configuration cache
- View cache
- Compiled classes
Generate IDE Helper Files
For better autocomplete:Rebuild Frontend Assets
Troubleshooting
Permission Errors
Database Connection Failed
- Verify MySQL is running:
sudo service mysql status - Check credentials in
.env - Test connection:
php artisan tinkerthenDB::connection()->getPdo();
Vite Not Working
- Clear Node modules:
rm -rf node_modules package-lock.json - Reinstall:
npm install - Restart dev server:
npm run dev
Docker Container Won’t Start
Next Steps
Coding Standards
Learn the project’s coding conventions
Testing Guide
Write and run tests
Architecture
Understand the system architecture
API Reference
Explore the API endpoints