Captain Kork
Captain Kork is a survival & cooperative web based game.
Based on a not-so-serious Sci-Fi universe, players will have to cooperate (but not that much), and try to survive as many days as possible.
Requirements
- PHP >= 7.2
- MySQL 5.7
- Composer
Installation
1) Clone this repository:
git@github.com:grena/kork.git
2) Install Composer dependencies
composer install
3) Setup your MySQL database
mysql -u root -p
CREATE DATABASE kork;
GRANT ALL PRIVILEGES ON kork.* TO kork_user@localhost IDENTIFIED BY 'kork_passw0rd';
EXIT;
4) Create the application database schema
php bin/console doctrine:schema:update --force
php bin/console kork:schema:create --force
Configuration
Setup GitHub oAuth login
- Create a GitHub application with your GitHub account by following this link: https://github.com/settings/developers
- Fill in needed informations. Homepage URL & Authorization callback URL should have the same URL, which is the Kork index page (eg.
http://kork.example.com/
)
- Once the application created, put your Client ID & Client Secret tokens in the
.env
at the root of the app:
# ./.env
GITHUB_ID=123456789
GITHUB_SECRET=abcdef123456789
Tests
To run the tests locally, run ./run_tests.sh
Kork tries to follow the Hexagonal pattern and uses this kind of tests:
- Unit tests - Ensure each class is working as it should behave
- Acceptance tests - Ensure all classes are working together as they should
- Integration tests - Ensure classes that interact with infrastructure (Database, File, HTTP...) are doing it well