Permalink
Browse files

Updated docs with new/archived services

  • Loading branch information...
zweizeichen committed Feb 8, 2018
1 parent d97bb66 commit 8e51984c081f63e2eb64f84ef3208920b4a55305
Showing with 14 additions and 11 deletions.
  1. +14 −11 README.md
  2. BIN architecture.png
View
@@ -10,30 +10,31 @@
</p>
# element43
[Element43](https://element-43.com) is a free and open web application providing market data for players of the MMORPG [EVE Online](https://www.eveonline.com). This includes the near real-time collection and processing of order book data of the entire game's economy as well as the calculation of various metrics for analytics based on historic price data. Data can be accessed via a modern web-based UI or a simple HTTP API serving JSON while internal communication is based on [gRPC](https://grpc.io). The application's backend is split into multiple modular components/services implemented in a variety of languages. Builds are executed automatically and the application can be deployed as a collection of Docker containers. Work on element43 was started by a small group of developers spread all over the globe in summer 2012. More info can be found on the project's ['about' page](https://element-43.com/about).
[Element43](https://element-43.com) is a free and open web application providing market data for players of the MMORPG [EVE Online](https://www.eveonline.com). This includes the near real-time collection and processing of order book data of the entire game's economy as well as the calculation of various metrics for analytics based on historic price data. Data can be accessed via a modern web-based UI or a simple HTTP API serving JSON. The application's current backend is split into multiple modular components/services implemented in a variety of languages. Builds are executed automatically and the whole application can be deployed as a collection of Docker containers. Work on element43 was started by a small group of developers spread all over the globe in summer 2012. More info can be found on the project's ['about' page](https://element-43.com/about).
## Contributing
Contributions are always welcome! Feel free to get in touch with us on Slack or file an issue in this repository. PRs can be made in individual service's repositories.
## Components
This repo serves as the entry point into element43's infrastructure. The components listed here are under active development and serve as the application's core. Follow the links in the first column to access the component's code and documentation. Until we provide an updated version of our development environment and the getting started guide, just ping us on Slack if you have any questions. Running individual components is a matter of executing a Docker container configured as outlined in the individual service's docs.
This repo serves as the entry point into element43's infrastructure. Shared code such as the component's gRPC interface descriptions is also kept in the main repo. The components listed here are under active development and serve as the application's core. In Follow the links in the first column to access the component's code and documentation. Until we provide an updated version of our development environment and the getting started guide, just ping us on Slack if you have any questions. Running individual components is a matter of executing a Docker container configured as outlined in the individual service's docs.
---
![architecture](architecture.png "Simplified architecture diagram")
*A simplified diagram of element43's architecture excluding external APIs.*
*A simplified diagram of element43's structure.*
---
| | CI Status | Container Image | Language | Description |
| --- | --- | --- | --- | --- |
| [market-streamer](https://github.com/EVE-Tools/market-streamer) | [![Build Status](https://drone.element-43.com/api/badges/EVE-Tools/market-streamer/status.svg)](https://drone.element-43.com/EVE-Tools/market-streamer) | [![Docker Image](https://images.microbadger.com/badges/image/evetools/market-streamer.svg)](https://microbadger.com/images/evetools/market-streamer) | Go | Fetches market data from [ESI](https://esi.tech.ccp.is/latest/), converts it into [UUDIF](http://dev.eve-central.com/unifieduploader/start) and streams it via ZMQ. Drop-in replacement for [EMDR](http://www.eve-emdr.com/en/latest/). |
| [emdr-to-nsq](https://github.com/EVE-Tools/emdr-to-nsq) | [![Build Status](https://drone.element-43.com/api/badges/EVE-Tools/emdr-to-nsq/status.svg)](https://drone.element-43.com/EVE-Tools/emdr-to-nsq) | [![Docker Image](https://images.microbadger.com/badges/image/evetools/emdr-to-nsq.svg)](https://microbadger.com/images/evetools/emdr-to-nsq) | Go | Takes market data from ZMQ stream, performs deduplication and pushes data onto a NSQ-Queue |
| [order-server](https://github.com/EVE-Tools/order-server) | [![Build Status](https://drone.element-43.com/api/badges/EVE-Tools/order-server/status.svg)](https://drone.element-43.com/EVE-Tools/order-server) | [![Docker Image](https://images.microbadger.com/badges/image/evetools/order-server.svg)](https://microbadger.com/images/evetools/order-server) | Go | Stores order info from NSQ in Postgres DB and provides data as JSON via HTTP |
| [static-data](https://github.com/EVE-Tools/static-data) | [![Build Status](https://drone.element-43.com/api/badges/EVE-Tools/static-data/status.svg)](https://drone.element-43.com/EVE-Tools/static-data) | [![Docker Image](https://images.microbadger.com/badges/image/evetools/static-data.svg)](https://microbadger.com/images/evetools/static-data) | Go | Proxies and caches batch-calls to various in-game location APIs (1st/3rd party) and provides a uniform data format via API |
| [top-stations](https://github.com/EVE-Tools/top-stations) | [![Build Status](https://drone.element-43.com/api/badges/EVE-Tools/top-stations/status.svg)](https://drone.element-43.com/EVE-Tools/top-stations) | [![Docker Image](https://images.microbadger.com/badges/image/evetools/top-stations.svg)](https://microbadger.com/images/evetools/top-stations) | Python 3 | Generates metrics for individual station's markets using data from [order-server](https://github.com/EVE-Tools/order-server)'s API hourly |
| [market-stats](https://github.com/EVE-Tools/market-stats) | [![Build Status](https://drone.element-43.com/api/badges/EVE-Tools/market-stats/status.svg)](https://drone.element-43.com/EVE-Tools/market-stats) | [![Docker Image](https://images.microbadger.com/badges/image/evetools/market-stats.svg)](https://microbadger.com/images/evetools/market-stats) | Go | Generates price/volume statistics for the entire economy every night. Data is accessible in JSON format. |
| Frontend | | | JavaScript | Element43's SPA frontend based on VueJS/NuxtJS. Not yet open-sourced. |
| [vue43](https://github.com/EVE-Tools/vue43) | [![Build Status](https://drone.element-43.com/api/badges/EVE-Tools/vue43/status.svg)](https://drone.element-43.com/EVE-Tools/vue43) | [![Docker Image](https://images.microbadger.com/badges/image/evetools/vue43.svg)](https://microbadger.com/images/evetools/vue43) | TypeScript | Element43's SPA frontend based on VueJS/NuxtJS. |
| [esi-markets](https://github.com/EVE-Tools/esi-markets) | [![Build Status](https://drone.element-43.com/api/badges/EVE-Tools/esi-markets/status.svg)](https://drone.element-43.com/EVE-Tools/esi-markets) | [![Docker Image](https://images.microbadger.com/badges/image/evetools/esi-markets.svg)](https://microbadger.com/images/evetools/esi-markets) | Rust | One of element43's core components. This service keeps an in-memory representation of EVE Online's global order book and records individual order's history. |
| [jumpgate](https://github.com/EVE-Tools/jumpgate) | [![Build Status](https://drone.element-43.com/api/badges/EVE-Tools/jumpgate/status.svg)](https://drone.element-43.com/EVE-Tools/jumpgate) | [![Docker Image](https://images.microbadger.com/badges/image/evetools/jumpgate.svg)](https://microbadger.com/images/evetools/jumpgate) | Go | Proxies HTTP/JSON requests from the outside to gRPC/Protobuf calls to internal services. |
| [static-data](https://github.com/EVE-Tools/static-data) | [![Build Status](https://drone.element-43.com/api/badges/EVE-Tools/static-data/status.svg)](https://drone.element-43.com/EVE-Tools/static-data) | [![Docker Image](https://images.microbadger.com/badges/image/evetools/static-data.svg)](https://microbadger.com/images/evetools/static-data) | Go | Proxies and caches batch-calls to various static data APIs (1st/3rd party). |
| [top-stations](https://github.com/EVE-Tools/top-stations) | [![Build Status](https://drone.element-43.com/api/badges/EVE-Tools/top-stations/status.svg)](https://drone.element-43.com/EVE-Tools/top-stations) | [![Docker Image](https://images.microbadger.com/badges/image/evetools/top-stations.svg)](https://microbadger.com/images/evetools/top-stations) | Go | Generates metrics for individual station's markets using data from [esi-markets](https://github.com/EVE-Tools/esi-markets)' API hourly |
| [market-stats](https://github.com/EVE-Tools/market-stats) | [![Build Status](https://drone.element-43.com/api/badges/EVE-Tools/market-stats/status.svg)](https://drone.element-43.com/EVE-Tools/market-stats) | [![Docker Image](https://images.microbadger.com/badges/image/evetools/market-stats.svg)](https://microbadger.com/images/evetools/market-stats) | Go | Generates price/volume statistics for the entire economy every night. |
| [market-streamer](https://github.com/EVE-Tools/market-streamer) | [![Build Status](https://drone.element-43.com/api/badges/EVE-Tools/market-streamer/status.svg)](https://drone.element-43.com/EVE-Tools/market-streamer) | [![Docker Image](https://images.microbadger.com/badges/image/evetools/market-streamer.svg)](https://microbadger.com/images/evetools/market-streamer) | Go | Fetches market data from [ESI](https://esi.tech.ccp.is/latest/), converts it into [UUDIF](http://dev.eve-central.com/unifieduploader/start) and streams it via ZMQ. Drop-in replacement for [EMDR](http://www.eve-emdr.com/en/latest/). Not used in the main application, however still supported until the end of 2018 to help with the migration from EMDR to ESI. |
## Legacy Components
These are legacy components of the application's older iterations which no longer are under active development. They were superseeded by the components listed above.
@@ -43,6 +44,8 @@ These are legacy components of the application's older iterations which no longe
| [element43-django](https://github.com/EVE-Tools/element43-django) | - | - | Python 2 / Web | Legacy monolithic web application based on Django, switched to componentized structure due to reasons outlined [here](https://news.element-43.com/redesigning-element43/). Legacy docs can be found [here](http://element43.readthedocs.io/en/latest/).
| [node-43](https://github.com/EVE-Tools/node-43) | [![Build Status](https://img.shields.io/travis/EVE-Tools/node-43.svg?style=flat)](https://travis-ci.org/EVE-Tools/node-43) | - | JavaScript | The Django application's market data ingestion service. Takes data from [EMDR](http://www.eve-emdr.com/en/latest/) and stores it in Postgres DB. Worked nicely, however integration of data/services via DB generates tight coupling between applications.
| [vagrant-element43](https://github.com/EVE-Tools/vagrant-element43) | - | - | Vagrant/Ansible | A dev environment for the Django-based Element43 made with Vagrant and Ansible for getting started fast. Now everything is based on Docker and even faster.
| [emdr-to-nsq](https://github.com/EVE-Tools/emdr-to-nsq) | [![Build Status](https://drone.element-43.com/api/badges/EVE-Tools/emdr-to-nsq/status.svg)](https://drone.element-43.com/EVE-Tools/emdr-to-nsq) | [![Docker Image](https://images.microbadger.com/badges/image/evetools/emdr-to-nsq.svg)](https://microbadger.com/images/evetools/emdr-to-nsq) | Go | Takes market data from ZMQ stream, performs deduplication and pushes data onto a NSQ. Replaced by [esi-markets](https://github.com/EVE-Tools/esi-markets). |
| [order-server](https://github.com/EVE-Tools/order-server) | [![Build Status](https://drone.element-43.com/api/badges/EVE-Tools/order-server/status.svg)](https://drone.element-43.com/EVE-Tools/order-server) | [![Docker Image](https://images.microbadger.com/badges/image/evetools/order-server.svg)](https://microbadger.com/images/evetools/order-server) | Go | Stores order info from NSQ in Postgres DB and provides data as JSON via HTTP. Replaced by [esi-markets](https://github.com/EVE-Tools/esi-markets). |
| [search43](https://github.com/EVE-Tools/search43) | [![Build Status](https://drone.element-43.com/api/badges/EVE-Tools/search43/status.svg)](https://drone.element-43.com/EVE-Tools/search43) | [![Docker Image](https://images.microbadger.com/badges/image/evetools/search43.svg)](https://microbadger.com/images/evetools/search43) | Python 3 | A simple live-search API for Element43/EVE. Replaced by [ESI](https://esi.tech.ccp.is/latest/)'s official endpoint.
| [emdr_consumer](https://github.com/EVE-Tools/emdr_consumer) | [![Build Status](https://drone.element-43.com/api/badges/EVE-Tools/emdr_consumer/status.svg)](https://drone.element-43.com/EVE-Tools/emdr_consumer) | [![Docker Image](https://images.microbadger.com/badges/image/evetools/emdr_consumer.svg)](https://microbadger.com/images/evetools/emdr_consumer) | Elixir | A market data consumer similar to [emdr-to-nsq](https://github.com/EVE-Tools/emdr-to-nsq) written in Elixir. Rewritten in Go because of library ecosystem and resource consumption.
| [orders](https://github.com/EVE-Tools/orders) | [![Build Status](https://drone.element-43.com/api/badges/EVE-Tools/orders/status.svg)](https://drone.element-43.com/EVE-Tools/orders) | [![Docker Image](https://images.microbadger.com/badges/image/evetools/orders.svg)](https://microbadger.com/images/evetools/orders) | Elixir | A prototype of a market data storage backend similar to [order-server](https://github.com/EVE-Tools/order-server) written in Elixir.
View
BIN -57.6 KB (75%) architecture.png
Binary file not shown.

0 comments on commit 8e51984

Please sign in to comment.