All Projects → zweizeichen → Eve Live

zweizeichen / Eve Live

Licence: other
EVELive provides real-time pricing data for the MMORPG EVE Online

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Eve Live

react-app-simple-chat-app
A Simple Chat Application using MERN stack (MongoDB, Express JS, React JS, Node JS) and Socket.io for real time chatting
Stars: ✭ 41 (+412.5%)
Mutual labels:  socket-io, expressjs
order-service
一个基于vuejs,reactjs,nodejs,socket.io的服务系统
Stars: ✭ 22 (+175%)
Mutual labels:  socket-io, expressjs
socialApp-MERN
Social Networking web app similar to Instagram.
Stars: ✭ 35 (+337.5%)
Mutual labels:  socket-io, expressjs
Aaronvandenberg.nl
⚛️ Web Developers portfolio build with Gatsby.js & React.js
Stars: ✭ 98 (+1125%)
Mutual labels:  expressjs, socket-io
React-Native-Chat-App
A simple chatting app built with React Native, Socket.io, ExpressJS and MongoDB. The server app provides APIs for authentication, message sending and receiving. In the client app React-Native-Gifted-Chat is used for the chat interface.
Stars: ✭ 22 (+175%)
Mutual labels:  socket-io, expressjs
Metricio
⚡ Simple framework for easily creating dashboards to display metrics ⚡
Stars: ✭ 142 (+1675%)
Mutual labels:  expressjs, socket-io
AmigoChat-Realtime-Chat-Application
AmigoChat is a responsive real-time chat application built on MERN Stack and Socket io.
Stars: ✭ 22 (+175%)
Mutual labels:  socket-io, expressjs
Realtime Rails
Realtime rails support. See website for documentation:
Stars: ✭ 77 (+862.5%)
Mutual labels:  zeromq, socket-io
opentelemetry-ext-js
js extensions for the open-telemetry project
Stars: ✭ 122 (+1425%)
Mutual labels:  socket-io, expressjs
bubbly
Full stack chat application created w/ Next.js, Socket.IO, Express, React and TypeScript
Stars: ✭ 24 (+200%)
Mutual labels:  socket-io, expressjs
Bombanauts
Bombanauts, inspired by the original Bomberman game, is a 3D multiplayer online battle arena (MOBA) game where players can throw bombs at each other, make boxes explode, and even other players!
Stars: ✭ 54 (+575%)
Mutual labels:  expressjs, socket-io
faeshare
MERN based social media web app made with the help of Next.js, Socket.io and TailwindCSS.
Stars: ✭ 37 (+362.5%)
Mutual labels:  socket-io, expressjs
Nodejs Socketio Chat App
MEAN Stack & Socket.IO Real-time Chat App | A MEAN stack based Real Time chat application
Stars: ✭ 45 (+462.5%)
Mutual labels:  expressjs, socket-io
Node Decorators
node-decorators
Stars: ✭ 230 (+2775%)
Mutual labels:  expressjs, socket-io
Socket Click Example
Node + Express + Socket.io button click example
Stars: ✭ 28 (+250%)
Mutual labels:  expressjs, socket-io
spiced-final-project
Career explorer platform developed in React.js in 6 days.
Stars: ✭ 14 (+75%)
Mutual labels:  socket-io, expressjs
express-boilerplate
ExpressJS boilerplate with Socket.IO, Mongoose for scalable projects.
Stars: ✭ 83 (+937.5%)
Mutual labels:  socket-io, expressjs
chattt-backend
🖥 Backend for chattt
Stars: ✭ 17 (+112.5%)
Mutual labels:  socket-io, expressjs
mern-chatting-app
Chatting application where you can join different rooms and chat with people from around the globe.
Stars: ✭ 39 (+387.5%)
Mutual labels:  socket-io, expressjs
React Instagram Clone 2.0
A reactive Single-Page Instagram-Clone with some new features!! 💪📸👓
Stars: ✭ 756 (+9350%)
Mutual labels:  expressjs

EVELive - Real-Time Pricing Data

Overview

EVELive is a simple NodeJS application based on Socket.io and the Express 3 framework. It allows subscription to the EVE Market Data Relay (EMDR) to provide the user with global real-time pricing data. This allows the creation of real-time info panels or very accurate spreadsheets. All data is stored in RAM so it can be retrieved extremely fast and there is no need for an external database. Nevertheless it is possible to frequently write the internal database to a Redis instance to allow persistence between restarts.

Pricing information can be retrieved in three different ways:

  • The built-in web interface
  • A JSON API
  • WebSockets / Socket.io

Installation

Make sure you have node, npm, libzmq and libuuid installed before proceeding.

  • git clone this repository
  • Run npm install
  • Configure the app by editing config.js
  • Run node app to run eve-live

Accessing the Web Interface

Just open your favorite web browser and access the host eve-live is running on on the port you specified in config.js

Retrieving Data from the JSON API

Type Snapshot

Syntax: /snapshot/[solarSystemID]/[typeID]/
Description: This will return a JSON document containing pricing information of that type in the selected system. generatedAt specifies the time the price was last seen.
Example: /snapshot/30000142/34/

{
  "ask":5.99,
  "bid":6,
  "generatedAt":1357220569000
}

System Snapshot

Syntax: /snapshot/[solarSystemID]/
Description: This will return a JSON document containing all types and their prices in the selected system. generatedAt specifies the time the price was last seen.
Example: /snapshot/30000142/

    {
      [...]
      "34": {
        "ask": 5.99,
        "bid": 6,
        "generatedAt": 1357220281000
      },
      "35": {
        "ask": 13.7,
        "bid": 13.69,
        "generatedAt": 1357220230000
      },
      "36": {
        "ask": 54.72,
        "bid": 54.41,
        "generatedAt": 1357220213000
      },
      "37": {
        "ask": 157.96,
        "bid": 156,
        "generatedAt": 1357220299000
      },
      [...]
    }

Using Socket.io to Receive real-time Data from EVELive

EVELive allows clients using Socket.io to subscribe to different rooms representing all the solar systems of EVE Online. Each system has two rooms:

  • [solarSystemID]
  • [solarSystemID]-realtime

Once the client connects to a room it receives the initevent with the current system snapshot. If the client subscribed to the first room, it will only receive update events if the actual prices got updated. If the client connected to the [solarSystemID]-realtime room, it will receive updates whenever generatedAt gets updated even if the prices did not change at all. The data structure obtained from the update event is similar to the structure of the type snapshot:

{
  "34": {
    "ask": 5.99,
    "bid": 6,
    "generatedAt": 1357220569000
  }
}

Client example:

// Sockets
var socket = io.connect(window.location.hostname);
var room = '30000142-realtime';

// Local representation of the prices database and other variables
var localPrices = {};
var localNames = {};

// Subscribe to Jita realtime feed
socket.emit('subscribe', {
  room: room
});

// Load initial database
socket.on('init', function(data) {
	localPrices = data;
});

// On update update local DB
socket.on('update', function(data) {
	// Update local DB
	for(var type in data) {
		localPrices[type] = data[type];
		console.log('Updated type ' + type + '.');
	}
});

Another example can be found in /public/javascripts/main.js

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].