Prerequisites
Before installing Core Projects, ensure your environment meets these requirements:Required Software
PHP 8.2+
Modern PHP version with required extensions
Composer 2.0+
PHP dependency manager
Node.js 18+
JavaScript runtime for frontend tooling
Database
SQLite (default), MySQL 5.7+, or PostgreSQL 12+
PHP Extensions
Ensure these PHP extensions are enabled:Core Projects is configured to use SQLite by default for easy setup. You can switch to MySQL or PostgreSQL in production.
Installation Steps
Install Dependencies
Install both PHP and JavaScript dependencies:
The project is configured to use pnpm as the preferred package manager (package.json:29). Both npm and pnpm will work.
Configure Environment Variables
Create and configure your
.env file:Essential Configuration
Edit.env to configure your application:Generate Application Key
Generate a unique encryption key for your application:This updates the
APP_KEY value in your .env file.This step is automatically included in
composer run setup.Run Database Migrations
Create all necessary database tables:This creates tables for:
- Employees and authentication
- Projects, towers, floors, and properties
- Clients and sales
- Payment plans and transactions
- System configuration
If you need to reset the database, use
php artisan migrate:fresh (warning: destroys all data).Seed Initial Data (Optional)
Populate the database with initial configuration data:This typically creates:
- Default user roles and permissions
- Sample client types and document types
- Payment method options
- Status configurations
Build Frontend Assets
Compile JavaScript and CSS assets:The build process:
- Compiles Vue 3 components
- Processes Tailwind CSS
- Bundles JavaScript with Vite
- Optimizes assets for production
Start the Development Server
Launch the application in development mode:Open your browser and navigate to:You should see the Core Projects login page.
The
composer run dev command provides the best development experience with hot module reloading and live logs.Create Your First Admin User
Create an administrative user to access the system:Then in the tinker console:You can now log in with:
- Email: [email protected]
- Password: password
Post-Installation Configuration
Queue Worker
Core Projects uses database queues for background jobs. In production, run a queue worker:Task Scheduling
Set up Laravel’s task scheduler for automated jobs:- Automatic separation expiration
- Payment reminders
- Report generation
- Data cleanup
File Permissions
Ensure proper permissions for Laravel:Development Tools
Code Quality
Testing
Run the test suite:Database Management
Production Deployment
Optimization
Before deploying to production:Security Considerations
- Set
APP_DEBUG=falsein production - Use strong, unique
APP_KEY - Configure HTTPS/SSL certificates
- Set restrictive file permissions
- Configure firewall rules
- Enable CSRF protection (enabled by default)
- Use environment variables for secrets
- Set up regular database backups
- Configure mail for password resets
- Review and configure CORS settings
Troubleshooting
Common Issues
500 Internal Server Error
500 Internal Server Error
Cause: Missing or incorrect
.env file, permissions issues, or missing dependencies.Solution:Database Connection Errors
Database Connection Errors
Cause: Incorrect database credentials or database server not running.Solution:
Vite/Asset Build Errors
Vite/Asset Build Errors
Cause: Node modules not installed or version mismatch.Solution:
Login/Authentication Issues
Login/Authentication Issues
Cause: Missing admin user or incorrect credentials.Solution:
File Upload Errors
File Upload Errors
Cause: Insufficient permissions on storage directory.Solution:
Useful Commands Reference
Next Steps
After successful installation:Quickstart Guide
Learn how to use Core Projects with our step-by-step guide
Configure First Project
Set up your first construction project and property inventory
User Management
Create employee accounts and configure roles
System Configuration
Configure system-wide settings and preferences
Additional Resources
- Laravel Documentation: https://laravel.com/docs/12.x
- Vue 3 Documentation: https://vuejs.org/guide/
- Inertia.js Documentation: https://inertiajs.com/
- Tailwind CSS Documentation: https://tailwindcss.com/docs