|
5 years ago | |
---|---|---|
backend | 5 years ago | |
core | 5 years ago | |
html | 5 years ago | |
.gitignore | 5 years ago | |
example-nginx.conf | 5 years ago | |
gerbil.jpg | 5 years ago | |
license.txt | 5 years ago | |
main-database-schema.sql | 5 years ago | |
readme.md | 5 years ago | |
static-database-schema.sql | 5 years ago |
readme.md
gerbils
Hobby project which features a few, hopefully, useful features for the videogame Eve Online.
Current features
The current iteration of this project is mainly focused on EVE Online market tools.
Web tools:
- Login system fully integrated with EVE SSO
- Token system integrated with ESI
- Appraisal generation from EFT
- Swing trading tracker, shows you items that are currently below their average price
- Track your corporation contracts, wallet, and structures (citadels)
- Personal character tracker, showing their location, skill training, SP, etc.
Discord tools:
- Real-time contract scanner, tells you immediately when a cheap contract is posted; restricted by ESI cache.
- Real-time market scanner, like the contract one but for market items.
Project structure
backend
folder: contains occasional (cron) or continuous processes (supervisor)core
contains the bulk of the project, including classes, models, routing, etc.html
this folder should be exposed via the web server as it contains the index file, css/js assets, images, etc.
Installation
Minimum requirements
This project has been tested and developed with the following stack:
- PHP 7.4.3
- Redis 5.0.7
- MariaDB 10.3.22
Note: Breaking changes have been introduced with PHP 7.4.3 compatibility. Earlier versions will likely not work!
Those are the absolute minimum requirements. You can choose your own flavour of webserver or process controller; i personally
used nginx
and supervisor
respectively.
You will need to point your webserver of your choice to the index.php
file in the html
directory.
There is an example nginx config example-nginx.conf
which you can use as a starting point. The most important thing is the
url rewriting in try_files
which is needed for the Slim framework router to work.
EVE online developers application
You should create a new application with full API access (every scope ticked)
The callback url should be <host>/sso/
Config file
You should copy the core/Config_Example.php
file core/Config.php
and fill it out. Many lines have comments
explaining what each setting does.
Composer
This project uses composer to handle external dependencies. Once installed, the composer.json
file is located in the /core/External/
folder.
Database setup
This project has been tested on MariDB exclusively but should work just fine on most other variants.
We will need two databases and an user with access to both. Once you have created them, you can put the necessary
information in the Config.php
file.
In the project root there are two files to create database schema, import them via your favorite method e.g mysql -u user -p gerbils < main-database-schema.sql
Secret key generation
For added security, all ESI tokens in the database are encrypted with a secret key.
You can generate a completely random one by running the core/CreateSecretKey.php>
script.
Build assets
To build (basically a combo of minifying and compacting) the necessary javascript and css assets, you can run the
core/Assets/Build.php
script.
Last step
Before you can start to use all the features, you must do a full ESI pull to add all the item types, categories, etc to the database.
Check the readme.md in backend/
for more information.
License
BSD 2-Clause