Assignment - Negotiated Skills Development


Introduction:

Negotiated Skills Development (NSD) module is based upon enhancing skills of the students according to their desired field of interest where the skills are based on the leading and trending computing technologies. Likewise, I have also aimed to enhance my developmental skill, which is to develop a Web Application. It is a Pharmacy Management System with the use of various coding techniques. Web Applications play a vital role in any company or organization in today's context. Every element of a company or organization workflow is dependent to the online world. In the context of Web Applications, they help users to easily access and control the workflow of their organization and products too. As the growth of Internet is also continuous and emerging, there is a massive growth of Internet users and high demand for Web Applications. Each and every businesses have started producing their own Applications too which are both Web and App (iOS and Android) based. In such systems/applications, functionalities play a very important role which is termed as back end of that system. For example, a button is made functional as per a certain user's demand by coding in the back end. Also, it is quite important to develop a front end of the system too so that the users can experience ease of access of the end application. A fully functional back end system is just not enough for an entire end product(system). So, UI should be developed and be synced with the back end of the system. As per the multiple researches through online (e-books, tutorials and various resources) as well as offline platforms (books, module leaders) done by me, I have decided to focus on PHP, HTML, CSS, JavaScript and JQuery for the Web Application development (both back end and front end).

Aims/Objectives:

  1. To learn, evaluate and analyze the implementation aspect of PHP, HTML, CSS, JavaScript and JQuery.
  2. To enhance my coding skills in the backend.
  3. To understand the functionality of add, edit, update and delete.
  4. To develop my UI integration and installation skills.
  5. To develop a fully functional Web Application for a particular company or organization. In this scenario, a Pharmacy Management System for a pharmaceutical store.
Below are the learning outcomes for this module:

Negotiated Skills Development Contract (NSDC)
Student Name
 Piyush Pradhan
Student ID
C7202761
Course
 MSc Information Technology






Title/Grade
Description
In what format will you evidence your Learning outcome?
Date of completion
To understand the main design principles of backend coding, design and implementation (20%).
For this learning outcome, I will be looking forward to multiple research tasks done independently through multiple tutorials, e-books and easy source platform like Google, YouTube. I will also refer with my well informed module leaders as to how I can approach towards my final outcome. As a result, I can gather the requirements necessary for a system development in the PHP platform. This way, both the front end and back end objectives are achieved with the final product in hand.
Multiple researches and links to various tutorials will be evaluated and displayed in the blog and be described in detail which can be seen in the final product development as well.
Date:19/02/2019
To expand my knowledge in coding HTML, CSS, JavaScript and JQuery codes to develop a basic login page for the system (30%).
I will go through multiple sites like Tutorialspoint, w3 schools and some e-books which will help me understand the workflow of various coding techniques in HTML, CSS, JavaScript and JQuery so that it is more feasible for me to understand the vast backend because it is considered very much important in providing functionality to a particular system. I will also schedule multiple practice sessions for coding and master coding skills.
The final product will be built using HTML, CSS, JavaScript and JQuery hence evidencing the skills acquired, the progress will be described on my blog.
Date:11/03/2019
To understand the importance of user login privileges (20%).
User privileges are really important in a system. It maintains certain level of security and data leak. I will be assigning an admin and a user so that each of them will have their own set of responsibilities. Obviously, the admin will have more privileges like adding and deleting records.
I will be reviewing various tools and techniques to understand the workflow of multiple user privileges in a system through multiple sources online, including video tutorials and would be displaying the evidences on the blog to establish my learning objective.
Date:13/04/2019
To gather the knowledge about various UI platforms (30%).
There are various aspects of UI that play a significant role in a Web Application. I will be using Glyphicons in my Web Application assigned to a button so that the users can evaluate the functionality of each button assigned on the webpage. This implementation will be a basic implementation of the User Interface (UI).

Many websites and web applications today use templates which helps to give an instant UI to a functional backend of a webpage or a web application. I will be displaying screenshots as a form of evidence to support my learning objective for this.
Date:02/05/2019

Gantt Charts for the learning objectives:

 

Figure 1: Gantt Chart for first two Learning Objectives


Figure 2: Gantt Chart for last two Learning Objectives

 SWOT Analysis:

Strengths:

+ I have the capability and interest to about the existing technologies which I am not familiar of.

+ I am quite hardworking and passionate when the task is of my interest field of research.

+ The features of the Web Application gives an advantage by helping reach the objectives.

Weaknesses:

+ Website characteristics that present a disadvantage or prevent you from reaching objectives.

+ I am quite a slow coding learner and implementer and will quite take more than usual hours to provide functionality to an aspect of the system.

+ I tend to forget the coding functionalities of the back end early. I need many practice to understand and remember them.

Opportunities:

+ The add, update and delete features of the application helps to reach the respective proves its functionalities.

+ The module leaders have good Web Application Development concepts.

+ Referring to various online e-books, sources and video tutorials is a huge opportunity for Web Application Development.

Threats:

+ The ideas for various innovative developments can get stolen as there are multiple sources online to retreive data. For. eg Github which imposes a huge threat to a Web Application Developer.

+ The Web Application Development industry is emerging time and again.

+ There are competitive developers in the industry who are increasing the competitiveness factor.

Project Plan:

+ Gathering the requirements:

In the initial phase, I will be referring to online sources as they are fast and reliable. There are many things noted down on various site. I will go one by one and gather all the requirements in order to develop a functional Web Application.

+ Define the target audience:

Basically, the entire pharmaceutical store is considered as the main targeted audience. A pharmacist adds, edits, or removes certain records of medicines or medicine production companies.


+ Selecting Technology/Tools:

The programming language that I have chosen for the development of this web application is PHP, HTML, CSS, JavaScript and JQuery. I will be using XAMPP to test the web application in a local environment.

+ Designing Layout and Interface:

I will be using Glyphicons to develop buttons for various functionalities so that the user can easily make use of the application and a template to describe the UI of the application. Once the UI has been finalized, the design is implemented.

+ Web Application Development:

In this phase, the database structure for the system is designed and then developed. After that the modules, classes and libraries are customized according to the application requirements and the functionalities are implemented.

+ Testing:

This is the last stage of the Web Application development. After all the requirements have been fulfilled and all the functionalities have been developed, the system is tested at different levels. This stage can also take place after a particular functionality has been completed. The big testing takes place in the end after the system has been completed. Various types of testings are carried out here. They are load testing, stress testing, performance testing, usability testing etc.

Design Principles:

Web Application requires certain design principles for it to be developed. These intuition assist in designing and developing web applications.

The Gestalt Principle:

This principle encourages to targets on the entire design and then on minimal specifications. As the Gestalt principle states, the general architectural configuration of the web design regulates its results and embrace visual application. Characterized as the basis or architecture of an entity’s entire design, this principle is really vital in the design mechanism; creating the infrastructure according to the designer's aim and desire to convey a website with the addressed crowd.

Visual Hierarchy Principle:

Visual hierarchy is one of the very much crucial principles of web design concept. Designers make use of it to organize valid components of a web page. It’s a process that assists to manage the important and relevant aspects. A considerable approach web designers organize a website’s descriptive component is to specify instructions as per the size, color and font. This includes hyperlink adaptation as well.

The Golden Ratio Principle:

Different mathematicians, designers and artists trust the Golden Ratio (the golden rectangle) when enforced, generates an awareness of equity and consistency in various individuals. Those mathematicians and designers have all made the optimum use of the golden ratio in their. Many web designers at the present promote the application of the golden ratio as it is a good process to maintain equity in the  development of a website with alternative web components.

Color Theory Principle:

A well-constructed web application has an efficient color pattern. Color theory enables designers separate websites from the competitors. It also aids website influence the impact of color on the users. Selecting the perfect color creates a huge discrepancy among transferring various products too.

On the basis of the above principles, following processes are carried out.

1. Understanding the stages:

All the system requirements must be continuously be intact by following the instructions in order to obtain the best quality product. All the ethical stages that are necessary to develop an application(web) should be evaluated in the earlier phases. The requirement gathering makes an environment that keeps the application up to date. This ensures complete and well established web application.

2. Targeting the customers:

A product is developed and then forwarded it to the customers. Also gathering requirements from the customer help in making the product according to them. Customers should be prioritized while designing a web application. One should not develop a product without the involvement of customers as they play a vital role in developing various innovative web applications. There should always be user/customer preferences and should be given the top most priority while adding various design components.

3. Technology:

All the technological requirements should also be evaluated by communicating with the customers. A developer should know what technologies the customers prefer and are familiar with, and create applications based on that information. There are various updates in the technology in the web application development sector which can be both complex and easy for the customers. All these technological aspects should be properly introduced as they are the end users who are the owner of the application and they should be able to know which technology they are about to use.

4. Dynamic and user friendly:

User Interfaces (UI) of the Web Applications should be easy and be easily manipulative so that the customers can easily be familiar with their web application. And that web application should be compatible with various devices ranging from mobile phone to tablets and laptops. Although, web application are usually run on desktops or laptops, it is very important to have a dynamic and user friendly UI that can run on any computing device.

Gantt Chart for the Task Details:


                                                                                   Figure 3: Task Description


The entire project according to the task description starts from February 9, 2019 and finishes on May 2, 2019.


Figure 4: Gantt Chart A



                                                                                 Figure 5: Gantt Chart B



CRUD (Create, Read, Update and Delete) functionality:

  1. The Create functionality creates a record in the database.
  2. The Read functionality retrieves the records from the database.
  3. The Update functionality basically refers to edit which helps to edit/update a record in the database.
  4. The Delete functionality deletes the records from the database.

The CRUD functionality can be found in this Web Application (Pharmacy Management System).

Basics of  a Web Application:

Model-View-Controller (MVC Paradigm):

In a web application, the MVC stands for Model, View and Controller. One of the advantages of MVC is that they are reusable codes and separation of concerns.

Models:
Models are the components that computes directly with the database. It represents the object of the database tables and columns. It connects the database with the system and is responsible for data manipulation.

Views:Views are where the data priority task gets initiated. We can see the records in the database. An application asks the model to retrieve all the records of an entity in the database in the form of 0s and 1s, which gets converted into a human readable format.

Controllers:The C stands for Controller. Models interact with the database, Views make transforms the data into a human readable format. But a model cannot figure out as to when to retrieve the database and what to fetch from the database. Also, a view does not know when to render and what to render. This is where the controller comes into the role. It connects the view and model together to develop a functional Web Application.

Entity Relationship (ER) Diagram:




Figure 6: ER diagram for the Pharmacy Management System

The final product - Web Application (Pharmacy Management System) and its features:

Figure 7: User Login



Figure 8: Low Stock medicines alert for the user page




Figure 9: Showing the details of the expired medicines



Figure 10: Generating bill for customer

Figure 11: Low Stock medicines alert for the user page


Figure 12: Adding company details


Figure 13: Company successfully added

Figure 14: Edit company details


Figure 15: Company Remove Option

Figure 16: Company remove confirmation






Figure 17: Company successfully removed
Figure 18: Adding medicines



Figure 19: Medicines successfully added






Figure 20: The recently added medicines get displayed on top of other previously added ones






Figure 21: Displaying medicines which have already reached the expiry date


 


Figure 22: Displaying medicines which have not expired yet


 


Figure 23: Editing medicine details

 


Figure 24: Medicine details edit successful

 


Figure 25: The edit result is displayed on the screen



 


Figure 26: Adding Bill from the administrator's account


Some Screenshots of Coding for the Web Application:


Figure 27: Coding for index.php


Figure 28: Coding for invoice.php


Figure 29: Coding for update_cashier.php


Figure 30: Coding for view.php

Conclusion:


After many days of hard-work, dedication and concentration to enhance the Web Application Development skills, the product is finally functional and ready to serve its targeted sector.

This application basically focuses on maintaining the database of the pharmacy along with full customer/patient satisfaction. It is an online web application which can only be accessed by the authorized users. They are the one who can login into the application and view the records and details present in it.


References:

Berman, L., 2017. Elevated Third. [Online]
Available at: https://www.elevatedthird.com/news-insights/5-ways-web-development-project-management-makes-project-successful
[Accessed 12 March 2019].

Boag, P., 2018. Boag Works. [Online]
Available at: https://boagworld.com/digital-strategy/swot-analysis/
[Accessed 12 March 2019].

GASMANDESIGN, 2019. GASMANDESIGN. [Online]
Available at: https://www.gasmandesign.com/minneapolis-swot-for-web/
[Accessed 12 March 2019].

Snell, S., 2016. Vandelay Design. [Online]
Available at: https://www.vandelaydesign.com/web-design-project-plan/
[Accessed 12 March 2019].

Solutions, A., 2017. Achivion Solutions. [Online]
Available at: https://achievion.com/blog/6-best-practices-for-web-development-project-management.html
[Accessed 12 March 2019].



Wood, M., 2018. Hackernoon. [Online]
Available at: https://hackernoon.com/beginning-your-web-development-journey-start-here-7084346f5762
[Accessed 12 March 2019].

West, R., 2017. Free Code Camp. [Online]
Available at: https://medium.freecodecamp.org/want-to-learn-web-development-but-dont-know-where-to-start-478ed62e0e55
[Accessed 11 March 2019].

Nice, B., 2018. Medium. [Online]
Available at: https://medium.com/web-development-zone/top-free-ebooks-for-web-designers-web-developers-f8c6a70465ad
[Accessed 5 March 2019].

Andrew, P., 2019. Speckyboy. [Online]
Available at: https://speckyboy.com/free-web-design-ebooks/
[Accessed 15 March 2019].


Ballard, B., 2014. Thoughtbot. [Online]
Available at: https://thoughtbot.com/blog/back-to-basics-sql
[Accessed 16 March 2019].

Willems, K., 2019. Data Camp. [Online]
Available at: https://www.datacamp.com/community/tutorials/sql-tutorial-query
[Accessed 15 March 2019].







Comments