- PHP 8.2+
- Composer
- Node.js & NPM
- MySQL
- Redis (for Sessions / Broadcasting / Queues)
- Typesense (for Scout search)
- Docker (via Laravel Sail)
git clone https://github.com/Nurlan270/fork-feed.git
composer install
cp .env.example .env && php artisan key:generate
Configure your .env:
- Mailtrap credentials (if SMTP is used)
- Typesense credentials (if Search is used)
- Socialite credentials (if OAuth2 is used)
php artisan sail:publish
./vendor/bin/sail up -d
./vendor/bin/sail npm install
./vendor/bin/sail npm run build
mkdir public/storage ./storage/app/public/avatars/ ./storage/app/public/banners ./storage/app/public/recipe-images
./vendor/bin/sail php artisan storage:link
./vendor/bin/sail php artisan migrate --seed
./vendor/bin/sail php artisan queue:work --queue=chats,scout,notifications
-
Create a Mailtrap Account
- Go to https://mailtrap.io and sign up (or log in).
- Create a new Inbox (if not already created).
-
Get SMTP Credentials
- In your Mailtrap inbox, go to the "SMTP Settings" tab.
- Choose the "Laravel" integration from the dropdown.
- Copy the SMTP credentials provided (username, password), other credentials is already set for you.
-
Add the following to your
.env
file:
MAIL_USERNAME=your-username
MAIL_PASSWORD=your-password
If you'd like to enable full-text search using Typesense:
- Sign up at Typesense Cloud.
- Create a new cloud and copy your API key.
- Add the following to your
.env
file:
TYPESENSE_API_KEY=your-api-key
- Import indexes:
./vendor/bin/sail php artisan scout:import "App\Models\User"
./vendor/bin/sail php artisan scout:import "App\Models\Recipe"
./vendor/bin/sail php artisan scout:import "App\Models\Ingredient"
To enable login with Google, GitHub:
- Register your app with the provider (e.g., Google or GitHub).
- Add the credentials to your
.env
file:
GITHUB_CLIENT_ID=your-client-id
GITHUB_CLIENT_SECRET=your-client-secret
GOOGLE_CLIENT_ID=your-client-id
GOOGLE_CLIENT_SECRET=your-client-secret
Refer to the guides below for setup help:
- Run the following command to generate Reverb keys:
./vendor/bin/sail php artisan reverb:generate
- Build the assets again (That's Important!):
./vendor/bin/sail npm run build
- Start the Reverb server:
./vendor/bin/sail php artisan reverb:start
Then you'll also need to restart queue workers, if they are currently running:
- Stop the currently running queue workers
- Re-run queue workers:
./vendor/bin/sail php artisan queue:work --queue=chats,scout,notifications