Installation
Initial Setup
Section titled “Initial Setup”1. Clone Project
Section titled “1. Clone Project”If you’re starting a new project using this starter:
# Clone the repositorygit clone https://github.com/NIT-Administrative-Systems/northwestern-laravel-starter.git your-project-namecd your-project-name
# Initialize a fresh repositorygit init -b develop # or `main` depending on your branching strategygit add .git commit -m "chore: initial commit from Northwestern Laravel Starter"2. Provision Required Services
Section titled “2. Provision Required Services”The application expects specific services to exist before you can begin local development:
-
Create Databases
Create the two databases required by the application:
your_project_name_local # Primary application databaseyour_project_name_test # PHPUnit test database -
Create MinIO Bucket
Create a bucket for local object storage:
your-project-name
3. Update Configuration Files
Section titled “3. Update Configuration Files”-
.env.exampleUpdate the file by referencing the services you created in the previous step and setting other project-specific defaults:
.env.example APP_NAME="Your Project Name"APP_URL=https://your-project-name.testDB_DATABASE=your_project_name_localDB_PHPUNIT_DATABASE=your_project_name_testAWS_BUCKET=your-project-nameAZURE_CLIENT_ID=your-azure-entra-id-client-idIdeally, these changes should be committed to your repository to serve as the base configuration for other developers.
-
herd.ymlIf you’re using Laravel Herd, update the
namefield to match your folder/repository name:herd.yml name: northwestern-laravel-startername: your-project-name
4. Install Dependencies
Section titled “4. Install Dependencies”herd init # If using Laravel Herdherd secure # If using Laravel Herd
composer installcp .env.example .envphp artisan key:generate
nvm installnvm use v25npm install -g pnpm@latest-10 # If pnpm is not already installed
pnpm installpnpm build5. Environment Configuration
Section titled “5. Environment Configuration”In your LOCAL .env file, the following environment variables must be set:
AZURE_CLIENT_SECRET=your-value-hereDIRECTORY_SEARCH_API_KEY=your-value-hereEVENT_HUB_API_KEY=your-value-here # Only if the EventHub integration is needed6. Validate Configuration
Section titled “6. Validate Configuration”To ensure your environment is correctly configured, run:
php artisan config:validateIf any issues are detected, the command will output error messages to help you resolve them.
7. Database Scaffolding
Section titled “7. Database Scaffolding”php artisan db:rebuildThis will:
- Create all database tables
- Seed system permissions
- Seed default roles
- Seed role types
- Seed example users
Verification
Section titled “Verification”Test the Application
Section titled “Test the Application”Start the development server:
# If using Laravel Herd, your site should already be available at:http://your-project-name.test
# Otherwise, use the built-in PHP server:php artisan serveVisit the application in your browser. You should see the homepage.