The Tourify backend is a Laravel 13 REST API that serves JSON over HTTP and handles authentication via Laravel Sanctum bearer tokens. This page walks you through cloning the repository, configuring yourDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/astrxnomo/tourify/llms.txt
Use this file to discover all available pages before exploring further.
.env file, running database migrations, and starting the local development server so the mobile app can connect to it.
The backend requires PHP 8.3 or higher. You can verify your version by running
php --version. You will also need Composer, MySQL, and (optionally) Node.js if you want to use the concurrent dev script.Setup steps
Install PHP dependencies
Use Composer to install all required packages, including Laravel Framework 13, Laravel Sanctum, and the development toolchain.
Configure environment variables
Copy the example environment file and edit it to match your local setup.Open Make sure the
.env in your editor and update the values highlighted below. The most important ones are the database credentials and APP_URL.tourify database exists in MySQL before continuing:Generate the application key
Laravel requires a unique encryption key. Generate one with Artisan — it will be written directly into your
.env file.Run migrations and seeders
Create all database tables and populate them with sample cities, categories, places, and events.
Create the storage symlink
Expose the
storage/app/public directory through the web server so uploaded images are publicly accessible.Verify the API is running
Once the server is up, confirm it is responding correctly by fetching the list of cities:500 error, double-check your database credentials in .env and ensure the tourify database exists and migrations have been run.
Environment variables reference
The table below documents every variable that requires attention during local setup. All others default to sensible values for development.The full base URL of the backend server, including the port. Must match the address used when starting
php artisan serve. The frontend reads this URL to build API requests.Example: http://localhost:8000The database driver. Tourify is built for MySQL — keep this value as
mysql.Hostname of the MySQL server. For a local installation this is typically
127.0.0.1.Port MySQL is listening on. The default MySQL port is
3306.Name of the MySQL database. Create this database before running migrations. Defaults to
tourify.MySQL user that has full privileges on
DB_DATABASE. Defaults to root.Password for
DB_USERNAME. Leave blank if your local MySQL root account has no password.Where uploaded files are stored. Defaults to
local, which stores files in storage/app. Set to public to serve files via the storage symlink, or to s3 for AWS S3 storage.