MERMAID (Marine Ecological Research Management Aid) Landing Site. Transform underwater insights into data-driven actions that save coral reefs.
- Docker Installed
- Have Access to some ENV value
Step by step to provision local environment
- Create an .env files by copying from .env.example and fill the required environment variable.
- Run this command
docker compose -f docker-compose.local.yml up
- To install the php dependencies, open other terminal and run
docker exec -it php-fpm composer install
- To install nodejs dependencies for frontend, run
docker exec -it php-fpm npm install
- To build / mix the assets, run
docker exec -it php-fpm npm development
- Link the storage by runing this commnad
docker exec -it php-fpm php artisan storage:link
- Then mount the content by runing this command
docker exec -it php-fpm php artisan mount:content
- Any other command that you wanna run, just add prefix
docker exec -it
then follow with your command such asnpm, composer, php artisan, etc
- Open http://localhost:8081 to access the website.
Note : you also could log into container using sh by typing docker exec -it php-fpm sh
( to fix the files permission, environment, etc )
The deployment for this app is utilizing the CircleCI. For branching strategy, we use :
- development : for development purpose ( branch for dev to collaborate )
- staging : branch for staging environment, any push/accepted PR towards this branch will be deployed outomatically into staging env.
- main : production branch, after staging is well tested, you could promote the deployment into production by merge the staging branch to main branch. This will be automatically deploy to production.
Staging & Production env are stored in ElasticBeanstalk in AWS, any changes of the env variable should be made in AWS Console