Skip to main content
Eventify is a standard Laravel application, so the setup process will feel immediately familiar if you have worked with Laravel before. The steps below take you from a fresh clone to a fully seeded, running instance at http://localhost:8000 — complete with sample events, categories, and a ready-to-use admin account.
1

Verify Prerequisites

Before you begin, confirm the following tools are installed and available on your PATH:
  • PHP 8.1 or higher — required by the composer.json constraint "php": "^8.1"
  • Composer — the PHP dependency manager used to install Laravel and all packages
  • MySQL — Eventify uses MySQL as its primary database driver
On macOS, Laravel Herd bundles PHP and a local MySQL instance and is the fastest way to meet all three prerequisites at once.
2

Clone the Repository

Clone the Eventify repository from GitHub and navigate into the project directory:
3

Install PHP Dependencies

Install all Composer dependencies, including Laravel 10, Sanctum, DomPDF, Guzzle, and Laravel UI:
This resolves and downloads every package listed in composer.json into the vendor/ directory and regenerates the autoloader.
4

Configure the Environment

Eventify reads its runtime configuration from a .env file. Copy the provided example file to create your own:
Open .env in your editor and set your database credentials:
Then generate a unique application encryption key:
This command writes a fresh APP_KEY value into your .env file. Laravel uses this key for encrypting session cookies and other encrypted values — the app will refuse to run without it.
5

Create the Storage Symlink

Eventify stores uploaded event images in storage/app/public. To make those files accessible from the web, create a symbolic link from public/storage to storage/app/public:
This step is required for event cover images to render correctly in the Blade templates.
6

Run Migrations and Seed the Database

Create all database tables and populate them with sample data in a single command:
migrate:fresh --seed drops all existing tables, re-runs every migration from scratch, and then executes the seeders in this order: roles → categories → statuses → admin user → 5 random users → 30 random locations → 30 random events. After this command completes, your database is fully populated and ready to explore.
7

Start the Development Server

Launch the built-in PHP development server via Artisan:
The application is now running at http://localhost:8000.

Default Admin Credentials

The seeder creates one administrator account automatically. Use these credentials to log in and access the admin dashboard:
Change the admin password immediately after your first login, especially before exposing the application to a network. The seeded password is publicly known from this documentation.

What’s Next

With Eventify running locally, you can:
  • Explore the admin dashboard to create your first real event with a geocoded location
  • Review the Configuration guide to customize environment settings such as mail delivery and queue drivers
  • Inspect the API Reference to integrate the Sanctum-authenticated REST API with an external frontend or the companion React microservice