Skip to content

badgeteam/Hatchery

Repository files navigation

Badge.Team Hatchery

Build Status Maintainability Test Coverage Codacy Badge Codecov FOSSA Status Known Vulnerabilities Laravel Simple micropython software repository for Badges.

Live Site | API Playground | Documentation | GitHub

Installation

  • Requires PHP 8.1 or later
  • Requires Python 3.6 or later
  • Requires Node.js 16.14 or later
  • Requires Redis 3.2 or later
  • Requires Git 2.8 or later

For deployment on a server.

cp .env.example .env

Edit your database, mail and other settings..

Or copy the local dev environment config.

cp .env.dev .env

Install and configure required items.

pip install pyflakes
composer install
php artisan key:generate
php artisan migrate
yarn
yarn production

Install assets.

php artisan horizon:publish
php artisan livewire:publish

Installing and configuring the async websocket server.

yarn global add laravel-echo-server
laravel-echo-server init

Compiling and installing the patched minigzip.

wget http://zlib.net/zlib-1.2.12.tar.gz
tar xvf zlib-1.2.12.tar.gz
cd zlib-1.2.12
./configure
echo -e "#define MAX_WBITS  13\n$(cat zconf.h)" > zconf.h
make
sudo make install

If you would like to have Verilog support.

Install Icarus Verilog 0.9 or later.

TODO more info ;)

Services

You'll need a be running Laravel Horizon service.

For the websocket server.

laravel-echo-server start

Running the development server locally

After going through the steps

php artisan serve

If you don't want to install things and do the above steps, Docker makes all the above as easy as:

docker-compose up # -d for daemon mode
docker exec -it hatchery_laravel_1 php artisan migrate --seed
docker exec -it hatchery_laravel_1 yarn watch

Enjoy your Hatchery at http://localhost:8000

See: https://hatchery.badge.team/api

Running tests

Static analysis

vendor/bin/phpstan analyse

Unit and Feature testing

Run all the tests

vendor/bin/pest --no-coverage

Run a test suite (for a list of availabe suites, see /phpunit.xml)

vendor/bin/pest --testsuite <suite_name>

Run a specific test file

vendor/bin/pest tests/<optional_folders>/TestFileName

Run a specific test case

vendor/bin/pest --filter <test_case_name>

Generate code coverage as HTML

vendor/bin/pest --coverage-html docs/coverage

This will create the code coverage docs in docs/coverage/index.html

Not: Clear caches before testing!

php artisan route:clear && php artisan config:clear

Testing with Codeception

vendor/bin/codecept build
vendor/bin/codecept run

License

Hatchery is open-sourced software licensed under the MIT license.

The Laravel framework is open-sourced software licensed under the MIT license.

FOSSA Status