Add info here
Note: You can disable specific modules
This is done by setting these specific ENV flags to true, to disable them.
DISABLE_SCRAPER - Disables WebScraper
-
Database
Definition of terms:
- DB_CONNECTION - the database configuration being used by Laravel
- DATABASE_URL - this is populated whenever an online database is being used
- DB_HOST - docker container name of the database
- DB_PORT - port used by the database
- DB_DATABASE - database username
- DB_PASSWORD - database password
These are the configuration options for the database:
DB_CONNECTION=pgsql DATABASE_URL= DB_HOST=anidb-pgsql DB_PORT=5432 DB_DATABASE=anidb DB_USERNAME=postgres DB_PASSWORD=postgres
Notes : DB_HOST should use docker container name of db, by default this is 'anidb-pgsql', but yours could be different. You can check this by running
docker ps
then check the container name of thepostgres
container. -
Cloudinary
- Fire up your browser and login your Cloudinary Account. If you have no account yet, you can create one for free.
- After logging in, navigate to the Cloudinary Console to retrieve your Cloudinary URL
- Copy the value of
API Environment variable
toCLOUDINARY_URL
of your ENV file
-
Download and install
Docker for Windows
. -
Clone the project, then install the dependencies
git clone https://github.com/RinMinase/anidb-be.git cd anidb-be
-
Run the necessary docker containers
docker-compose up -d docker-compose exec php sh
-
Inside the docker image, copy the env file, install the necessary dependencies and generate the API Key
cp .env.example .env composer install php artisan key:generate
-
Modify the ENV file with the necessary configuration values
-
Clear the Laravel config cache, then run the database migrations
php artisan config:clear php artisan migrate:fresh --seed
-
Fire up your browser and go to
localhost
.
Note:
If you need to access the container run, docker-compose exec php bash
-
Navigate to the project foler root then run
docker-compose up -d
-
Run the migrations when necessary, then install the dependencies also when necessary
php artisan migrate composer install
-
Fire up your browser and go to
localhost
.
-
Navigate to the project foler root then run
docker-compose up -d
-
Run the command below:
composer docs
-
Fire up your browser and go to
localhost/docs
to open Swagger UI.
-
Navigate to the project foler root then run
docker-compose up -d
-
Run the command below:
php artisan test
or if you want to run a specific test module
php artisan test --filter <Class Name of Test File>
or if you want to run a specific single test
php artisan test --filter test_function_name tests/Location/of/TestCase.php
This shortcuts were created to reduce the need to keep typing the same long commands over and over again.
Shortcut | Long version |
---|---|
pa or artisan |
php artisan |
docs |
composer docs |
dump or da |
composer dumpautoload |
.
βββ app/ # Application source code
β βββ docs.blade.php # Swagger page template
β βββ index.blade.php # Landing page template
β βββ ... # Other application-related files
βββ bootstrap/ # Project initializers
β βββ app.php # Framework bootstrapper
β βββ helpers.php # Helper functions
β βββ routes.php # Route definitions
βββ config/ # Laravel configuration files
βββ database/ # Database migrations and seeders
βββ docker/ # Docker functions
β βββ php-config/ # PHP settings for docker
β βββ sites/ # Nginx sites for docker
β βββ nginx.dockerfile # Nginx container docker file
β βββ php.dockerfile # PHP container docker file
β βββ ... # Other docker files
βββ public/ # Project entry point
βββ tests/ # Project test files
βββ .czrc # Commitizen configuration file
βββ docker-compose.yml # Main docker file
βββ phpunit.xml # Unit test configuration file
βββ Procfile # Heroku process file
βββ ... # Other project files
- Laravel 11 - Core Framework
- PHP 8.3 - Language syntax
- PostgreSQL - Database
- Docker - Container platform
- Swagger - API Documentation
- Heroku - Hosting and Continuous Integration (CI) service
- PHPUnit - Unit Testing
- RESTful API - HTTP Requests Architecture