Learn Palestinian Arabic is an educational project focusing on the documentation of the Palestinian dialects of Spoken Arabic. The Learn Palestinian Arabic website includes several features of both educational & linguistic value:
Learn Palestinian Arabic is an ambitious project; nothing with its scope exists for any variety of Levantine Arabic — possibly for any variety of Arabic. Once the project reaches more advanced stages, others are encouraged to create clones of the site for other languages & language varieties.
To run this project, you will need to add the following environment variables to your .env file. These are used to access remote files in the s3 bucket.
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_DEFAULT_REGION
AWS_BUCKET
AWS_ENDPOINT
AWS_USE_PATH_STYLE_ENDPOINT
Clone the project
git clone git@bitbucket.org:andrewfreddin/learnarabic.git
Go to the project directory
cd learnarabic
Compose Up docker container
docker compose up -d
Install dependencies
composer install
npm install
Migrate database fresh
php artisan migrate:fresh
Source in database backup to sql docker container
mysql -h mysql -P 3306 -u root -p
mysql> use learnarabic;
mysql> source arabic23may2023.sql;
exit
Seed file table and upload any new audio files in /public/audio to s3 bucket
php artisan audio:upload
Start the server
npm run dev
Below is a detailed explanation of custom defined php artisan commands
php artisan file:upload
file:upload
will go through the audio directory and upload any files missing in the s3 bucket
php artisan file:link
file:link
will go through sentences, inflections, and pronunciations, and create a database entry on the file table
for each one of them
php artisan file:migrate
file:migrate
will call both file:upload
and file:link
php artisan file:upload --force
php artisan file:migrate --force
file:upload --force
and file:migrate --force
will upload files to the s3 bucket in forced mode, doing so will not
check if a file already exists in the bucket, instead it will upload the file no matter what, if a file being uploaded
already exists, then it will overwrite the existing file in the s3 bucket
Thank you for considering contributing to the Learn Palestinian Arabic project! There are several ways to contribute: