||2 years ago|
|backend||2 years ago|
|core||2 years ago|
|html||2 years ago|
|.gitignore||2 years ago|
|example-nginx.conf||2 years ago|
|gerbil.jpg||2 years ago|
|license.txt||2 years ago|
|main-database-schema.sql||2 years ago|
|readme.md||2 years ago|
|static-database-schema.sql||2 years ago|
Hobby project which features a few, hopefully, useful features for the videogame Eve Online.
The current iteration of this project is mainly focused on EVE Online market 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.
- 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.
backendfolder: contains occasional (cron) or continuous processes (supervisor)
corecontains the bulk of the project, including classes, models, routing, etc.
htmlthis folder should be exposed via the web server as it contains the index file, css/js assets, images, etc.
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
You will need to point your webserver of your choice to the
index.php file in the
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
You should copy the
core/Config.php and fill it out. Many lines have comments
explaining what each setting does.
This project uses composer to handle external dependencies. Once installed, the
file is located in the
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
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
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.