Introduction
Setup Feedier BX in Local
Install with Docker (Approx. 20 Minutes)
Prerequisites
- Clone the repository from Bitbucket
- Copy the environment file:
cp .env.example .env
Install Dependencies
Run the following command to install Composer dependencies using Docker:
docker run --rm \
-u "$(id -u):$(id -g)" \
-v "$(pwd):/var/www/html" \
-w /var/www/html \
laravelsail/php83-composer:latest \
composer install --ignore-platform-reqsStart the Application
- Start the containers:
./vendor/bin/sail up -d - Generate a secure Laravel key:
./vendor/bin/sail artisan key:generate - Create and migrate the database:
./vendor/bin/sail artisan migrate - Install NPM dependencies:
./vendor/bin/sail npm install - Start the Vite watcher for frontend assets:
./vendor/bin/sail npm run dev
Services
APP LINKS
- V3: http://bx.feedier.test:8889/
- V2: http://dashboard.feedier.test/#/carriers
- V3 API: http://api.bx.feedier.test:8889/v3/
Mailpit
Mailpit is a local email testing tool, similar to Mailtrap but free and local.
- URL: http://localhost:8025/ (update according to
FORWARD_MAILPIT_DASHBOARD_PORTin.env)
Redis
Redis is an in-memory data store used for caching and message brokering.
- Host:
127.0.0.1 - User: (leave blank)
- Password: Check
.env→${REDIS_PASSWORD} - Port: Check
.env→${FORWARD_REDIS_PORT} - Documentation: https://redis.io/documentation
MySQL
MySQL is the relational database used for storing application data.
- Host:
127.0.0.1 - User: Check
.env→${DB_USERNAME} - Password: Check
.env→${DB_PASSWORD} - Database: Check
.env→${DB_DATABASE} - Port: Check
.env→${FORWARD_DB_PORT} - Documentation: https://dev.mysql.com/doc/
Selenium
Selenium is a browser automation tool used for capturing screenshot of our application.
- URL:
http://localhost:4444 - Documentation: https://www.selenium.dev/documentation/
Keycloak
Keycloak is an open-source identity and access management system for Single Sign-On (SSO) authentication.
- URL:
http://localhost:8081 - Default Credentials:
- Username:
${KEYCLOACK_USER:-admin} - Password:
${KEYCLOACK_PASSWORD:-admin}
- Username:
- Documentation: https://www.keycloak.org/documentation
MinIO
MinIO is an S3-compatible object storage service for storing files and assets.
- API URL:
http://localhost:9500 - Console URL:
http://localhost:8900 - Default Credentials:
- User:
sail - Password:
password
- User:
- Documentation: https://min.io/docs
Access the Container via SSH
For running Composer, NPM, Artisan, etc., execute:
./vendor/bin/sail shellCreate an Alias for Convenience
echo "alias sail='./vendor/bin/sail'" >> ~/.bashrc && source ~/.bashrcNow, you can use sail as a shortcut.
Do not run npm, composer, or artisan commands outside the Sail environment. Always use:
sail {npm, composer, artisan...}Synchronize Your Feedback with Elasticsearch
- Run the following command:
./vendor/bin/sail artisan scout:update - Then, process the pending jobs on Horizon:
./vendor/bin/sail php artisan horizon
Configure PHPStorm for Development
Follow these steps in order to ensure your pull requests pass pipeline checks:
- Use Docker's PHP
- Use Docker's Node
- Install ESLint
- Install Laravel Pint
This setup ensures a consistent development environment across all team members.