Project Prometheus
===
Project Prometheus is the working name for a more feature-rich API for PnW. We are an unofficial project designed to bringing ODATA complaince and features.
We run on our own hardware and our own domain. We are not part of PNW officially, we're just providing a free service so you can dev with ease!
What is ODATA?
ODATA is a standardized protocol for getting API Data. It allows for server-side filtering of data so you only get what you need.
How does it work?
First off, we will cache hourly or bi-hourly publically available data and through our import process turn it into strongly typed data.
This means that you can expect data to be of the right type. A number is really a number!
Next, we open up new API endpoints for Alliance, Nations, wars, etc... But, the main difference is, if you ask for an alliance,
you will get all nations in it, with who thier leaders are.
More will probably come on this as we find the best way to represent PNW data that is easy and intuitive.
Okay, so whats the catch?
There is none, we will host our code as open source tentatively under MIT. You may audit the code anytime and/or request a walkthrough of what the code does.
We are bound by professional ethics.
What about accessing my alliance's bank through the API, am I safe?
We do NOT cache any personal data or data that may threaten the security of your nation or alliance.
If you are unsettled, please request a code walkthrough or send an auditor you trust to check it over.
Again, WE DO NOT CACHE PERSONAL OR ALLIANCE CRITICAL DATA. WE ONLY CACHE PUBLICALLY AVAILABLE DATA.
What is the gameplan?
I have broken it down into milestones.
Milestone 1 : Setting up project infrastructure
We will create a GitHub, you may create issues or post ideas in this thread. Please note, that if you come up with any ideas, they will need to be implemented for all alliances. So, there maybe a bit of a slow turnaround.
Also note that complex features will require Unit Tests and you will be asked to help test the new features (not required just would be nice if you did).
Milestone 2: Creating the Cache and Mapping of PNW data into Prometheus Data
We'll go through and create appropiate classes for PNW Data and transform/map it into Prometheus Data. Prometheus data is strongly typed and will be well documented.
Milestone 3: Service Layer
We'll add a small service layer to better handle complex features down the road and facilitate data coming from our cache.
Milestone 4: API
Next, we will add the ODATA Server so it can serve api requests.
Milestone 5: Documentation
Next, we're gonna add a small site to sit near/on the API to give ya'll documentation. You can help with this by writing documentation in MarkDown. When, we reach this point, I will give out more info on the process.
Past the Milestones
Past the milestones, we will listen and dot down feature ideas. The easier ones will go first.
So if you want this to become a thing, let me know. Even if just 5 people use it, I will do it.
Thanks!
_______ UPDATED Information _____
GitHub Link: https://github.com/JamesLoyd/prometheus
Discord: https://discord.gg/PNuWgAQ
--------
Also thanks to John Smith for helping out!