Another hobby stat site for another Halo game
master
- Branch off it. Must be stable.
A docker-based infrastructure is available for development. If you wish to run directly on host, see Setup below.
cp .env.example .env
- Set the database hostname in
.env
likeDB_HOST=leaf-db
HOST_UID=$(id -u) docker compose --env-file .env -p leaf -f docker/docker-compose.yml up -d
docker exec -it leaf-php composer install
docker exec -it leaf-php npm ci
docker exec -it leaf-php php artisan key:generate
docker exec -it leaf-php php artisan migrate
docker exec -it leaf-php npm run dev
- Nginx listens at your local IP address, port 8080, e.g. http://localhost:8080
- MariaDB container's port 3306 is mapped to the host.
- Xdebug is configured to make connections to port 9003 on the host. Path mappings should be set up so the root of the project is mapped to
/var/www
on the server.
- PHP8.2
- Node + NPM installed
- MariaDB 10.6+
- Composer installed.
cp .env.example .env
composer install
npm ci
php artisan key:generate
php artisan migrate
npm run build
php artisan serve
- Code must pass phpcs. (
./vendor/bin/phpcs
) - Code must pass phpstan. (
./vendor/bin/phpstan analyse
) - Code must have 100% test coverage. (
composer coverage
)
Used for the API for Infinite information, an amazing service that proxies some internal HaloWaypoint/Live calls.
DOTAPI_DISABLED
- Defaults to false, if toggled disables all Autocode API calls.DOTAPI_XUID_DISABLED
- Defaults to false, if toggled disables XUID resolution.DOTAPI_KEY
- The API key given dotapi.ggDOTAPI_DOMAIN
- The base domain for AutocodeDOTAPI_VERSION
- The version of the Autocode to useDOTAPI_COOLDOWN
- The amount of time to wait between refreshing profiles automatically.DOTAPI_CURRENT_SEASON
- Current Halo Infinite SeasonDOTAPI_CURRENT_SEASON_VERSION
- Current Halo Infinite Season VersionDOTAPI_WARNING_MESSAGE
- If populated, puts site into warning mode.
Used for HCS features for listing championships.
FACEIT_KEY
- The API key given from Developer PortalFACEIT_DOMAIN
- The base domain for FaceItFACEIT_WEBHOOK_SECRET
- The exchanged secret for validating Webhook messages.
Additionally, register webhooks for the following events:
match_status_finished
championship_finished
Finally, create a security header called X-Cat-Dog
and set it to a random value that you add to env.
Used for marking an account as "you" and supporting making "scrims".
GOOGLE_CLIENT_ID
- The clientIdGOOGLE_CLIENT_SECRET
- The clientSecretGOOGLE_REDIRECT
- The URL to redirect to
Used for optimizing images that come from backdrops and emblems.
IMAGE_OPTIMIZE_KEY
- The key for API use.IMAGE_DOMAIN
- The domain for API Service
- Bulma - https://github.com/jgthms/bulma - MIT
- FontAwesome - https://github.com/FortAwesome/Font-Awesome - Font Awesome Free License
- Bulma-Dividers - https://github.com/CreativeBulma/bulma-divider - MIT
- Bulma-Tooltip - https://github.com/CreativeBulma/bulma-tooltip - MIT
- Bulma-Ribbon - https://github.com/Wikiki/bulma-ribbon - MIT
- PHP CodeSniffer - https://github.com/squizlabs/PHP_CodeSniffer - BSD-3-Clause
- Larastan - https://github.com/nunomaduro/larastan - MIT
- Guzzle - https://github.com/guzzle/guzzle - MIT
- Livewire - https://github.com/livewire/livewire - MIT
- Enum - https://github.com/BenSampo/laravel-enum - MIT
- DBAL - https://github.com/doctrine/dbal - MIT
- SEOTools - https://github.com/artesaos/seotools - MIT
- TheLeague/CSV - https://github.com/thephpleague/csv - MIT
- Socialite - https://github.com/laravel/socialite - MIT
- Sitemap - https://github.com/spatie/laravel-sitemap - MIT
- Horizon - https://github.com/laravel/horizon - MIT
- Markdown - https://github.com/spatie/laravel-markdown - MIT
- Sentry - https://github.com/getsentry/sentry-laravel - MIT
- Crawler Detect - https://github.com/JayBizzle/Laravel-Crawler-Detect - MIT