diff --git a/README.md b/README.md index 19dc7079e..469145b7d 100644 --- a/README.md +++ b/README.md @@ -1,163 +1,16 @@ ## *PATHFINDER* Mapping tool for [*EVE ONLINE*](https://www.eveonline.com) -- Project[https://www.pathfinder.exodus4d.de](https://www.pathfinder.exodus4d.de) -- Community[google +](https://plus.google.com/u/0/b/110257318165279088853/110257318165279088853) -- Screenshots[imgur.com](http://imgur.com/a/k2aVa) -- Media[youtube.com](https://www.youtube.com/channel/UC7HU7XEoMbqRwqxDTbMjSPg) -- Licence[MIT](http://opensource.org/licenses/MIT) +- Project [https://www.pathfinder.exodus4d.de](https://www.pathfinder.exodus4d.de) +- Community [google +](https://plus.google.com/u/0/b/110257318165279088853/110257318165279088853) +- Screenshots [imgur.com](http://imgur.com/a/k2aVa) +- Media [youtube.com](https://www.youtube.com/channel/UC7HU7XEoMbqRwqxDTbMjSPg) +- Licence [MIT](http://opensource.org/licenses/MIT) -##### Beta Information -> This project is still in beta phase and is not officially released! Feel free to check the code for security issues. -You can not get the project to work, on your own server, until some required SQL dumps have been included to this repository! -I will provide all required dumps once the beta phase is over. +##### IMPORTANT Information +**This project is still in beta phase and is not officially released! Feel free to check the code for bugs and security issues. Issues should be reported in the [Issue](https://github.com/exodus4d/pathfinder/issues) section.** -## Requirements -#### APACHE Webserver -- PHP 5.3.4 or higher -- PCRE 8.02 or higher (usually shipped with PHP package, but needs to be additionally updated on CentOS or Red Hat systems) -- mod_rewrite and mod_headers enabled -- GD libary (for Image plugin) -- cURL, sockets or stream extension (for Web plugin) -- Gzip compression - -> Nginx and Lighttpd configurations are also possible. -http://fatfreeframework.com/system-requirements - -#### Database -- mysql: MySQL 5.x -- sqlite: SQLite 3 and SQLite 2 -- pgsql: PostgreSQL -- sqlsrv: Microsoft SQL Server / SQL Azure -- mssql, dblib, sybase: FreeTDS / Microsoft SQL Server / Sybase -- odbc: ODBC v3 -- oci: Oracle - ->Here is a list of links to DSN connection details for all currently supported engines in the SQL layer: -http://fatfreeframework.com/sql - -## Setup -#### Backend (PHP) - -*PATHFINDER* is pretty easy to configure! If you are not planning "getting your hands dirty" with programming stuff, -you don´t have to change a lot. All configuration files can be found here: -- [config.ini](https://github.com/exodus4d/pathfinder/blob/master/app/config.ini) Main config **(DO NOT CHANGE)** -- [pathfinder.ini](https://github.com/exodus4d/pathfinder/blob/master/app/pathfinder.ini) Pathfinder config -- [cron.ini](https://github.com/exodus4d/pathfinder/blob/master/app/cron.ini) Cronjob config -- [routes.ini](https://github.com/exodus4d/pathfinder/blob/master/app/routes.ini) Routes config **(DO NOT CHANGE)** - -> The default configuration should be fine in most cases. Edit all values with caution! - -#### Frontend (JS) -There is **no** need to change any javascript configuration, except *Signature names* that can be changed/added -- [init.js](https://github.com/exodus4d/pathfinder/blob/master/js/app/init.js) Main config **(DO NOT CHANGE)** -- [signature_type.js](https://github.com/exodus4d/pathfinder/blob/master/js/app/config/signature_type.js) Signature mapping config **(DO NOT CHANGE)** -- [system_effect](https://github.com/exodus4d/pathfinder/blob/master/js/app/config/system_effect.js) System effect config **(DO NOT CHANGE)** - -> If you found any *Signature Names* or other information missing in these files, please create an [Issue](https://github.com/exodus4d/pathfinder/issues) for that! -I´ll try to fix it with the next release. -If you still want to change anything in here, make sure to run the `build` process afterwards (see below). - -## Development Environment -*PATHFINDER* comes along with a simple, [*Gulp*](http://gulpjs.com/) based, build process. -There are two main *Gulp tasks* that should help you. -- `default` task is designed for *"continuous development"* scenario -- `production` task is designed for *"production deployment"* scenario - -> If you are **not** planning to change the codebase, you don´t have to do the following steps! - -**1. Install [Node.js](https://nodejs.org)(> v.4.0.1) with [npm](https://www.npmjs.com/)** - -**2. [Copy/Fork](https://help.github.com/articles/fork-a-repo/) this Repo** - ``` - $ git clone https://github.com/exodus4d/pathfinder.git - ``` -**3. Install all required `node_modules` for *"continuous development"* from `package.json` (e.g.[Gulp](http://gulpjs.com/))** - ``` - $ npm install - ``` -**4. Run *Gulp* task `default` with your version `tag` as param. It will do:** - - clean `dist` folder (./public/js/x.x.x) - - init file watcher for \*.js changes - - running [jsHint](http://jshint.com/docs/) on file change - - copying **raw** *\*.js* files from *./js* to `dist` folder on file change - - ``` - $ gulp default --tag v0.0.10 - ``` - -## Production Environment -**1. Install all required dependencies (check "Development Environment" steps )** - -**2. Run *Gulp* task `production` with your version `tag` as param. It will do:** - - clean `dist` folder (./public/js/x.x.x) - - running [jsHint](http://jshint.com/docs/) - - running [requireJs Optimizer](http://requirejs.org/docs/optimization.html) (see [build.js](https://github.com/exodus4d/pathfinder/blob/master/build.js)) - - minify \*.js files - - uglyfy \*.js files - - combine \*.js dependencies - - generate \.js `source maps` - - copying **compressed** *\*.js* to `dist` folder for production deployment - -``` -$ gulp production --tag v0.0.10 -``` -> The `production` task may take some seconds (30+ seconds)! -As a result, you should have all generated \*.js files ready for deployment in the `dist` folder. -The unique version `tag` in this path should ensure that `cache busting` is working correct. - -## CSS generation -If you are planning to change/edit any *CSS* styles, you need to install [Compass](http://compass-style.org/), -in order to build the single \*.css file out of the **raw** \*.scss source files. - -**1. [Ruby install](https://www.ruby-lang.org/en/)** - -**2. [Compass install](http://compass-style.org/install/)** - -**3. Start *Compass* file watcher for \*.scss changes in project `root` (see [config.rb](https://github.com/exodus4d/pathfinder/blob/master/config.rb))** - ``` - $ compass watch - ``` -> This will watch all \*.scss files for changes and generate a compressed \*.css file (./public/css/pathfinder.css). -Don´t worry about `cache busting`. Your current version `tag` will be added to the final path (e.g. ./public/css/pathfinder.css?v.0.0.10) - -## SQL Schema -To get *PATHFINDER* to work, you will need (at least) **two** databases. The first one is the [SDE](https://developers.eveonline.com/resource/static-data-export) -from *CCP*. The second database is *PATHFINDERS*´s own DB. Make sure, you have the correct DB export for your version! - -**1. *CCP* Static Data Export ([SDE](https://developers.eveonline.com/resource/static-data-export))** - -You need to import the Eve SDE into the database specified in the `DB_CCP_*` settings. You can do this like the following: - ``` - wget https://www.fuzzwork.co.uk/dump/mysql-latest.tar.bz2 - tar xf mysql-latest.tar.bz2 - cd mysql-{}/ - mysql -u -p __DATABASE_NAME__ < db_file.sql - ``` -> If you need an older versions of the SDE, check out[**Fuzzwork**](https://www.fuzzwork.co.uk/dump/)´s awesome dumps! - -**2. *PATHFINDER* Clean Data Export ([CDE](https://www.google.de))** -> Make sure, that all column `indexes` and foreign `key constraints` have been imported correct! -Otherwise you will get DB errors and the cache engine can not track all tables (Models), which may result in bad performance! - -## Cronjob configuration -*PATHFINDER* requires some dynamic `system data` from *CCP*´s [XML APIv2](http://wiki.eve-id.net/APIv2_Page_Index). -This data is automatically imported by a [*Cron-Job*](https://en.wikipedia.org/wiki/Cron) into the DB. - -Moreover, there are some predefined *Cron-Jobs* that handle some `db maintenance` and clean up tasks. - -You have to setup a **single** *Cron-Jobs* for this, that handles **all** other *Cron-Jobs* and works as a "*dispatcher*". - - **Important**: Block access to `[YOUR INSTALLATION]/cron` (e.g. by `.htaccess` or edit `cron.ini`) - - Trigger `[YOUR INSTALLATION]/cron` by [*CLI*](http://php.net/manual/en/features.commandline.php) **every minute**, e.g create `cron.phpx`: - -``` php -exec('wget -qO- /dev/null [YOUR INSTALLATION]/cron &> /dev/null', $out, $result); -echo "start:"; -echo "Returncode: " .$result ."
"; -echo "Ausgabe des Scripts: " ."
"; -echo "
"; print_r($out);
-```
- - ... or use [*CURL*](http://php.net/manual/en/book.curl.php) for this ;)
+If you are looking for installation help, please check the [wiki](https://github.com/exodus4d/pathfinder/wiki) (DRAFT). More information will be added once the beta is over and the first stable build is released.
 
 ## Project structure
 
@@ -180,7 +33,7 @@ echo "
"; print_r($out);
       |-- app.js            --> require.js config (!required for production!)
   |-- (0777) logs           --> log files
       |-- ...
-  | -- node_modules         --> node.js modules (not used for production) [check "Development Environment"]
+  | -- node_modules         --> node.js modules (not used for production)
       |-- ...
   |-- (0755) public         --> frontend source
       |-- css               --> CSS dist/build folder (minified)