README.md
August 30, 2024 ยท View on GitHub
Meilisearch SaaS demo
Website | Meilisearch Cloud | Blog | Documentation | Discord
Meilisearch is an open-source search engine that offers fast, relevant search out of the box.
๐ช Looking to build this yourself?
Read our Complete guide to full-text search with Laravel!
โจ Features
This SaaS demo uses the following:
๐งฐ Stack
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
๐งโ๐ป Development
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.
Installation
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
๐ ๏ธ Configuration
Copy .env.example as .env and update environment variables as needed.
Using Meilisearch with Laravel Sail
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.
Instructions
Setup your Meilisearch settings by running:
artisan scout:sync-index-settings
Seed the database:
artisan migrate:fresh --seed
Conventions
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"
},