I build an eve trade planning app

So, I’ve been a busy lately and spinned up a eve trade route planner/finder app. It should allow you to make a nice bank by system to system trading, generating a step-by-step trading plan.

Disclaimers:

THIS IS UNTESTED AND IN ACTIVE DEVELOPMENT! CHECK BEFORE YOU TRADE!
I am solo developping this application, deploying it, debugging it. Thus - a lot can go a miss right now. I am sharing it so your feedback can help me make it better:-)

Now, if you will find bugs, bad pathfinding (i am using rather simple dijkstra’s algo implementation so sometimes the plotting is a bit different to what you’d see on dotlan → especially if you pick e.g. medium risk level for high-sec only path where it’ll try to find low sec systems etc) or even worse non-existent/bad trade suggestions OR if you’ll have feature requests put them up here: Repository to collect issues connected to EVE online trade route planner → templates for both feature request and bug reports are included in the issues tab.
End Of Disclamers

Finally we can get to the good stuff!

Trade Planner:

EVE Online Trade Route Planner - enter details of from, where, how much cargo space and isk you have and it pulls all market orders from ESI and calculates how much ISK you can make by fulfilling standing buy/sell orders.

It should also correctly calculate the taxes and broker’s fees according to your skill level. I elected to be lazy here and ignore faction/corp standings so you could be only pleasantly surprised to earn more.

Expect wait times up to 5 minutes (but often much less, around 2 and less. i am implementing further caching layers and molesting redis as much as possible to speed everything up)

It will generate an excel file for you which contains everything you need to proceed and execute the trade plan.

Best trades:

HERE

This will pull ALL current market orders from ESI (this is done every 2 hours for now, idk how volatily the market is for cross-regional trades) and find the best money makers across the universe.

this should be used together with the trade route planner. you can have a look at the biggest hitters and plan a route according to them, collecting further profits along the way.

the excel for this contains a lot more data so be sure to check out the whole file.

Again: there is no guarantee this works perfectly. It’s in active development and I very much need help of other people to find bugs and suggest features. Cuz as every other developer I hate filling out feature requests and bug reports I wanna rely on the community for that.

Another disclaimer:

The app is running on a server I am paying for. The resources of this server are not unlimited. The app WILL struggle with 50+ concurrent users. It is what it is and what happens when you’re aggregating millions of rows and comparing them together while making thousands of api calls to ESI. Again, I am working on improving the performance as we go.

Developer Corner

For those interested in how this app works, what’s the tech stack and the usual nerdy mumbo jumbo developers enjoy talking about, here it is:

The app is built with Java 24, Spring Boot and Thymeleaf. Data is handled by PostgreSQL and Redis

If there would be any volunteers which would like to become maintainers, hit me up - DMs here on the forums or mailto:business@tadeasfort.com and I’ll gladly accept help!

3 Likes

I have reports that some people are getting 0 trade routes returned. This is due to caching logic with excel files.
Check best trades whether the market order data sync is ongoing, if not, in the next max 30 minutes it’ll hard reset and work again.
Working on a fix as we speek. Thanks!

3 Likes

Looks good.

You should integrate EVE - Check before you jump!

Just a thought…

1 Like

Integrate how? Can you elaborate? Cuz sure I could pull skill data for each system on the path and give it weights according to activity and then try to go around systems.. Or maybe I could just put zkill delta in last hour in the excel on the first sheet?

1 Like

Very nice, always good to have another app to help navigate the cosmos of Eve…

Definitely should link your app in Market / Trade threads…

Also could possibly generate more interest if posted in this subforum:

Anyway, thank you for sharing and I hope your app is a great success…

2 Likes

I don’t have access to these, that’s why I shoved it in general for now. Thank you for your kind words!

1 Like

too complicate :slight_smile:

I have no idea, but I would first look at the proposed route for kills on the gates. eve-gatecheck already does the hard part.

yep, that’s a great feature suggestion, will shove it in the backlog. thank you!

2 Likes

something like this would be what you imagined?

2 Likes

Yes sir!

I’ll deploy it tomorrow.
Im also now working on implementing esi sso auth so you would be able to pull market data from your privately accessible structures.. But no promises there

2 Likes

i am working on another highly requested feature.
esi login to get market orders from private structures.
the app then pulls the market orders for given user ONLY IN CACHE (not storing them in postgresql for privacy reasons, though, i don’t know how much value would it be either way I wanted to do this the right way)
then it will include these private market orders in the final calcuation. for people in big blocks it should allow to see much more (like ualx market is traditionally huge am i right?) profitable trades.

i will push back the deploy until this feature is finished for simplicity.
also in the final excel these market orders are tagged as “private” so you can check before you buy. always check before you buy at this point.

2 Likes

I actually realised this will be a bit more complex. I will need to introduce sessions for each of the authenticated players in order to not mix two sets of private market orders between each other. working on that as I am writing this.
I’ll be using this thread to provide dev updates like these for now.

2 Likes

Sadly I found out that this is not possible to make with current ESI API structure which doesn’t have any endpoint which would allow me to authenticate and pull structures the characters have docking right to. I would need to search for structures per system. That would be considered abuse of the API with new terms and conditions. So I am quite lost here and I have no idea why isn’t there at least a list of structure ids which I could use to pull market orders from or something, skipping not authorized errors and such.
I just don’t see a way how this could be done reliably.

I will for now abbandon this feature and instead focus on improving the pathfinding and security calculation and other stuff…

1 Like

Might be a good idea to contact CCP about it, probably take a little while to get a reply but they should be able to answer any questions about it…

I may not be following closely enough. If you’re talking about market data you might look at how EVE Tycoon does it. It shows market data for any structure.

Placid 199 445,000.00 ISK 0.5 Slays - Hub - 18d 0h 1m 2 months ago




sadly it does not. it shows only data for publicly accessible player made structures in space which I can pull easily as well. it does not show private alliance wide market orders

I found an 8 year old issue on github which is opened till now. i am trying to push that but last update was 5 years ago and clearly they are not eager to give simple access to this for whatever reason. i’ll keep this in mind but my hopes aren’t high

1 Like

Couple of updates:

→ I am going to try and implement jump freighter pathfinding logic which should be pretty easy.
Jump Route: Ahbazon - UALX-3 - DOTLAN :: EveMaps returns:
$(document).ready(function() {

naviBridgeList.bridgeBlackOps    = [];
naviBridgeList.bridgeShips    = [];
routeJump.init();
routeJump.list.push('Ahbazon');
routeJump.list.push('Iesa');
routeJump.list.push('Faspera');
routeJump.list.push('Litom');
routeJump.list.push('J7A-UR');
routeJump.list.push('UALX-3');

});

inside a huge html

→ this can be easily extracted and used for jump freighter pathfinding with skill taken into account (we need only system names, details can be included in dotlan link)

similarly i am going to rework my own pathfinding and use ESI route planner instead which I haven’t noticed

Now regarding the private market orders - i am collecting the structure ids of staging and deployment systems from goonswarm which I am a part of. so for goons, the private market order pulls will work. for other blocks - no, as I am not a part of them and I don’t have any way of getting their structure ids. But it’s better than nothing I’d like to say.

Future of this app looks bright, if i’ll keep at it.

Though it’s getting quite big at this point. I will likely have to refactor it into modules instead of one monolith which will take a bit of time. I don’t want one big JVM service eating 16+ gigs of ram which this is heading towards.

That’s all for today

1 Like