https://github.com/grena/kork
:rocket: :star: Captain Kork - The Survival Cooperative Web Browser Game
https://github.com/grena/kork
Last synced: 3 months ago
JSON representation
:rocket: :star: Captain Kork - The Survival Cooperative Web Browser Game
- Host: GitHub
- URL: https://github.com/grena/kork
- Owner: grena
- Created: 2017-11-18T15:53:59.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2019-02-21T17:05:44.000Z (over 7 years ago)
- Last Synced: 2025-10-07T19:58:21.647Z (8 months ago)
- Language: PHP
- Homepage:
- Size: 1.64 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Captain Kork
[](https://circleci.com/gh/grena/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:
```bash
git@github.com:grena/kork.git
```
#### 2) Install Composer dependencies
```bash
composer install
```
#### 3) Setup your MySQL database
```apacheconfig
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
1. Create a GitHub application with your GitHub account by following this link: https://github.com/settings/developers
2. 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/`)
3. 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_