Website | Meilisearch Cloud | Blog | Documentation | Discord
Meilisearch is an open-source search engine that offers fast, relevant search out of the box.
Read our Complete guide to full-text search with Laravel!
This SaaS demo uses the following:
This project uses:
- PHP 8.2
- Laravel 10
- TailwindCSS 3 and HyperUI components
- Heroicons 2 and social medias icons from icons8
- Meilisearch for fast, relevant search
This project uses Sail, a local development environment based on Docker compose.
Make sure to follow the Sail documentation and prefix commands accordingly to be able to run them in Docker.
Install PHP dependencies:
sail composer install
Install Node dependencies:
sail yarn
Launch Docker services for local development:
sail up
Run JavaScript dev server:
sail yarn dev
Copy .env.example
as .env
and update environment variables as needed.
When running Meilisearch through Sail, your MEILISEARCH_HOST
should follow the http://meilisearch:port
form (instead of localhost:port
.) However, your front-end application expect the real URL to your Meilisearch instant.
This means that when running Meilisearch locally with Sail, your .env
file will look like:
# This is the URL used by Laravel to access Meilisearch
MEILISEARCH_HOST=http://meilisearch:7700
# This is the URL used by JavaScript to access Meilisearch
VITE_MEILISEARCH_HOST=http://localhost:7700
See Sail documentation.
Setup your Meilisearch settings by running:
artisan scout:sync-index-settings
Seed the database:
artisan migrate:fresh --seed
Blade
This project uses the Blade Formatter VS code extension to format .blade.php
files.
JavaScript and Vue
This project uses ESLint to lint JavaScript and Vue files.
An error with Eslint requires to have resolutions
key in the package.json
file:
"resolutions": {
"strip-ansi": "6.0.1"
},