Following on from my query around HTML5 forms and date attributes, I am looking for a few suggestions as to how the think through a small application to be used to manage SIM cards. The SIM cards have to be recorded as they are acquired and activated, allocated to end-users, and at some point when no longer required, they have to be de-allocated for re-issue, or cancelled with the supplying telco.
This is a real requirement, though what follows is not necessarily the answer to those questions. What I’m trying to do is use this more as a real world example, that I can base my own learning on.
I did a two day JS course last September, during which, we were guided through the creation of a todo list based on the use of jQuery. It’s quite a simple little app in every way, but I was wondered whether I could base this SIM card app on that general concept. I’ve taken that code and begun to make a few changes to it (extra input fields & a few minor CSS tweaks so far) - see Codepen
What I’d like to do to it is as follows:
- Convert the list based display it currently has into a tabular form
- Pickup the current date as new records are created
- Create a pop-up for adding user details when the ‘Allocate SIM Card’ button is clicked
- Look at some in-browser validation techniques to limit the amount of garbage making its way to the back-end
- The list itself, needs to be sorted by oldest date first
For the purposes of this exercise, any data can be held either in local storage or arrays - it doesn’t matter which I don’t think.
I think what I’m after here is less about what the code has to look like, but more understanding the thought process of what I’d like it to do. The end-result just needs to come out looking as if it could be implemented. The code itself could be the worst piece of technical debt on the planet, so long as I can learn something from getting it to look and behave in an orderly fashion on screen.
On the off-chance any of this makes sense, I’m all ears.
Oh, and the Codepen only currently feeds of that date input field - none of the other inputs fields are linked to anything yet, though you can see what they’re intended for.