This week I did not did much of the coding of the application. Instead I did much on the planning of the flow plan and the screenshots to map out the whole process of the application. Previously I did the coding without thinking about the big picture of the whole application. Now that I have mapped out the whole application, I just have to follow the flow plan of the application.
What is new in the application
In this application, I have tried my best to make is as simple as possible for the user. I have added and remove a lot of feature of this application, The main feature that I have removed is the list of Table of the certificate active. The table of all the certificate is a complex information for the user and should not be presented directly to the user. The user should only be presented with the information necessary to perform their task in the application.
Previously the application only validate the email address entered by the user with a regular expression but do not actually validate is the e-mail address actually exist. Currently I am learning the authentication class in the Witty Library that allow us to generate the verification code to be sent to the email address and allow the user to verify the application on the application. The process of creating a verification code including hashing a message and a salt that forms the verification code and then the user input the verification code and it is verified in the application.
This is a suggestion by Dr Shawn that this application can include the O Auth feature that allow the user to sign in to this application using their facebook account, google or twitter account. This allow the user to skip the step of verifying their e-mail and proceed straight to the process of selecting the period of their certificate. O Auth is a class that basically a class for user Authentication. I have not study the class yet and planning to do this once I haave finish the basic structure of the application.
The Basic flow plan of the application
There is basically two type of user in this application.
Administrator basically carry out two task. The first task is to create certificate and is basically the same process as the user.The second task is revoke certificates and to this I added a search tab that allow the administrator to search for the certificate and option to revoke it.
The user flow plan also allow user to perform two task. To create a certificate, user have to verify their email address and select the period of validity of the certificate.
The second task is renew an old certificate. This flow required the user to already have the old certificate imported to their browser. Then, user is directed to the period option page to select the new period of the certificate. Then the certificate is renewed.
Next week, I will be pay more attention to the verification of the email and the search option for the administrator.