GalaxyFinder! Wormhole Mapper

It’s been a couple years since I shared about the mapper I created. A lot has improved, changed, and been added so hopefully this covers most of it. Here is the discord if you would like to join and give feedback, ask questions, and request features: Discord

GalaxyFinder is built on cloud scalable infrastructure and security. Used by over 2000 unique active users around the globe each month!

There is also a Desktop based version of the tool as well. This was a small proof of concept I threw together, based on user interest. Feel free to let me know if you like or want something changed, I might look into expanding it more.

No PHP, Jquery front ends, bootstrap, python, etc. Here is what is used for this system:

  • Firebase Realtime Database

    • Each layer has its own security read/write rules
  • Firebase Cloud Functions (~20)

    • Automating removing of old data
    • Dumping data into a datalake as it happens
    • Triggering data consistency across the database
  • BigQuery

    • Analytics and statics data (for dashboards on request)
  • Firebase Hosting

  • React

  • React-Sagas

  • Redux

  • Kubernetes

  • Node WebApi

    • Full SSL (Managed by GCP)
    • Only used for custom JWT Authentication layer
  • Cloud Tasks

    • Managing and refreshing tokens
  • 3 closed off container services

    • Golang kill service
    • Golang location service
    • Con jobs container
      • Affiliation updates
      • System hourly statistics
      • Auto logout inactive user characters (Remove character tokens)
      • Reported Thera Connections
  • Rust WebAssembly

    • Custom routing algorithm for pathing
    • Uses stargates, connections, thera, and specified avoid parameters to route space
  • Automated Deployment

    • Pushing to master runs a custom github workflow
    • Deploys it to firebase hosting
    • Triggers version update notifying all users a new version has been deployed

Static data uses information from Anoik.is and SDE which is updated regularly so triglavian systems, stargates, and routing all work appropriately.

Security

  • Access Lists!!
    • Give read and write access to corps, alliances, and characters on a per map basis
    • Can only be updated by map owners (corp/alliance directors, or private owner)
  • Character affiliations are auto updated every 30 minutes (CCP ESI Cache time)
  • Tabs automatically appear and disappear based on any kind of security level changes (No refreshing required)
  • Read access prevents you on a database level from modify anything related to a seen map
  • There is no limitations on how many entities are allowed to be on access lists
  • Locations for all characters are only visible to corp/alliance members
  • Spais can’t delete tabs or timers unless they own it
  • The system will NEVER ask for more scopes than what is needed
    • Custom account system will default to just roles and titles
    • When you use any of my tools it will just ask you to update your login scopes to include ones needed for the new tool

Signatures

  • The signatures run your basis for the map!
  • Clicking the home button will automatically set the signature to the parent system
  • Hovering over the info icon will show you who created the signature and who last edited it
  • Signatures NEVER go away, so you can see the last time you were in a system
  • double clicking a signature on a row will open the edit for that signature
  • Pasting into the mapper more than one signature from game will auto select signatures that weren’t available in your paste (Making it super easy to just click delete to remove stale data)!
  • Sites like gas and ore sites can be right clicked to be marked as triggered or cleared
  • Signatures are shared across same security level maps
  • When populating wormhole type, the connection will automatically set the connection to proper size for you
  • If a signature matches a reported Thera connection, a ‘!’ will appear letting you know the status and who reported it

System map

  • Selecting a system will populate the page with related information
    • When selected the map will automatically smooth scroll to bring the node as close to the center of the view as possible
    • Statics will appear in the top right and take you to external sources showing you details
    • Zkill and Dotlan buttons for that system
    • Routes (if k-space) showing destinations from that system
    • Signatures and Anomalies list
    • Notes made for that system
  • You can flag systems to tell people you noticed drifters active in the system (timestamped)
  • Hovering over the effect icon on a node shows you the effects it causes
  • Pinging a system will animate the node and allow you to hover and see the Pinging
    • Ping notes stay forever until they are deleted meaning you can leave messages for when it is found again
  • Double Clicking systems that haven’t been fully mapped out automatically opens the edit window for them
  • Set the status of a system to show if it is scanned, hostile, or empty
  • Character locations are shown and updated in real time
    • Hovering over the badge showing the count will show a list of characters, ship names, and ships
    • The purple badge shows where your current character is located
  • Right clicking connections
    • Allows you to update the status of a connection
    • Set the size of the connection
  • Hovering over a node will highlight the connection that moves up from that system
  • K-Space systems have the ability to right click and add the system to your in game waypoint
  • Rebuilding chains is now possible, since signatures never go away you can right click a system and choose rebuild connections
    • Rebuild will recreate all wormhole signature on the selected system that aren’t currently on the map
    • Any connection statuses and overlays that were there previously are preserved
  • EoL connections
    • Change color as time passes to let you know how old it is
    • Hovering over them will show a timer of estimated time left on the connection
  • K-Space systems have a stargate menu option allowing you to add stargate connections to its known connections (including triglavian gates)
  • Day tripping?
    • Now you can right click a system you are in, then set it to the root of the map, it will keep everything attached to it and below!
    • You no longer have to create a new map to change the root each time you log in
  • Statics also appear as little bubbles on each system so you can see what kind are at a glance (or hover over if you don’t know the colors yet)

Automapper

  • Automatically detect when you change systems to autopopulate details
  • Filters possible signatures based on their type
  • Drawer pops open from the right letting you choose the signature you just jumped through
    • Signature list is populated showing all non filled out signatures for the system you just left
    • If you forgot to fill out the signature you can add it to the system and the drawer will auto update
    • Selecting a system automatically updates the system with your new system’s details
    • Drawer will automatically select the system you just came from on the mapper when opened
  • K-Space automapping is toggleable
    • If you jump from a k-space on the map to K-Space registered as a stargate jump it will automatically add a stargate connection to that system on the map

Structure timers

  • Keep track of timers you come across
  • Owners, Time, Type, Structure are all visible in the drawer
  • Times are automatically converted to the viewers time zone
  • Timers can only be removed by owner/director to prevent tampering
  • When the timer has passed it will appear as red
  • Timers appear in the structure area of the intel panel on the right

Pathfinder

  • Drawer popout that helps you find the fastest route to your destination
  • When you enter a destination it will show a path from all k-space systems in the current map
  • When you select one of the k-space destinations it will automatically select and flair that system on the map so you see which one the path is for
    • This also scrolls the map so the system is in view for you to see
    • It will also highlight all connections and systems on that route (if it uses wormhole connections)
  • The routes work the same way they do in the normal routes panel!

Route Panel

  • Specify the systems you want to auto appear in the list
  • Shows shortest, safest, and known routes to each system
  • Expanding will show each system you jump through
  • Right clicking on any system on the node will allow you to set your in game waypoint
  • Hovering over each system will show you the route on the above map (if using wormholes)
  • This also takes into account known Thera connections!
  • If you have the setting enabled, it will avoid frigate connections

Locations

  • Locations are automatically tracked once the character has been added to the system
  • User/Character doesn’t have to have the website/mapper open for tracking to work
  • Locations, Ships, Ship names are updated every ~6 seconds
  • You will only see your corp/alliance members (based on map permissions/security)
  • Number bubble on systems shows you how many people are in that system
  • Purple shows the system that you are currently in (blue is for ones you aren’t in)
  • Hovering over the bubble will show you the player, ship, and ship name for everyone in system
  • Intel view has a view to see pilots in the currently selected system too without need for hovering over the bubble

Kill Tracker

  • When a new kill is logged into zkill (redisq real-time)
    • If the system is on your current map you will get a notification (if browser notifications are turned on)
    • The system will have a pulse animation around it for 60 seconds
  • Selecting a specific system will show you a list of at least the last 6 kills in that system
  • If the tab is unfocused or closed the tab title will blink with the latest kill info until you open the mapper
  • If the intel panel is closed and new chain intel comes in, the light bulb will flash red until you open it to see it
  • Kills listed in the chain feed are clickable, automatically selecting that system and scrolling to it
  • Items will show you
    • Who died, what ship, corp/allinace they belonged to
    • How many of each ship type is on the kill
    • Affiliation of the character that got the final blow
  • Selecting any of the pictures will take you to their zkill

Customization

  • You can select a background for the mapper from a set of already stored backgrounds
  • Turn stargate automapping on and off
  • Setup the tab you want to automatically load when you load up the mapper
  • Add all of your alts into your account, and switch between them from the drawer on the left
  • System alias’ allow you to override a system’s name indefinitely until removed
  • Temp Id’s default to the signatures first three letters, but can be overridden to appear how your bookmarks work (disappears when system is removed)
  • Set in the destinations you want to automatically see routes to when a k-space is selected
  • Turn on and off routing through frigate connections

I have created TONS of custom systems for this, and have open sourced a lot of the micro-services, backends, CI/CD tools and pipelines:
New Eden WebAPI (and Cloud Functions) - This is the backend authentication webapi that handles auth for the mapper (as well as cloud functions)
Node ESI Stackdriver - Custom ESI library I created for all my TS backends that also does all it’s logging to GCP stackdriver
Firebase Action - Custom GitHub Action to automatically deploy static sites like GalaxyFinder and Account Management on commit
Setup Firebase - Custom GitHub Action for using firebase cli to automate deployments, emulation, testing, and more (improvement of firebase-action)
Firebase Trigger - Custom GitHub action used to update version numbers on deployments to trigger release notifications to users
Chingy Locations (Deprecated) - Somewhat outdated micro-service used to update player locations for the mapper (deprecated and replaced)
Capsuleer Locations - New location golang micro-service
Go ESI - Custom golang esi module I created and is used for kill tracking, aura discord bots, and more
Go ZKB - Custom golang zkb module I created to ingest redisq feed
Go EvePraisal - Custom golang evepraisal module I created to interact and apraise chunks of data (for getting things like full kill values of virtually fitted ships)
Aura Bot - Custom Aura Discord bot built to handle things like SRP, Kill tracking, etc. Built on top of go.esi, go.zkb, go.evepraisel, discordgo
Eve Routes - Rust micro-service that gets routes for EVE using a* algorithm to find the shortest, safest, less safe, custom routes

6 Likes

I cant log in, it says log in, select a character, then goes back to the login screen, if i click register it tells me to add a character then when I do it tells me I already exist then dumps me back on the login screen.

I have the same problem.

Feel free to jump into the discord to ask for help, but it looks like you already have an account with this character. You can’t register if your character already exists in the system. If it keeps taking you to login, look at the URL as well it should have errors in there if you want to share them. Otherwise, I would recommend clearing your cookies (not cache)

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.