Birthday Message (BM) is a web system for sending birthday messages.
PHP >= 8.1 https://laravel.com/docs/10.x/releases#support-policy
- Clone the repository using
git clone git@github.com:anasark/birthday-message.gitcommand. - Go to project folder
cd birthday-message. - Start a Docker development environment using
make startcommand. - Install dependencies and database structure using
make installcommand. - (Optional) Run tests to confirm installation using
make testcommand. NOTE: Tests may fail during first run, so repeat the command several times.
- Clone the repository using
git clone git@github.com:anasark/birthday-message.gitcommand. - Go to project folder
cd birthday-message - Start a Docker development environment using
docker compose up -dcommand. - Copy env file using
cp .env.example .envcommand. - Go into Container shell using
docker compose exec -ti php bashcommand. - Install dependencies and database structure using command:
composer install
php artisan key:generate
php artisan migrate:fresh
- Seed geo data using
php artisan geo:seed AU --append && php artisan geo:seed ID --append --chunk=3000command. Or you can manualy insert into database, you can download the sql here https://anasabdur.com/data/geo.sql. - (Optional) Run tests to confirm installation using
php artisan testcommand inside Container shell. NOTE: Tests may fail during first run, so repeat the command several times. And run this command to prepare database for testing
mkdir ./database/testing
touch ./database/testing/database.sqlite
You can seed user data using php artisan db:seed command.
This system uses a schedule so that it can be sent according to the date of birth. To run schedule using php artisan schedule:work command. You can see a more complete document here https://laravel.com/docs/10.x/scheduling.
To run queue using php artisan queue:work command. You can see a more complete document here https://laravel.com/docs/10.x/queues.