Well I'd not value this as a pure technical discussion, so the forum is probably a place that suits well.
It's a bit hard to tell how to learn more about the engine, but I hope I can give you an idea how I got started with this project:
I first got involved with triplea development 2 and a half years ago (On 1st April 2016 to be precise).
Some time before I discovered triplea searching for an A&A that worked on Windows 7 or higher. I quickly realised that triplea was written in java (due to an icon that wasn't correctly set), and I had a couple of things in mind I wanted to change about it.
I'd consider myself to be a programming noob back then (I knew how to write simple programs and the syntax of java so that's the basic knowledge I had), but back then I had the confidence I could achieve everything by simply messing around with the code (how wrong I was).
But I found a couple of things in the code I found mildly annoying (generic raw type warnings in my case, that could easily be fixed by adding a couple of lines).
Combine this with my perfectionism and my first pull Request was born. (I had used git before but only using the github desktop client.)
Somehow one thing lead to the next and here I am 2 and a half years later, with much more knowledge about programming, java and the triplea engine.
My approach really was simply learning by doing, the idea came first, and then I started trying to figure out what needs to be changed to achieve that, not always successful.
To conclude: I'd recommend learning the absolute basics about programming (if statements, while loops, functions) and then trying to apply that knowledge to the code on your own.
We can show you how to setup your pc locally so you can mess with a couple lines and try out what happens.
Of course we can give you hints about what part of the code is roughly responsible for what functionality, but the truth is that nobody really knows the codebase 100% because triplea is such an old project.
So everyone is some sort of specialist for a certain area of the code.
I hope this gives you a good idea on how to approach such an ambitious plan.