Hello,
The purpose of this thread is to announce a "Big project in its early stage", which at the moment doesn't have a name. The directory where I store my code is called "ArmyBase", but that's already taken, so I'm open to suggestion. Or else, I might just call it "Clotilde", because I think it's a nice sounding name.
I'm not very comfortable with going public with it yet, as it is in a very early stage of development, but the discussions in the "
NetERC website - input requested!" thread prompted me to announce it. I will copy paste and adapt the relevant parts of my post there below for ease of reference.
It will probably be of interest to many of us, and more than any others, to ACs and ERCs.
So here's the story :
I was setting out to make an experimental list. Well, I don't know if you're like this, but I found it very painful, lots of layout issue and I'm not an expert with any stuff like Acrobat or Word or whatever.
However, I know a thing or two about web development (or at least a scattering of techniques useful on the web), and I am the kind of lazy guy who would rather develop a software from the ground than fight with the layout options of MSword.
So the idea is to make a web based application, that could store complete lists for EA, from units and weapon statlines to lists with all their options, point costs, etc.
Then, from there, the goal is to be able to :
--------------------------------------------------------------------
Desired features list
--------------------------------------------------------------------
1) have a system of permission per user and per user groups
2) export data in a format that would be understandable by the application itself, and human-readable enough that someone web-competent could develop his own stuff based on the data.
3) import data in the same format.
4) display, on a web type interface (i.e. : web pages) :
- - - - > unit listings in a way akin to what the current lists are doing, with full stats, background/lore/fluff text and possibly image galleries
- - - - > lists with core, support, allied choices and upgrade, i.e.: Lists as usable as those published
- - - - > quick reference sheets
5) generate and export the same "view" (unit datasheets, army lists, quick reference sheets) in a paper friendly way (web based probably at first, PDF as a probable future feature)
6) Allow people with sufficient permission (i.e.:ACs ) to modify and add data to official lists, so that updated lists are available instantly
7) Allow people with sufficient permission (i.e. : hand-registered taccommers) to create their own lists, as variants, house lists, experimental stuff, etc.
9) More THINGS ! There are lots of THINGS that could be plugged on such a structure, from army-builder style sub-applications to statistic extraction from lists to whatever. Of course, one cannot ever plan for too much THINGS.
And there is no "8" because I don't want sunshades in my list, dammit !
To get there, here are the development phases involved, in rough order :
--------------------------------------------------------------------
Plausible developement Phasing
--------------------------------------------------------------------
1) Define the SQL data structure (the way things are stored in a database). This is mostly done but I will require some help to make it better, I will expand on it later in this post.
2) define the structured data format I want to use in the application (only just started, relatively straightforward, JSON will be the obvious choice for me)
3) develop SQL procedures and various middleware to :
- - - - >
produce the aforementioned data structures from the database- - - - >
be able to insert/update the correct stuff in the DB, taking the aforementioned structure.Nota : this stage is likely to be the most technical and the most time consuming; this also imply that if I get this done, motivation and time won't be nearly as hard to get to do the rest. import/export functionality are almost free at this stage, since the structured JSON will be the export format.
4) implement the user & permission system. This imply development of the SQL structures and associated code (relatively straightforward, but tedious and meticulous task if we don't want this to have gaping security breach; luckily, a good friend of mine is a security expert: that might help); after this stage, the stuff can basically go public (it still wont be usable for most interesting applications)
5) develop a basic display interface. Basic means ugly.
6) develop a basic input interface. Basic still means ugly.
7) refine such display to make it nice to look at, comfortable to use, and produce alternate layout for printing and use on paper. (fun stuff for me)
9) expand from there (Add link to galleries, quick references extractions, celebrating with champagne, etc).
And there is still no "8", because.
Now, back to reality, where am I with all that ? Well, the basic data structure is defined (like, I have my MySQL structure ready), I started to define the intermediate data structures (step 2) and that's all for now.
Here's a colour code so I can update you with informations :
done : means I'm basically done with that stage, barring a few adjustments if later needed.
doingdoingdoingdoing : I am currently working on this, the lighter the most advanced.
To do : Still to be done.
This was a relatively short phase, but it is a very important one. Basically, the complexity of all the other stuff is conditioned by the choices I make here. The simpler the database, the easier the code, but the less powerful the application.
This structure I have
now can do everything I found in marine, guards, eldar, ork lists, but i still have to re-read all the lists carefully to make sure that Clotilde (please help me find a name, or Clotilde it will be !) can manage all that is currently existing.
Additionally, the current structure can cope from the start with some stuff that are not used anywhere but could be interesting (for example, making you buy "detachment packages", for example paying n points and getting a marine company, which is 4 detachments : 2 tacs, one Assault and one dev).
Keep in mind that this is all a LOT of work; also keep in mind that while motivation is strong at this point, I have a consuming RL job (I'm an IT engineer if you didn't guess), a wife, a son, like to do long roller-skating sessions, have started rock climbing recently, have armies to paint, and am an avid reader. So, stuff might move very fast or stall, and I would be a liar if I made any promises, or even give you an ETA on all this.
What I can commit to do is keep you all informed on my progress, and answer any questions you might have on all this. I'll start a thread about this as soon as I have the time and a name for the project.
I'm open to suggestions of course. For a name, for neat ideas, for fun ideas, whatever.
If you have a pet thing you think would be nice to do in a list some day, please tell me. It's much easier to make it possible in the early stages.
Oh, and by the way, if you don't realise all the usefulness of such an application (I realised I kept somewhat technical in my wording all along), it implies things like instant army compendium compilation, indeed a living army compendium with no compilation work involved, clearly labelled status of lists (be they netEA official, FERC official, EUK official, experimental, fanlists... indeed as many status as one might want), instant and automatic formatting of variant, house lists, reference sheets...