Nfra Web Based Inventory, Purchase and Sales Control System

: This is a web based application which will enable NFRA current manual system to be computerized, intend to automate all procedures which currently manually conducted users. With computerized system referrals, vendors and zone manager will be registered by system administrator and will be given credentials for viewing total NFRA available stock for sell, only the system administrator will have full access to the NFRA inventory purchase and sell control system by new stock, editing available stock and updating of referrals. NFRA web based system will permits customer to interact with system by choosing which kind of referrals wants to trade with, and customer will be able to place an order and print an invoice as long as there is enough stock, the order will expire when its validity time has finished. This application will eliminate all problems that currently phased by NFRA clients.


Introduction
NFRA was established in the year of 1999 in Tanzania. NFRA was formed from SGR with the aim of maintaining a national optimal level of food reserve to address local food storage and respond immediate emergency food requirements and to have well managed business (like agency), it is non-profit organization. NFRA also guarantee national food security by procuring and reserving strategic food stock in an efficient as well as cost effective manner [7]. NFRA has six branches in Tanzania in different regions Makambako, Sumbawanga, Songea, Dodoma, Shinyanga and Arusha also it have 33 warehouse with capability of storing 246000 tones situated in different regions in Tanzania [7].
NFRA business modal involve purchasing of crops from local farmers termed as vendors and store them in their nearby ware house, then after that they make sure that warehouse has enough storage which will be reserved for future use they stop purchasing for that current year. Apart from stored crops in the ware house, NFRA also sales the crops to referrals or institution so as to increase availability of crops in the market when it is needed. This occurs when the country faces famine and food shortage [7]. NFRA web based inventory, purchase and sales control will be a web based application which is aimed at making the NFRA current business model to be computerized, and it focuses on removing man in the middle so as to simplify and create clarity to the NFRA business modal. With this system the efficiency, productivity, simplicity and less time consuming will be achieved.

Main Objective
To develop NFRA web based inventory, purchase and sales control system.

Specific Objectives
i.
To create database that will store the logical storage of food and other user information ii. To create user interfaces iii. To perform middleware programming that will link the front end and the back end.

Scope
The scope is to develop and implement the system that will solve problem elaborated above.

Limitations
This system will be applicable only for NFRA and whenever there is an internet connection.

Statement of the Problem
According to the study conducted, NFRA manual working system is tedious, time consuming, less efficient and less accurate in comparison to the computerized system. Also its operation is associated with presence of man in the middle (brokers) which resulting into some disturbance, due to fact that customer cannot be able to interact directly with NFRA.

Project Questions
There were number of questions that pushes to come out with this idea of having web based application, some of the questions are:i. Why does it take so long to purchase an item from NRFA? ii. How can customer place an order to NFRA? iii. How sure will the customer be on the availability of stock in NFRA? These questions are concerned with the NFRA business interactions with their customer and how to manage it effectively. It questions the ordering, purchase and sales control system of NFRA. It focuses in time taken to purchase an items from NFRA for which current system consumes more time to perform it. The questions also over looks to the ordering system of NFRA which require customer to be there physical. This makes the assurance of availability of stock to customer a problem.

Existing System
The diagram below illustrate the procedures of existing system which rises the above mentioned questions.

Proposed System
The above case study were based on inventory management only. These are only based on recording of sales, purchases and stock taking, Thus for NFRA it requires some additional features such as interlinking all NFRA inventories made in all branches and making the stock viewable to all customers as available to every registered referrals.
The proposed system introduced to eliminates all those shortcomings.

Significant of Proposed System
i. It will save time This system will be able to eliminate the great deal of manual process, as the old saying time is money, the amount of time that can be saved by a business is perhaps the biggest benefit, due to fact it's current system is quietly tedious, many data are maintained manually thus with the computerized system time will be saved and many task will executed fast with little time consuming.
ii. It will be More accurate With computerized system it will act as additional benefit on inventory system, it will reduce the effect of human error due to replacement of manually system with the computerized system.
iii. It will be efficient A computerized system will make everything from inputting information to access the inventory easier and fast as compared to manually system which is currently used.
iv. It will reduce disturbances. The system will be able to eliminate the presence of man in the middle (brokers) thus expected to reduce a lot of disturbance because customer will be able to place an order directly to the system corresponding to what referral want to purchase from NFRA warehouse.
v. It will reduce paper works. Current system is manually thus it involve a lot of paper works, the computerized system will be able to solve that problem, many details will be kept on database thus it will be easy for accessing them even outside the office, one can access stock information easily without even sift through stacks of papers.
vi. Consistence Always business operates most efficiently when its processes are executed in consistent manner, by using computerized system it will ensure that all orders, report and other documents relating to inventory are uniform in their presentation, regardless of who has created them, this will allow easy of reading, also uniformity will creates a professional appearance which can go long way to impress associates such as customers.

Methodology
Evolutionary Prototyping methodology (EPM) had been used for this project development. This methodology attempts to balance the focus between processes and data. This methodology model was chosen for the development of IPASCS because it perform system analysis, system design and system implementation concurrently, in which the prototype demonstrates some of the system's features, the project progresses, the features are refined and new ones are added until the prototype morphs into the finished application/system. Then UML will be used to describe the system concept as collection of objects, incorporating both processes and data.

Evolutionary Prototyping Model (EPM)
Prototype is smaller version of system with a minimal amount of feature. This methodology has great advantage compared to other methodologies, it provide a system for the users to interact with, if it is not initially ready for use. In this model the development of a system will be carried out through all phases as explained below.

Requirement Gathering
This is a phase toward a successful development of a system, which all constraints, demands, necessities and parameters that must be met for a system to operate effectively are analyzed, these include identification of user and system requirements. The following are the functional and nonfunctional requirements of IPASCS.

Functional Requirements of the System
The System aims at providing an efficient interface to the user for managing of inventory, it shall also provide the user varied options for managing the inventory through various functions at hand.

Non Functional Requirements of the System
Usability i.
The system must be easy to use by both managers and chefs such that they do not need to read an extensive amount of manuals. ii. The system must be quickly accessible by both users. iii. The system must be intuitive and simple in the way it displays all relevant data and relationships. iv. The menus of the system must be easily navigable by the users with buttons that are easy to understand. Reliability i.
The System must give accurate inventory status to the user continuously. Any inaccuracies are taken care by the regular confirming of the actual levels with the levels displayed in the system. ii. The System must successfully add any crop, referral, vendors or special occasions given by the user and provide estimations and inventory status in relevance with the newly updated entities iii. The system must provide a password enabled login to the user to avoid any foreign entity changing the data in the system. iv. The system should provide the user updates on completion of requested processes and if the requested processes fail, it should provide the user the reason for the failure. v. The system should not update the data in any database for any failed processes. Portability i.
The system will be able to bear on the ability of software to be transferred from one environment to another and be able to work in different platforms. Performance i.
The system must not lag, because the workers using it don t have down-time to wait for it to complete an action. ii. The system must complete updating the databases, adding of crop, referral, vendor and occasions successfully every time the user requests such a process. iii. All the functions of the system must be available to the corresponding user every time the system is turned on. iv. The calculations performed by the system must comply according to the norms set by the user and should not vary unless explicitly changed by the user. Security i.
The system will be able to authenticate the authorized user. Compatibility The system will be able to change with existing to new technologies. Flexibility The system will have the ability to work on different platforms including WINDOWS and LINUX. Availability The system will be accessible to all users who are authorized to work with the system

Registration Module
This describes registration on IPASCS, it involves all user who should be registered so as to get access and authentication on the system and the intended users on this module are branch manager, vendor, staffs, and referrals.
Responsibilities i.
The system should allow administrator to create zone and register a branch manager. ii. The system should allow vendor to register him/herself. iii. The system should allow referral to register him/herself.

Approval Module
This describes approval on IPASCS, it involves users who will be approved or approve after being registered who are vendors and referrals.
Responsibilities i.
The system should allow approval of vendor and referral with correct credentials. ii. The system should allow registered vendor to issue sales request to any branch. iii. The system should allow branch manager to send GRN to vendor. iv. The system should allow referral to send registration request to a particular branch. v. The system should allow administrator to approve referral request.

Inventory Management Module
This module is the combination of purchasing and sale modules.
Purchasing i.
The system should allow registered referral to purchase crop from NFRA. ii. The system should update NFRA inventory after purchasing. iii. The system should allow customer to search, view registered referral and see their logical storage. iv. The system should allow customer to place an order to the selected referral. v. The system should allow customer to print an invoice. vi. The system should update the logical storage after purchasing. Sales i.
The system should allow vendor to issue sales request to a particular branch manager. ii. The system should allow branch manager to verify the registered vendor sales request. iii. The system should allow updating of inventory after the sales.

Authentication Module
The system should allow registered user to enter otherwise it will reject.

Design
This design was successfully implemented by using object oriented system design and UML graphic representation. With object oriented model dynamic and static behavior of the system were clear identified and hence represented in UML diagrams showing behavior, interaction and structure of the system.
Deployment diagram Deployment diagrams are used to describe the static deployment view of a system. Deployment diagrams consist of nodes and their relationships, these diagrams are used for describing the hardware components, where software components are deployed [15].
Any real-world system is used by different users, these users can be developers, testers, business people, analysts, and many more. Hence, before designing a system, the architecture is made with different perspectives in mind (UML architecture). The architectural design for IPASCS is described using the UML diagrams.
Site map This is the hierarchical visual model of the pages of a Web site. Site maps help users navigate through a Web site that has more than one page by showing the user a diagram of the entire site's contents. Similar to a book's table of contents, the site map makes it easier for a user to find information on a site without having to navigate through the site's many page [15].
The following is the site map of IPASCS, which shows the model of web site.  User interface design User Interface (UI) Design focuses on anticipating what users might need to do and ensuring that the interface has elements that are easy to access, understand, and use to facilitate those actions (user interface, 2017).
Object oriented model UML (Unified Modeling Language) is a standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems. UML was created by the Object Management Group (OMG) and UML 1.0 specification draft was proposed to the OMG in January 1997 [15]. Method for software design is object oriented model under UML, Object oriented model was used due to the following reasons i. It focus on objects ii. It is iterative/incremental iii. It is reused Use case diagram These diagrams are used to model a system, the most important aspect is to capture the dynamic behavior. Dynamic behavior means the behavior of the system when it is running/operating. Use case diagrams are used to gather the requirements of a system including internal and external influences. These requirements are mostly design requirements. Hence, when a system is analyzed to gather its functionalities, use cases are prepared and actors are identified.   Sequence diagram From the term Interaction, it is clear that the diagram is used to describe some type of interactions among the different elements in the model. This interaction is a part of dynamic behavior of the system. Sequence diagram emphasizes on time sequence of messages and collaboration diagram emphasizes on the structural organization of the objects that send and receive messages.  Class diagram is a static diagram. It represents the static view of an application. Class diagram is not only used for visualizing, describing, and documenting different aspects of a system but also for constructing executable code of the software application.
Class diagram describes the attributes and operations of a class and also the constraints imposed on the system. The class diagrams are widely used in the modeling of object-oriented systems because they are the only UML diagrams, which can be mapped directly with object-oriented languages. Class diagram shows a collection of classes, interfaces, associations, collaborations, and constraints. It is also known as a structural diagram.

Implementation and System Testing
For the implementation there are several tasks including creation of database, creation of the interfaces, the extensions/libraries with the interfaces designed and the database connection, it will also include some parts of coding then the final system is produced.

Tool Used for System Development
This section provide brief description of major tools used in developing the IPASCS. This includes front end languages like HTML 5, bootstrapping, back-end-language PHP 5 and database is MySQL. Also extension/libraries used to integrate subsystem on front end are mpdf and php mailer also API used is google graphics API for visualization of data.
Front end Front-end web development, also known as client-side development is the practice of Producing HTML, CSS and JavaScript for a website or Web Application so that a user can see and interact with them directly. The challenge associated with front end Development is that the tools and techniques used to create the front end of a website Change constantly and so the developer needs to constantly be aware of how the field is developing. HTML 5 HTML is front end language which defined as the standard markup language for creating web pages (w3school, 2017), HTML describes the structure of Web pages using markup.
HTML5 i. It can play audio-video files and supports various formats. ii. HTML5 includes interactive documents that functions for embedding graphics. iii. HTML 5 is not a W3C recommendation yet iv. It has initiated Canvas feature that uses JavaScript to draw graphics on a web page and is useful to control pixels. v. One of the characteristics of HTML5 includes its storage methods: local storage and session storage. The data is not passed on by every server request, but used only when asked for. So, this makes it possible to store large amount of data without affecting the website's performance. BOOTSRAPPING 3.6 Bootstrap is a free front-end framework for faster and easier web development, Bootstrap includes HTML and CSS based design templates for typography, forms, buttons, tables, navigation, modals, image carousels and many other, as well as optional JavaScript plugins Bootstrap also gives you the ability to easily create responsive designs.it was developed by Mark Otto and Jacob Thornton at Twitter, and released as an open source product in August 2011 on GitHub [19].
Bootstrapping key advantages i. Easy to use: Anybody with just basic knowledge of HTML and CSS can start using Bootstrap. ii. Responsive features: Bootstrap's responsive CSS adjusts to phones, tablets, and desktops. iii. Mobile-first approach: In Bootstrap 3, mobile-first styles are part of the core framework. iv. Browser compatibility: Bootstrap is compatible with all modern browsers (Chrome, Firefox, Internet Explorer, Safari, and Opera).

Back end
The back-end, or the "server-side", is basically how the site works, updates and changes. This refers to everything the user can't see in the browser, like databases and servers. Server script language used in IPASCS is php.
Php 5.X PHP is a server scripting language, and a powerful tool for making dynamic and interactive Web pages.
PHP is a widely-used, free, and efficient alternative to competitors such as Microsoft's ASP [19].
Features in php 5.6 i. Constant scalar expression. With the release of PHP 5.6, it is possible to provide a scalar expression which includes both numeric and string literals. In previous versions of PHP, it was expected to be a static value of constant function arguments and property declaration. func get args ii. Variadic function via "…". Earlier were using func_get_args () to get all the arguments available in a function call, but with PHP 5.6, this can be removed and can easily get that facility with the... operator. iii. **shorthand. The ** operator has been added for exponentiation.it support for the shorthand operator as easily.

Database MySQL
MySQL is an open source relational database management system (RDBMS) based on Structured Query Language (SQL). MySQL runs on virtually all platforms, including Linux, UNIX, and Windows. Although it can be used in a wide range of applications, MySQL is most often associated with web-based applications and online publishing and is an important component of an open source enterprise stack called LAMP. LAMP is a Web development platform that uses Linux as the operating system, Apache as the Web server, and MySQL as the relational database management system and PHP as the object-oriented scripting language. (Sometimes Perl or Python is used instead of PHP) [ API API is the code that allows two software programs to communicate with each other. The API defines the correct way for a developer to write a program that requests services from an operating system or other application. APIs are implemented by function calls composed of verbs and nouns.
API used in IPASCS is google graphic chart, Google Charts provides a perfect way to visualize data on website by embedding it with simple JavaScript on web page.
Other web technology used Ajax AJAX is a web technology that used to create more interactive applications, it enable update a web page without reloading the page, request data from a server after the page has loaded, receive data from a server after the page has loaded also sending data to a server in the background [19].

System Testing
During system testing, the tem will be able to test the system and check for error, bugs and interoperability. This is the testing of a complete and fully integrated software product, three types of testing methodology that had been used for implementing IPASCS are explained as follows.

Unit Testing
Unit testing had been done on each module as well as block of codes during development of IPASCS.

Integration Testing
This testing had been done by testing of integrated modules to verify combined functionality after integration during development of IPASCS.

System Testing
This had been done to test the whole system as per requirements during development of IPASCS.
The table below shows some of the action tested on IPASCS and their results.

Conclusion
This paper shows how NFRA can improve their daily activities by having the system, also it shows detailed description of the advantages and disadvantages of the system and also presents a detailed comparative study of the similar systems and the similar software that are used to develop IPASCS basing on the business model for NFRA.

Recommendation
Recommendation to NFRA Inventory is the vital part of the supply chain, it's what flows from node to node where by at each node it's critical to figure out that perfect balance of supply and demand, otherwise suffer dire consequences. It should understood if having too little inventory, it will risk lost sales and customers from out of stocks.
Also if having too much inventory, it will need more space, more transportation, more handling, more labor and more money, even after figuring out the correct amount to keep in stock it not yet enough, the organization will still need to execute the proper flow not only about the timely movement of the physical goods from vendor and to the customers, It's also about managing the vast amount of information associated with those goods to keep it moving to the next node even before it gets there by having proper inventory tracking and management.
Application Recommendation i.
To implement the proposed system and integrate it with NFRA database.
ii. Including more management options for different position of the organization. iii. To create mobile application that can access IPASCS. iv. Integrate IPASCS with RFID v. Enhance the messages and alert the system. vi. Integrate the system to other department in NFRA. vii. Enhance the interfaces and make the application more dynamic.