/saas-demo

App search in a CRM use case, powered by Meilisearch

Primary LanguagePHPMIT LicenseMIT

Meilisearch

Meilisearch SaaS demo

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:

🧑‍💻 Development

This project uses Sail for local development using Docker.

Make sure to follow the Sail documentation and prefix commands accordingly to be able to run them in Docker.

Installation

Install PHP dependencies:

composer install

Install Node dependencies:

sail yarn

Launch Docker services for local development:

sail up

Run JavaScript dev server:

sail yarn dev

🛠️ Setup

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"
},