0% found this document useful (0 votes)
45 views113 pages

Dissertation

The dissertation titled 'FlexiOMS' by Shubham Verma presents an order management system (OMS) designed to efficiently execute and manage securities orders. The project, developed under the guidance of Prof. Rekha Gupta and industry mentors, aims to streamline trade order processes for brokers and dealers. The document includes a detailed analysis of the system's functionalities, software requirements, and implementation strategies, along with acknowledgments and a feasibility study.

Uploaded by

princemittal410
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
45 views113 pages

Dissertation

The dissertation titled 'FlexiOMS' by Shubham Verma presents an order management system (OMS) designed to efficiently execute and manage securities orders. The project, developed under the guidance of Prof. Rekha Gupta and industry mentors, aims to streamline trade order processes for brokers and dealers. The document includes a detailed analysis of the system's functionalities, software requirements, and implementation strategies, along with acknowledgments and a feasibility study.

Uploaded by

princemittal410
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 113

DISSERTATION REPORT

ON
FLEXIOMS

Submitted By:
Shubham Verma (04214504418)
(2018-2021)

Under Guidance of
Prof. Rekha Gupta

In Partial Fulfillment of the Requirement for the award of Three Year


Master of Computer Applications Degree

LAL BAHADUR SHASTRI INSTITUTE OF MANAGEMENT


(GURU GOBIND SINGH INDRAPRASTHA UNIVERSITY, DELHI)
2021
LAL BAHADUR SHASTRI INSTITUTE OF
MANAGEMENT, DELHI

CERTIFICATE

This is to certify that the dissertation entitled “FlexiOMS” is being submitted by Shubham Verma,
Enrolment No. 04214504418 for the award of the degree of Master of Computer Applications to the Lal
Bahadur Shastri Institute of Management, Delhi. This project work is carried out by him under my
supervision and guidance. This is to further certify that he is a bonafide student of this institute.

Date: 07/07/2021 (Prof. Rekha Gupta)


Guide
DECLARATION

I, Shubham Verma, hereby declare that the work done in this dissertation being carried out by me under the
supervision of Mr. Praduman Jain (Founder and CEO) and Mr. Manish Puri (Managing Partner and Head
of Technology). and Prof. Rekha Gupta, Lal Bahadur Shastri Institute of Management, Delhi.

Further, I declare that no part of this project has been submitted either in part or full for the award of a
degree of this university or any other university.

Date: 07/07/2021

Shubham Verma

(04214504418)
ACKNOWLEDGEMENT

It is my proud privilege to express my profound gratitude to the entire management of Lal Bahadur Shastri
Institute of Management and teachers of the institute for providing me with the opportunity to avail the
excellent facilities and infrastructure. The knowledge and values inculcated have proved to be of immense
help at the very start of my career.

I would like to thank Flexinovus Solutions Pvt. Ltd. for providing me with an opportunity to pursue my
industrial training, as it is an important part of the MCA course and it is the one that exposes you to the
industry standards and makes you adapt yourself to the latest trends and technologies. At the same time, it
gives an experience of working on a project.

I feel pride and privileged in expressing my deep sense of gratitude to all those who have helped me in
presenting this assignment. I would be failing in my endeavor if I do not place my acknowledgement.

I express my sincere gratitude to Mr. Praduman Jain (Founder and CEO) and Mr. Manish Puri (Managing
Partner and Head of Technology) and Prof. Rekha Gupta for their inspiration, constructive suggestion,
mastermind analysis and affectionate guidance in my work, without which this project work completion
would have been impossible for me. Sincere thanks to all colleagues at Flexinovus Solutions Pvt. Ltd. for
their support and assistance throughout the project.

Shubham Verma
ABSTRACT

An order management system (OMS) is an electronic system developed to execute securities orders in an
efficient and cost-effective manner. Brokers and dealers use order management systems when filling orders
for various types of securities and can track the progress of each order throughout the system. An OMS is
also referred to as a "trade order management system."

An order management system is a software system that facilitates and manages the execution of trade
orders. In the financial markets, an order must be placed in a trading system to execute a buy or sell order
for a security. A trading order typically contains the following information:

 Security identifier (ticker)

 Order type (buy, sell)

 Order size

 Order type

 Order instructions (e.g., day order, fill or kill, good-till-canceled, etc.)

 Order transmission (broker, ECN, ATC, etc.)

The OMS can be used on both the buy-side and sell-side to allow firms to manage the lifecycle of their
trades and automate and streamline investments across their portfolios.
List of Figures
1. Some of our clients ……………………………………………………………………………… 4

2. Layered Development Architecture …………………………………………………………… 39

3. Use Case Diagram ………………………………………………………………………………. 44

4. ER Diagram …………………………………………………………………………………….. 51

5. DFD 0 Level …………………………………………………………………………………….51

6. DFD 1 Level …………………………………………………………………………………….52

7. Login Page Screen Shot …………………………………………………………………………54

8. Home Page Screen Shot ………………………………………………………………………… 55

9. User Administration Screen Shot ………………………………………………………………. 56

10. Create User Screen Shot ………………………………………………………………………... 57

11. User Details Screen Shot ……………………………………………………………………….. 58

12. Entity Master Screen Shot ……………………………………………………………………… 59

13. Create Entity Screen Shot ………………………………………………………………………. 60

14. Entity Details Screen Shot ……………………………………………………………………… 61

15. Inventory Summary Screen Shot ……………………………………………………………… 63

16. Manage Inventory Screen Shot …………………………………………………………………. 64

17. Item Description Screen Shot …………………………………………………………………... 65

18. Tax Slab Screen Shot …………………………………………………………………………… 66

19. Create Tax Slab Screen Shot ……………………………………………………………………. 66

20. Item Category Screen Shot ……………………………………………………………………... 67

21. Create Category Screen Shot …………………………………………………………………… 68

22. Category Detail Screen Shot ……………………………………………………………………. 68

23. Item Type Screen Shot ………………………………………………………………………….. 69

24. Create Item Type Screen Shot ………………………………………………………………….. 70

25. Type Details Screen Shot ……………………………………………………………………….. 70

26. UOM Screen Shot ………………………………………………………………………………. 71

27. Create UOM Screen Shot ……………………………………………………………………….. 72


28. UOM Detail Screen Shot ……………………………………………………………………….. 72

29. Item Master Screen Shot ………………………………………………………………………... 73

30. Create Item Screen Shot ………………………………………………………………………… 74

31. Item Detail Screen Shot ………………………………………………………………………… 74

32. Purchase Register Screen Shot …………………………………………………………………. 76

33. Create Purchase Order Screen Shot …………………………………………………………….. 76

34. Purchase Order Item Screen Shot ………………………………………………………………. 77

35. GRN Screen Shot ……………………………………………………………………………….. 78

36. Create GRN Screen Shot ……………………………………………………………………….. 78

37. GRN Detail Screen Shot ………………………………………………………………………... 79

38. Manage Return Screen Shot ……………………………………………………………………. 80

39. Return Detail Screen Shot ……………………………………………………………………… 81

40. Manage Fulfillment Screen Shot ……………………………………………………………….. 82

41. Shipment Detail Screen Shot …………………………………………………………………… 83

42. Dispatch Summary Screen Shot ………………………………………………………………… 83

43. Record Payment Screen Shot …………………………………………………………………… 84

44. Collection Summary Screen Shot ………………………………………………………………. 85

45. Create Return Screen Shot ……………………………………………………………………… 86

46. Manage Orders (B2B) Screen Shot ……………………………………………………………... 86

47. Create Order Screen Shot ……………………………………………………………………….. 89

48. Order Item Screen Shot …………………………………………………………………………. 90

49. Release (Create Shipment) Screen Shot ………………………………………………………... 90

50. Shipments Screen Shot …………………………………………………………………………. 91

51. Payment Collection Screen Shot ……………………………………………………………….. 91

52. Returns Screen Shot ……………………………………………………………………………. 92

53. Today’s Summary Dash Board Screen Shot …………………………………………………… 93

54. Order Statistics Dash Board Screen Shot ………………………………………………………. 93

55. Shipment Statistics Dash Board Screen Shot ……………………………………………………94

56. Inventory Statistics Dash Board Screen Shot …………………………………………………... 94


LIST OF TABLES
1. List of Abbreviations ………………………………………………………………………….. 11

2. Address Master ………………………………………………………………………………… 22

3. Bank Details ……………………………………………………………………………………. 23

4. Entity Master …………………………………………………………………………………… 23

5. Collection Details ……………………………………………………………………………… 24

6. GRN Header …………………………………………………………………………………… 24

7. GRN Details …………………………………………………………………………………… 24

8. Inventory Summary ……………………………………………………………………………. 25

9. Item Master ……………………………………………………………………………………. .25

10. Item Category ………………………………………………………………………………….. 26

11. Item Type ………………………………………………………………………………………. 27

12. Order Header ………………………………………………………………………………….... 27

13. Order Details …………………………………………………………………………………… 28

14. Purchase Header ……………………………………………………………………………….. 28

15. Purchase Details ……………………………………………………………………………….., 29

16. Return Header ………………………………………………………………………………….. 29

17. Return Details ………………………………………………………………………………….. 30

18. Shipment Header ……………………………………………………………………………….. 31

19. Shipment Details ……………………………………………………………………………….. 32

20. Tax Class ……………………………………………………………………………………….. 32

21. UOM …………………………………………………………………………………………… 32

22. Users …………………………………………………………………………………………… 33

23. Use Case Description Login/Logout …………………………………………………………… 45

24. Use Case Description Forgot Password ………………………………………………………... 45

25. Use Case Description User Administration ……………………………………………………. 46

26. Use Case Description Entity Master …………………………………………………………… 46

27. Use Case Description Item Master …………………………………………………………….. 47


28. Use Case Description Inventory Summary ……………………………………………………. 48

29. Use Case Description Manage Order ………………………………………………………….. 48

30. Use Case Description Manage Fulfillment ……………………………………………………. 49

31. Use Case Description Manage Returns ………………………………………………………... 49

32. Use Case Description Purchase Register ………………………………………………………. 50


CONTENTS

I. About Flexinovus ……………………………………………………………………………1

1. About the Company ……………………………………………………………………..2

2. Some of our Clients …………………………………………………………………….4

3. Training at Flexinovus ………………………………………………………………….5

II. Project Description & Objectives …………………………………………………………..6

1. Problem Statement ……………………………………………………………………...7

2. Background ……………………………………………………………………………..7

3. Objective ………………………………………………………………………………..7

4. Functionalities……………………………………………………………………………7

5. Goals …………………………...………………………………………………………..8

III. Software Requirements & Specifications …………………………………………………..9

1. Introduction ……………………………………………………………………………10

1.1 Purpose ……………………………………………………………………………10

1.2 Scope of Project ………..…………………………………………………………10

1.3 Definitions, Acronyms and Abbreviations ………………………………………..11

1.4 References ..………………………………………………………………………..12

1.5 Overview ………………………………………………………………………… 12

2. Overall Description …………………………………………………………………….12

2.1 Product Perspective ……………………………………………………………… 12

2.2 Product Functions …………………………………………………………………15

2.3 User Classes and Characteristics ………………………………………………….17

2.4 Constraints ……………………………………………………………………….. 18

2.5 Assumptions and Dependencies ………………………………………...………….18


2.6 Apportioning of Requirements ……………………………………………….. …. 18

3. Specific Requirements ………………………………………………………………… 18

3.1 External Interfaces ………………………...………………………………….. …. 18

3.2 Functions ………………………………………………………………………… 19

3.3 Performance Requirements ……………………………………………………… 22

3.4 Design Constraints ……………………………………………………………….. 22

3.5 Logical Database Requirements …………………………………………………..22

3.6 Software System Attributes ……………………………………………………….33

IV. Technology Used ………………………………………………………………………….. 35

1. MySQL …………………………………………………………………………………36

2. React JS ………………………………………………………………………………...36

3. Adobe XD ………………………………………………………………………………37

4. Spring Boot …………………………………………………………………………..…37

5. Axios ……………………………………………………………………………………37

6. Tomcat ………………………………………………………………………………….38

7. Hibernate ……………………………………………………………………………….38

8. Layered Development Architecture ………………………………………………….…39

V. Feasibility Study …………………………………………………………………………...40

1. Introduction ……………………………………………………………...…………….. 41

2. Economic Feasibility ………………………………………………………………….. 41

3. Technical Feasibility ……………………………………………………………….….. 41

4. Legal Feasibility ………………………………………………………………….. ……42

5. Operational Feasibility ………………………………………………………………….42

VI. Design of System ……………………………………………………………………….….43

1. Use Case Diagram ………………………………………………………………….…..44

2. Use Case Description ………………………………………………………………..….45


3. Entity Relationship Diagram …………………………………………………………….51

4. Data Flow Diagrams (DFDs) ……………………………………………………...……51

4.1 Context Analysis or Level-0 DFD …………………………………………...…….51

4.2 Level-1 DFD ……………………………………………………………...………..52

5. Logical Database Design …………………………………………………………...….. 52

VII. Screenshots & Functionalities ………………………………………………………….…..53

1. Graphical User Interface ……………………………………………………………….54

VIII. Implementation, Testing & Analysis ………………………………………………………95

1. Implementation …………………………………………………………………………96

2. Testing ……………………………………………………………………….………….96

2.1 Testing Objectives ……………………………………………………….…………96

2.2 Different types of testing …………………………………………………………...96

2.3 Test data and test cases ……………………………………………………………..97

2.4 Test Plan ……………………………………………………………………………97

2.5 Test Cases for the project …………………………………………………………..97

2.6 Test Reports and debugging ………………………………………………………..97

IX. Conclusion ……………………………………………………………………………….…98

X. References ………………………………………………………………………………... 100


I.

ABOUT FLEXINOVUS

1
1. ABOUT THE COMPANY

“One cannot alter a condition with the same mindset that created it in the first place” – Albert Einstein.

As, the world is rapidly changing and so are the solutions to imbibe the changes around businesses,
technologies and processes. This has led organizations to rapidly adapt and move to digital
technologies. Flexinovus Solutions, has a vision to approach every business problem in a 360°
manner and build digital solutions in a flexible and innovative manner that will help our clients to scale
and innovate. We are looking to work with our clients, partners and associates with intuitive and
actionable principles that will provide a unique recipe for organizations to consistently drive radical
innovation.

Flexinovus provides services to their clients in different areas

 Domain Solutions

o Omni Channel Order Management

o Delivery Fulfillment Strategies

o Inventory Visibility and optimization techniques

o Warehouse Management

o Logistics, and

o Discrete Manufacturing.

 Product Implementation

o Agile Product Management

o Program Management

o Expertise in IBM Sterling OMS

o Product Development

o Integrations and Testing Services

o Performance Management

 Product Support

o Product Upgrades

o Product Enhancement

o Support and Maintenance

o DevOps

2
Flexinovus Solutions has partnerships with Nextuple Inc., which is a leading Omni Channel
fulfillment SaaS and services provider based out of the United States. Flexinovus and Nextuple have
entered into a strategic partnership under which flexinovus will provide systems integration and
support services to Nextuple clients. Along with Nextuple, other partners includes CloudInnov8,
which is a Multi Cloud- Managed Services Provider i.e. for AWS, Azure, Google, Softlayer & Alibaba.
We have partnered with them to provide all Infra, Devops and Cloud related services.

3
2. Some of our Clients

Flexinovus specializes in high-quality OMS projects for various corporations. Some of our clients
include VeganBasics, Orient Links Co. (L.L.C), and P.M.C. Packaging Products.

Fig. No. 1 Some of our clients

4
3. TRAINING

Flexinovus works on varied technologies and hence provides students with training along with
job offers on different technological platforms. I have been chosen to be trained on React JS and
Spring Boot. All the trainees on React JS and Spring Boot are given specifications for developing
an Order Management System Application which is named as FlexiOMS.

Each trainee at Flexinovus had to implement a series of tasks to get hands on with the
technological platform he is trained on. These tasks proved to be really challenging and demands
great effort from my side. Each assignment is thoroughly reviewed by my mentors (a senior
person working at the company), in my case it was Mr. Praduman Jain & Manish Puri. They
reviewed and approved all my tasks. After the tasks comes the big real life scenario project, in
my case it was FlexiOMS. It was developed by me and my collegues and reviewed and approved
by my mentors. I will be presenting this report on the same project developed by me in last few
months named as FlexiOMS.

5
II.

PROJECT DESCRIPTION
& OBJECTIVE

6
1. Problem Statement

Currently there are no simple systems for MSMEs to operate their supply chain. There is a lack
of right suitable products to tackle the time constraints and manual workforce for MSMEs
Generally, in Order Management all these processes are manual and are slow and complicated
in nature. Thus, require a lot of time to be completed and still might lead to undesirable results.
In addition to this, large amount of paperwork is also required.

2. Background

This project is aimed at providing an efficient and user-friendly application to the people who
works in Order Management Industry so that their work load can be reduced by providing them
an OMS application. The solution with which we came up is to provide an OMS application
website to use rather than using traditional pen and paper method which results in very tedious
working environment. The user can easily access the application at any time according to his
convenience. We provide easier way to book orders, create item(s), and manage inventory and
many more features.

3. Objective of the project

The objective of this project is to create an application which is simple and easy to use and
practically includes all the basic features which comes under daily Order Management System’s
work such as B2B and B2C Order Creation, Order Orchestration, Fulfillment Management,
Return Management, Catalog Management and Inventory Visibility, Purchase Management, User
Management, Entity Management and Payment Reconciliation.

4. Functionality

This application has following modules and their respective functionalities are:

 User Administration: User creation, specifying role(s) for user (admin, sales manager,
order manager, purchase manager, fulfillment manager), edit user details, download user
list

7
 Entity Master: Entity creation, specifying type of the entity (Client, Vendor, Logistic
Partner, Node, Destination), edit entity details, download entity list.

 Inventory Summary: Manage Inventory, Item description, Real time stock availability
of on hand quantity, reserved quantity, available to promise, bad inventory.

 Item Master:

 Item Master Setup: Create Tax Slab, Item Category, Item Type, and Unit of
Measures.

 Manage Item: Create Item, download item list, Edit item Details.

 Purchase Register: Create Purchase Order, Approve the order, Create GRN.

 Manage Returns: Get Details Returns for sales order, update the return order and receive
return.

 Manage Fulfillment: Dispatch Shipments, record payment, cancel shipment, create


return.

 Manage Order: create order, create draft order, edit draft order, cancel draft order, create
shipment, download invoice for shipment, payment collection summary for order,
download return invoices.

 Dashboard: contains today’s summary, order statistics, shipment statistics, inventory


statistics.

5. Goals of the project

 It can support multiple Hubs, Enterprises, Distribution centers, Nodes, and Vendors.

 Has two different types of order creation B2B and B2C with their respective
functionalities.

 Users with different roles has different accounts having only those functionalities which
are required with their roles.

 The data can be shown in the form of tables and charts for simplification.

8
III.
SOFTWARE REQUIREMENT
& SPECIFICATION

9
1. Introduction

This document aims at defining the overall software requirements for ‘FlexiOMS’. Efforts have been
made to define the requirements exhaustively and accurately. The final product will be having only
features/functionalities mentioned in this document and assumptions for any additional
functionality/feature should not be made by any of the parties involved in
developing/testing/implementing/using this product. In case it is required to have some additional
features, a formal change request will need to be raised and subsequently a new release of this document
and/or product will be produced.

1.1. Purpose

The purpose of this document is to present a detailed description of the Easy Camping System. It
will explain the purpose and features of the system, the interfaces of the system, what the system
will do, the constraints under which it must operate and how the system will react to external
stimuli. The final product will be having only features/functionalities mentioned in this document
and assumptions for any additional functionality/feature should not be made by any of the parties
involved in developing/testing/implementing/using this product This document is intended for
both the stakeholders and the developers of the system and will be used for further development
of the software as legal agreement

1.2. Scope of project

With the upgrading technologies, the time demands to digitze and automate MSMEs' Supply chain
activities, hence giving birth to FlexiOMS.

FlexiOMS is an Order Management System which provides an end-to-end integrated supply chain
solutions for business enterprises (B2B & B2C), with in-depth visibility on orders, inventory and
shipments. This system is designed to provide an effective and user-friendly solution to the wide
range of users which mainly targets MSMEs. It has SaaS based, cloud based, and on premises
functionalities that makes it easy to access and work with. It has seven different types of users:

 Super Admin: Has the rights to Create Enterprise, create users for enterprises.

 Admin: Has the rights to create users, entities, items, orders, shipments, purchase and
manage all other modules.

 User: Has the rights to view Inventory Summary.

10
 Sales Manager: Has the rights to create orders, do item master setup, view inventory
Summary, and manage returns, View Dashboard.

 Purchase Manager: Has the rights to manage Purchase Register, view and manage
inventory.

 Order Manager: Has the rights to create orders, do item master setup, view and manage
inventory, manage returns, manage entity.

 Fulfillment Manager: Manage Shipments for fulfillments, and manage entities.

1.3. Definitions, Acronyms and Abbreviations

Users: There are seven types of users: Super Admin, Admin, User, Sales Manager, Purchase
Manager, Order Manager, Fulfillment Manager.

Stakeholders: Administrator, Customer, Developer, and the intended company for which the easy
camping application is developed have some sort of stake in this web-application software.

Admin: The person responsible for managing a particular enterprise in OMS Application. In our
case he/she is the head or an appointee in the admin department or IT department of a company.

Developer: The person who build the software. In FlexiOMS, developer is the
company/organization/person who had developed the system.

Abbreviation Meaning
UI User Interface
URL Uniform Resource Locator
UOM Unit of Measure
OMS Order Management System
GRN Goods Received Note
PO Purchase Order
SO Sales Order
ATP Available to promise
SaaS Software as a Service
MSME Micro Small Medium Enterprise
AOV Average Order Value
B2B Business to Business

11
B2C Business to Customer
MVC Model View Controller
Table No. 1 List of Abbreviations

1.4. References
 reactjs.org/docs

 Development with Spring Boot 2 and React, 2nd Edition by Juha Hinkula.

 www.shopify.in/enterprise/order-management-system-oms

 www.webopedia.com/TERM/E/electronic_commerce

1.5. Overview
FlexiOMS is a web- based application which provides an easy and user- friendly platform for
customers to let them manage their everyday supply chain activities effectively and efficiently.
Customers have the flexibility to create their own entities, do a whole item setup with the option
to create various UOMs, tax slabs, item categories and item types. They can manage their orders,
returns, purchases, inventory and view payment reconciliation information, all in one single
application. They can also view dashboard information to understand the statistics of their business
in a better way.

2. Overall Description

2.1. Product Perspective

FlexiOMS provides an end-to-end integrated supply chain solutions for business enterprises (B2B
& B2C), with in-depth visibility on orders, inventory and shipments and returns. It is a tool that
helps control the process between a customer placing an order and the product going out for
delivery. It helps control costs and generate revenue by automating manual processes and reducing
errors.

It tracks sales, stock and fulfilment as well as ensuring all processes and people in-between are
kept informed and up-to-date. This OMS can be used on both the buy-side and sell-side to allow
firms to manage the lifecycle of their trades.

When an order is executed on the sell-side, the sell-side OMS updates its state and sends an
execution report to the order's originating firm. It also allows firms to access information on orders
entered into the system, including details on all open orders, and previously completed orders.

12
One of the top benefits of this OMS is the enhanced inventory oversight that is provided. With this
software in place, supervisors can be sure that orders are filled correctly and shipped within the
proper timeframe.

It provides real-time updates on the status of all inventory and current orders. In this way, managers
have the most up-to-date information on hand and can pass this data on to the company’s
customers.

It also includes a dashboard to represent all the summaries and statistics relating to the orders,
inventory and shipments. Provide better customer service and an enhanced overall experience for
consumers.

2.1.1. System Interface


None

2.1.2. User Interfaces


The application will have a user-friendly and menu/links based interface. Following pages will be
provided to perform different tasks:

 A login page where user of the application will have to enter his/her credentials to gain
access to the dashboard and in turn the other pages of the application. This page will be the
first page of the website.

 A default page or homepage that contain a menu and links to all other pages of the
application. It by default displays an innovative landing page with a sidebar menu and a
pointer to select any preferred menu item to access that particular module.

 A User Administration page where the list of all users of that particular enterprise is present.
It also has a link to create a new user or to edit a particular user from the user list.

 An Entity Master page where the list of all entities like Client, Destination, Vendor, Node
and Logistics Partner of that particular enterprise is visible. It also has a link to create a
new entity of any of the above mentioned types) or to edit a particular entity from the entity
list.

 An Item Master Setup page where another menu is available wherein one can select to
create an item category, item type, UOMs, Tax Slabs and an item. The list of all existing
item categories, item types, tax slabs, UOMs and items is available and a link to edit any
of them is available too.

 Inventory Summary page where we can see a snapshot or summary of the current inventory.
It includes, On hand quantity, reserved, ATP, Dirty inventory etc at all the nodes of the

13
enterprise. It also has a link to adjust the inventory of a particular item at a particular node
by either adjusting it or by transferring it from one node to another.

 Manage Orders Page where all the orders of the enterprise are listed. The link to create a
new order is also available. It further has a menu to release and create shipments to fulfil
the current orders. Also we can record payments which are received against the orders.

 Manage Fulfilment page where all the current shipments of the enterprise are listed. It has
a link to dispatch or cancel the existing shipments.

 Manage Returns page where we can create returns for a particular shipment. Multiple
returns can be created against a single shipment.

 Purchase Register page where all purchases whether created or closed, are listed. A link to
create a purchase is also available. It also has a link to create a GRN against a particular
PO. Multiple GRNs can be created for a particular PO.

 Dashboard page where the statistics of the enterprise can be seen in the form of tables and
graphs. The statistics are related to the summary or the current day along with orders,
inventory and shipments and returns.

2.1.3. Hardware Interfaces


 Operating System: Windows 10 (for development)

 Processor: Pentium IV or higher.

 RAM: 256 MB or more.

 Hard Drive: 2 GB or more (Application is deployed on a server)

2.1.4. Software Interfaces


 Operating system that support latest browser and ide’s.

 Latest browser like Chrome, Mozilla.

2.1.5. Communications Interfaces


None

2.1.6. Memory Constraints


14
 Hard Disk Space: 2 GB or more (Application is deployed on a server).

 RAM: 256 MB or more.

2.1.7. Operations
None

2.1.8. Project Adaptation Requirements


The work-station will have to support the hardware and software interface specified in above

Sections.

2.2. Product Functions

Login/Logout: The user will be providing the information as email and password, if the details
are correct and the account is activated, the user will be allowed to login and Login to the
application as needed. But if the details are invalid, then the user will not be allowed to proceed.

Create User: This helps to create different users under the same enterprise so that multiple users
can login into the system and access the authorized modules.

 Create/update a user.

 Enter details of a user and assign him/her one or more roles.

 The roles to choose from are:

1. Admin

2. User

3. Purchase Manager

4. Order Manager

5. Sales Manager

6. Fulfillment Manager

15
Entity Master: This helps to create different enterprises we will be working within the hub
enterprise. We have the following functionalities:

 Create/update Entity
1. Vendor: one who has the items and delivers the items to our enterprise for creating
orders
2. Client: for whom the orders are made, but has additional field: Payment term(how
or when to expect to receive the payment). Destination can be added just after
creating a client from the same client
3. Logistics Partner: one who is responsible for delivering the orders from nodes to
clients or vice versa.
4. Node: represents a physical location. A Node organization is able to see orders
for which its parent organization is the buyer, seller, enterprise, ship node, or
receiving node.
5. Destination: Can be added for a particular client to enter the location details other
than the headquarters where the enterprise is.
Item Master Setup: This is where our items are created and all the information about them is
stored along with stock quantity and other details. Its functionalities are:

 Create/update tax slabs

 Create/update item category

 Create/update item type

 Create/update unit of measure(has different types like weight, size, price, colour, etc)

 Create/update item
Purchase Register: This where we get out stock updated from, i.e. purchases for the enterprise
that are to send to different nodes and distribution center get the units from placing purchase
orders.

 Create purchase orders by entering relevant details and selecting items to create
purchase for.

 Create GRNs for purchase orders.


Manage Order: All the orders placed for B2B or B2C purposes are managed under this module.
Its functionalities are:

 Create Order- Order Id, B2C/B2B, Order Details

 Sales person is selected

 Select the transporter

 client address and destination address

16
 Select items with quantities

 Place order
Manage Fulfillment: Once the order are placed using the manage order module, the next step is
to dispatch them from the warehouses, nodes or distribution centers to the delivery location. For
this purpose we use the manage fulfillment module that helps to them dispatch them. It has the
following functionalities:

 Shipment details, Record collection

 Dispatch shipment

 Invoice/summary generation

 Once the shipment is dispatch we can create returns


Manage Returns: Once shipments are dispatched, we can create returns for them. A single
shipment can have multiple returns.

 Create/ update return

 Create a return by choosing particular shipment and its items to create a return for.
Also the amount refunded for that return can be recorded and a return invoice can be
generated.

2.3. User classes and characteristics


There are various kinds of users for the product. Usually web products are visited by various users
for different reasons. The users include:

 Developer: This is not a user of the system in particular is developer of the system who uses
system to check whether the system developed is correct or not.

 Super Admin: The Task of super admin is to Create Enterprise, create users for enterprises.

 Admin: The task of Admin is to create users, entities, items, orders, shipments, purchase and
manage all other modules.

 User: The task of user is to view Inventory Summary.

 Sales Manager: The Task of sales manager is to create orders, do item master setup, view
inventory Summary, and manage returns, View Dashboard.

 Purchase Manager: The task of purchase manager is to manage Purchase Register, view and
manage inventory.

 Order Manager: The task of order manager is to create orders, do item master setup, view
and manage inventory, manage returns, manage entity.

 Fulfillment Manager: The task of fulfilment manager is to Manage Shipments for fulfillment,
and manage entities.

17
 Customer: The task of these type of user include only doing the work specific to their own
needs and have no authority over other users of the system

2.4. Constraints
Users at company will have to implement a security policy to safeguard the status information
from being modified by unauthorized users (by means of gaining access to the backend database).

2.5. Assumptions and dependencies


 The Version 1 of this application contains all the basic features that an order management
System must have. The MSMEs as targeted users of this application will have all the features
they will mostly require.

 The product needs no third-party product pre-installed on the workstation. But do requires a
standard browser like Chrome, firefox, etc that can effectively handle the web UI of the
application.

2.6. Apportioning of Requirements


Not required.

3. Specific Requirements
This section contains the software requirements to a level of detail sufficient to enable designers to
design the system, and testers to test that system.

3.1. External Interfaces


Since the application is a SaaS-based application and it caters to every MSMEs, the UI is kept
utmost basic so that it is easy to be followed by all users of the application. The application will
have a user-friendly and menu/links based interface. Following pages will be provided to perform
different tasks.

 A landing page will be the first page that will be displayed when you type flexiOMS’sURL
on the address bar. The page will display all the information about the OMS product and also
clients using this product.

 A login page where user of the application will have to enter his/her credentials to gain
access to the dashboard and in turn the other pages of the application.

 A default page/homepage that contain a menu and links to all other pages of the application.
It by default displays an innovative Welcome page with a sidebar menu and a pointer to
select any preferred menu item to access that particular module.

18
 A User Administration page where the list of all users of that particular enterprise is
present. It also has a link to create a new user or to edit a particular user from the user list.

 An Entity Master page where the list of all entities like Client, Destination, Vendor, Node
and Logistics Partner of that particular enterprise is visible. It also has a link to create a new
entity of any of the above mentioned types) or to edit a particular entity from the entity list.

 An Item Master Setup page where another menu is available wherein one can select to
create an item category, item type, UOMs, Tax Slabs and an item. The list of all existing
item categories, item types, tax slabs, UOMs and items is available and a link to edit any of
them is available too.

 Inventory Summary page where we can see a snapshot or summary of the current
inventory. It includes, on hand quantity, reserved, ATP, Dirty inventory etc., at all the nodes
of the enterprise. It also has a link to adjust the inventory of a particular item at a particular
node by either adjusting it or by transferring it from one node to another.

 Manage Orders page where all the orders of the enterprise are listed. The link to create a
new order is also available. It further has a menu to release and create shipments to fulfil the
current orders. Also we can record payments which are received against the orders.

 Manage Fulfilment page where all the current shipments of the enterprise are listed. It has
a link to dispatch or cancel the existing shipments.

 Manage Returns page where we can create returns for a particular shipment. Multiple
returns can be created against a single shipment.

 Purchase Register page where all purchases whether created or closed, are listed. A link to
create a purchase is also available. It also has a link to create a GRN against a particular PO.
Multiple GRNs can be created for a particular PO.

 Dashboard page where the statistics of the enterprise can be seen in the form of tables and
graphs. The statistics are related to the summary or the current day along with orders,
inventory and shipments and returns.

3.2. Functions
 A landing page will be the first page that will be displayed when you type flexiOMS’s URL on
the address bar. The page will display all the information about the OMS product and also clients
using this product.

 Validation : None

 A login page where user of the application will have to enter his/her credentials to gain access
to the dashboard and in turn the other pages of the application.

 Validation: No fields can be left empty and user should be authenticated.

19
 A default page/homepage that contain a menu and links to all other pages of the application. It
by default displays an innovative Welcome page with a sidebar menu and a pointer to select any
preferred menu item to access that particular module.

 Validation : None

 A User Administration page where the list of all users of that particular enterprise is present.
It also has a link to create a new user or to edit a particular user from the user list.

 Validation :
 Required fields can not be empty.
 There should be no account saved in user table with the same email id.
 Password must be of at least 6 characters with one special character.

 An Entity Master page where the list of all entities like Client, Destination, Vendor, Node and
Logistics Partner of that particular enterprise is visible. It also has a link to create a new entity
of any of the above mentioned types or to edit a particular entity from the entity list.

 Validation :
 Required fields can not be empty.
 Destination should be associated with a client.

 An Item Master Setup page where another menu is available wherein one can select to create
an item category, item type, UOMs, Tax Slabs and an item. The list of all existing item
categories, item types, tax slabs, UOMs and items is available and a link to edit any of them is
available too.

 Validation :
 Required fields can not be empty.
 Item categories should be defined before creating item.
 Tax slabs should be defined before creating categories.
 UOMs should be defined before creating item.
 Item types should be created before creating items.

 Inventory Summary page where we can see a snapshot or summary of the current inventory. It
includes, on hand quantity, reserved, ATP, Dirty inventory etc., at all the nodes of the enterprise.
It also has a link to adjust the inventory of a particular item at a particular node by either adjusting
it or by transferring it from one node to another.

20
 Validation :None

 Manage Orders page where all the orders of the enterprise are listed. The link to create a new
order is also available. It further has a menu to release and create shipments to fulfil the current
orders. Also we can record payments which are received against the orders.

 Validation :
 Required fields can not be empty.
 Bill to and Ship to address should be mentioned.
 Items should be added while creating orders.

 Manage Fulfilment page where all the current shipments of the enterprise are listed. It has a
link to dispatch or cancel the existing shipments.

 Validation :
 Mentioning Logistic Partner is important while dispatching the shipment.

 Manage Returns page where we can create returns for a particular shipment. Multiple returns
can be created against a single shipment.

 Validation :
 Mentioning the item and quantity of that item is required.
 Selecting node on which the item will be returned is required.

 Purchase Register page where all purchases whether created or closed, are listed. A link to
create a purchase is also available. It also has a link to create a GRN against a particular PO.
Multiple GRNs can be created for a particular PO.

 Validation :
 Required fields can not be empty.
 Items and primary vendor should be added while creating purchase orders.
 A P.O. must be approved for creating it’s GRN.

 Dashboard page where the statistics of the enterprise can be seen in the form of tables and
graphs. The statistics are related to the summary or the current day along with orders, inventory
and shipments and returns.

21
 Validation : None

3.3. Performance Requirements


FlexiOMS application must be able to efficiently handle the above stated functional requirements
for size of 1000 customers.

3.4. Design Constraints


The application must have all the pages accessed from the homepage itself through its links and
menu. The sub menus can be accessed by selecting a particular main menu item before handedly.

3.5. Logical Database Requirements


The following data will be placed in the database named FlexiOMS under the name of following tables:

 Address Master

address_id Bigint(20) Primary Key. Unique Department ID.

addressline1 Varchar (255) First Line of Address

addressline2 Varchar (255) Second Line of Address

country Varchar (255) Name of Country for user/entity

state Varchar (255) Name of State for user/entity

city Varchar (255) Name of City for user/entity

pincode Varchar (255) Pincode for user/entity

Table No. 2 Address Master

 Bank Detail

bank_id Bigint(20) Primary Key. Unique Department ID.

bankname Varchar (255) Name of the Bank

22
branch Varchar (255) Name of branch

ifsc Varchar (255) Ifsc code for the bank and branch

contact_no Varchar (255) Contact Number of the Bank

account_no Varchar (255) Account number for the entity’s account

acc_holder_name Varchar (255) Name of account holder

Table No. 3 Bank Details

 Entity Master

entity_id bigint(20) Primary Key. Unique Department ID.

entityname Varchar (255) Name of entity.

type Varchar (255) Type of entity.


(Client, Destination, Vendor, Node, Logistic partners)

personcontact Varchar (255) Person to contact in the entity.

email Varchar (255) Email of entity.

gstin Varchar (255) GSTIN of entity.

phonenum Varchar (255) Phone number of entity.

mobilenum Varchar (255) Alternate number of entity.

cin Varchar (255) Corporate Identification Number of entity.

logo Varchar (255) Logo of entity.

payment_term Varchar (255) No. of for expected payment on a sale if the entity is Client.

transporter_rate Varchar (255) Charges for transportation if the entity is a Logistic partner.

entityidname Varchar (255) Unique entity id for the entity name.

active Varchar (255) Active field for the entity.

Table No. 4 Entity Master

 Collection Details

23
transactionid Bigint(20) Primary Key. Unique Department ID.

shipmentNumber Varchar (255) Number generated for the shipment.

orderNumber Varchar (255) Number generated for the order.

invoiceNumber Varchar (255) Number generated for the shipment’s invoice.

documentType Varchar (255) To identify the type of document.

transactionDate DateTime(6) Date when transaction took place.

amountCollected Bigint(20) Total Amount collected till date.

amountPaid Bigint(20) Current Amount Paid

amountRefunded Bigint(20) Total Amount Refunded

Table No. 5 Collection Details

 GRN Header

grnid Bigint(20) Primary Key. Unique Department ID.

grnNumber Varchar (255) Number generated for Grn.

status Varchar (255) Current Status of grn.

createdOn DateTime(6) Date grn is created on.

vendorInv Varchar (255) Inventory at vendor.

createdBy Varchar (255) Name of user that created grn.

vendorInvDate DateTime(6) Date for vendor inventory.

remarks Varchar (255) Remarks for special instructions, if any.

Table No. 6 GRN Header

 GRN Detail

grndetailid Bigint(20) Primary Key. Unique Department ID.

receive Bigint(20) Quantity Received.

pending Bigint(20) Quantity pending.

rejected Bigint(20) Quantity rejected.

24
purqty Bigint(20) Quantity purchased.

Table No. 7 GRN Details

 Inventory Summary

isid Bigint(20) Primary Key. Unique Department ID.

adjustment Bigint(20) Quantity adjusted.

reserved Bigint(20) Quantity reserved.

sold Bigint(20) Quantity sold.

returned Bigint(20) Quantity returned.

transfered Bigint(20) Quantity transferred from node to another node.

added Bigint(20) Quantity added from another node to node.

netquantity Bigint(20) Available to Promise quantity.

total Bigint(20) In hand quantity

date DateTime(6) Timestamp for inventory when created.

updated DateTime(6) Timestamp for inventory when updated.

badinventory Bigint(20) Quantity for faulty inventory

Table No. 8 Inventory Summary

 Item Master

itemidpk Bigint(20) Primary Key. Unique Department ID.

itemid Varchar Unique id for item.


(255)

itemdesc Varchar Unique name for item with other details, if any.
(255)

global_item_id Varchar Global item id for the item.


(255)

active Char(1) Active field for the item

25
gsm Varchar Grams per square meter.
(255)

isbn Varchar International Standard Book Number (ISBN)for monograph


(255) publications.

upc Varchar Universal Product Code for tracking trade items in stores.
(255)

purchase_price Varchar Price at which item is purchased.


(255)

hsn Varchar Harmonized System of Nomenclature for the systematic classification


(255) of goods all over the world.

remarks Varchar Remarks for special instructions, if any.


(255)

size Varchar Size of item.


(255)

weight Varchar Weight of item.


(255)

unit_price Varchar Selling price for item.


(255)

defaultstock Bigint(20) Default safety stock for item.

defaultmsl Bigint(20) Default msl for item.

Table No. 9 Item Master

 Item Category

itemcategoryid Bigint(20) Primary Key. Unique Department ID.

icname Varchar (255) Name of Category

ic_code Varchar (255) Code for Category

icDesc Varchar (255) Description of the category

Table No. 10 Item Category

 Item Type

26
itemtypeid Bigint(20) Primary Key. Unique Department ID.

itname Varchar (255) Name of the type.

it_desc Varchar (255) Description of the type.

Table No. 11 Item Type

 Order header

orderid Bigint(20) Primary Key. Unique Department ID.

orderNumber Varchar (255) Number generated for the order.

channel Varchar (255) Channel for the order.

remarks Varchar (255) Remarks for special instructions, if any.

poNumber Bigint(20) Purchase Order Number.

orderDate DateTime(6) Date when order is created.

paymentTerm Varchar (255) No. of days for the payment to be paid by the client.

paymentMode Bigint(20) Mode of payment.

tcsPercentage Bigint(20) Tax Collection at Source

totaldiscount Varchar (255) Discount on the order.

totalgst Varchar (255) Gst on the order.

ordervalue Varchar (255) Total amount of the order.

isB2c Char(1) Flag for orders that are B2C.

salesperson Varchar (255) User that placed the order for the client.

customOrdernum Char(1) In case of a custom generated order number.

status Varchar (255) Status of the order.

cancelDate DateTime(6) Date of cancellation of order.

discountflag Char(1) Flag for discount value to be stored in rupees or percentage.

Table No. 12 Order Header

27
 Order Detail

orderDetailId Bigint(20) Primary Key. Unique Department ID.

numberOfPacking Varchar (255) Number of packaging used.

methodOfPacking Varchar (255) Method of packaging used.

quantity Bigint(20) Quantity Ordered

weight Bigint(20) Weight of the order line.

rate Bigint(20) Price of the order line.

discount Varchar (255) Discount of the order line.

gst Varchar (255) Gst of the order line.

cartage Bigint(20) Shipping charges of the order line.

status Varchar (255) Status of the order line.

total Varchar (255) Total amount of the order line.

released Bigint(20) Quantity released in shipment.

dispatched Bigint(20) Quantity dispatched in shipment.

Table No. 13 Order Detail

 Purchase Header

purchaseid Bigint(20) Primary Key. Unique Department ID.

purchaseNumber Varchar (255) Number generated for the order.

customPurchasenum Char(1) In case of a custom generated order number.

type Varchar (255) Type for the purchase.

agreement Varchar (255) Agreement for the purchase order.

enterprise Varchar (255) Enterprise for the purchase.

status Varchar (255) Status of the order.

28
purqty Bigint(20) Quantity purchased.

receive Bigint(20) Quantity received.

pending Bigint(20) Quantity pending.

createdDate DateTime(6) Date of creation.

updatedAt DateTime(6) Date when last updated.

deliveryDate DateTime(6) Date when order is delivered.

expiryDate DateTime(6) Last date before which order has to be completed.

active Char(1) Active field for the purchase order.

Table No. 14 Purchase Header

 Purchase Detail

purchasedetailid Bigint(20) Primary Key. Unique Department ID.

purprice Bigint(20) Price for the purchase order.

purqty Bigint(20) Quantity purchased.

receive Bigint(20) Quantity received.

pending Bigint(20) Quantity pending.

rejected Bigint(20) Quantity rejected.

shipcharges Bigint(20) Price for shipping.

discount Bigint(20) Discount for the order line.

gst Varchar (255) Gst for the order line.

status Varchar (255) Status for the order line.

Table No. 15 Purchase Detail

 Return Header

returnid Bigint(20) Primary Key. Unique Department ID.

29
returnnum Varchar (255) Unique return number.

ordernum Varchar (255) Order number for which return is created.

shipnum Varchar (255) Shipment number for which return is created.

prevcollected Bigint(20) Amount previously collected.

amttorefund Bigint(20) Amount to be refunded.

transaction DateTime(6) Date of transaction.

trackid Varchar (255) Tracking id number or AWB number for return.

reason Varchar (255) Reason for return.

status Varchar (255) Status for return.

retCreateDate DateTime(6) Date when return id created.

remarks Varchar (255) Remarks for special instructions, if any.

subtotal Varchar (255) Total amount for return.

totaldiscount Varchar (255) Total discount for return.

totalgst Varchar (255) Total gst for return.

totalshipping Varchar (255) Total shipping charges for return.

total Varchar (255) Total amount for return after gst and discount and shipping.

pickupdate Varchar (255) Date for pickup of return items.

pickuptime Varchar (255) Time for pickup of return items.

boxes Varchar (255) Number of boxes to return.

weight Varchar (255) Weight of items to be returned .

packagedim Varchar (255) Package dimensions.

numofitems Varchar (255) Number of items being returned.

retinvoice Varchar (255) Invoice number for the return invoice.

Table No. 16 Return Header

30
 Return Detail

returndetailid Bigint(20) Primary Key. Unique Department ID.

qtyreturn Bigint(20) Quantity to return.

prevreturned Bigint(20) Quantity previously return.

receivedqty Bigint(20) Quantity received.

badreceivedqty Bigint(20) Bad quantity received.

shipcharges Varchar (255) Shipping charges for the return line.

adjcharges Varchar (255) Adjustment Charges, if any.

Table No. 17 Return Detail

 Shipment Header

shipmentid Bigint(20) Primary Key. Unique Department ID.

shipmentCreateDate DateTime(6) Shipment creation date.

dispatchDateTime DateTime(6) Shipment dispatch date.

rejectedDate DateTime(6) Shipment rejection date.

returnedDate DateTime(6) Shipment returned date.

returnreason Varchar (255) Reason for return.

rejectedreason Varchar (255) Reason for rejection.

shipmentNumber Varchar (255) Unique shipment number of the shipment.

shippingmethod Varchar (255) Method used for shipment.

status Varchar (255) Status of the shipment.

declaration Varchar (255) Declaration for shipment, if any.

gstInvRefNo Varchar (255)

isPaymentCollected Char(1) Flag to check if payment for shipment is collected.

trackid Varchar (255) Tracking id or AWB number for shipment.

31
boxes Varchar (255) Number of boxes in shipment

packingdim Varchar (255) Package Dimensions

numofitems Varchar (255) Number of items being shipped.

invoicenum Varchar (255) Invoice number for the shipment invoice.

weight Varchar (255) Weight of the shipment.

methodofpack Varchar (255) Method of packing used.

Table No. 18 Shipmetn Header

 Shipment Detail

shipmentDetailId Bigint(20) Primary Key. Unique Department ID.

numberOfPacking Varchar (255) Number of packaging used.

methodOfPacking Varchar (255) Method of packaging used.

quantity Bigint(20) Quantity of items shipped.

rate Bigint(20) Total amount for shipment line.

cartage Bigint(20) Shipping charges for shipment line.

Table No. 19 Shipment Detail

 Tax Class

tax_id Bigint(20) Primary Key. Unique Department ID.

taxslab Varchar (255) Name of tax slab.

cgst Varchar (255) Central Goods and Services Tax.

sgst Varchar (255) State Goods and Services Tax.

igst Varchar (255) Integrated Goods and Services Tax.

utgst Varchar (255) Union-GST.

compcess Varchar (255) Compensation cess.

32
Table No. 20 Tax Class

 Unit of Measure

uomid Bigint(20) Primary Key. Unique Department ID.

uomcode Varchar (255) Code for unit of measure.

uomdesc Varchar (255) Description for unit of measure.

uomattribute Varchar (255) Attribute for unit of measure.

Table No. 21 UOM

 User

id Bigint(20) Primary Key. Unique Department ID.

username Varchar Unique name to identify the user.


(255)

email Varchar Unique email for notification.


(255)

password Varchar Password for login.


(255)

first_name Varchar First name of the user.


(255)

last_name Varchar Last name of the user.


(255)

mobile_no Varchar Mobile number of the user.


(255)

designation Varchar Designation of the user.


(255)

dept Varchar Department of the user.


(255)

empid Varchar Employee id of the user.


(255)

dob DateTime(6) Date of birth of the user.

33
reset Char(1) When password change is requested, this field helps in redirection to
change password page.

Table No. 22 User

3.6. Software system attributes


3.6.1 Reliability: This application is very reliable as there is no duplicity or
redundancy of data and database is also secure.
3.6.2 Availability: The application will be easily available as it is a web-application
that needs a basic browser to view web pages, any PC without any fancy
configuration will do the needful.
3.6.3 Security: The application will be username and password protected. Users will
have to enter correct username, password to gain access to the application. No
security breach is possible by accessing data through the URL.
3.6.4 Maintainability: The application will be designed in a maintainable manner.
It will be easy to incorporate new requirements in the individual modules. The
workstation that will be used for maintenance in future need to have all the
development tools used while developing the application like Visual Studio,
Eclipse, Workbench and Postman.
3.6.5 Portability: The application will be easily portable on type of machine as it is
a web-based application deployed on a remote server. Server machine must
have Tomcat and also SQL server to handle the database. Client machine just
needs a browser to be able to view web-pages with basic HTML tags.

34
IV.
TECHNOLOGY USED

35
1. MySQL
MySQL is a fast, easy-to-use RDBMS being used for many small and big businesses. MySQL is developed,
marketed and supported by MySQL AB, which is a Swedish company. MySQL is becoming so popular
because of many good reasons −

 MySQL is released under an open-source license. So you have nothing to pay to use it.

 MySQL is a very powerful program in its own right. It handles a large subset of the functionality
of the most expensive and powerful database packages.

 MySQL uses a standard form of the well-known SQL data language.

 MySQL works on many operating systems and with many languages including PHP, PERL, C,
C++, JAVA, etc.

 MySQL works very quickly and works well even with large data sets.

 MySQL is very friendly to PHP, the most appreciated language for web development.

 MySQL supports large databases, up to 50 million rows or more in a table. The default file size
limit for a table is 4GB, but you can increase this (if your operating system can handle it) to a
theoretical limit of 8 million terabytes (TB).

 MySQL is customizable. The open-source GPL license allows programmers to modify the MySQL
software to fit their own specific environments.

2. React JS
React (also known as React.js or ReactJS) is a free and open-source front-end JavaScript
library for building user interfaces or UI components. It is maintained by Facebook and a community
of individual developers and companies. React can be used as a base in the development of single-page or
mobile applications. However, React is only concerned with state management and rendering that state to
the DOM, so creating React applications usually requires the use of additional libraries for routing, as well
as certain client-side functionality.

React JS features include:

 Components

 Functional Components

 Class Components

 Virtual DOM

 JSX

 React Hooks

36
3. Adobe XD
Built from the ground up with performance top of mind, Adobe XD helps you craft prototypes that look
and feel like the real thing, so you can communicate your design vision and maintain alignment across your
team efficiently. Adobe XD is a powerful and easy-to-use vector-based experience design platform that
gives teams the tools they need to craft the world’s best experiences collaboratively. Available on Mac and
Windows systems, XD meets teams where they’re working with cross-platform compatibility.

Features includes:

 Stacks and Padding

 Repeat Grid

 3D Transforms

 Shareable Libraries

 Responsive Resize

 Real-time preview

4. Spring Boot
Spring Boot is an open-source micro framework maintained by a company called Pivotal. It provides Java
developers with a platform to get started with an auto configurable production-grade Spring application.

Spring Boot helps developers to start coding right away without wasting time on preparing and configuring
the environment. In contrast to other Java frameworks, it provides flexible XML configurations, robust
batch processing, database transactions, easy workflow, along with a wide variety of tools for development.

The main reason to use Spring is to embrace and employ the idea of "Inversion of Control and Dependency
injection" in an efficient, easy and best possible ways while developing application.

5. Axios
Axios is a lightweight HTTP client based on the XMLHttpRequests service. It is similar to the Fetch API
and is used to perform HTTP requests. Axios is a Promise-based HTTP client for JavaScript which can be
used in your front-end application and in your Node. js backend. By using Axios it's easy to send
asynchronous HTTP request to REST endpoints and perform CRUD operations.

Advantage of Axios over Fetch API:

 supports older browsers

 has a way to abort a request

37
 has a way to set a response timeout

 has built-in CSRF protection

 supports upload progress

 performs automatic JSON data transformation.

6. Tomcat:
Tomcat is an application server designed to execute Java servlets and render web pages that use Java Server
page coding. Accessible as either a binary or a source code version, Tomcat’s been used to power a wide
range of applications and websites across the Internet. At the time of writing, it’s definitely one of the more
popular servlet containers available.

 It’s Open-Source: Tomcat’s free, and the source code for the server is readily available to anyone
who’d care to download it.

 It’s Highly Flexible: Tomcat is quite flexible. You can run it in virtually any fashion you choose,
and it’ll still work as intended. The fact that it’s open-source helps as well, since you can tweak it
to fit your needs, provided you’ve the knowledge to do so.

 Your Server Will Be More Stable: Tomcat is an extremely stable platform to build on – and using
it to run your applications will contribute to your server’s stability, as well. This is because Tomcat
runs independently of your Apache installation – even if a significant failure in Tomcat caused it
to stop working, the rest of your server would run just fine.

7. Hibernate
Hibernate is a Java framework that simplifies the development of Java application to interact with the
database. It is an open source, lightweight, ORM (Object Relational Mapping) tool. Hibernate implements
the specifications of JPA (Java Persistence API) for data persistence.

Advantages:

 Open Source and Lightweight: Hibernate framework is open source under the LGPL license and
lightweight.

 Fast Performance: The performance of hibernate framework is fast because cache is internally
used in hibernate framework. There are two types of cache in hibernate framework first level cache
and second level cache. First level cache is enabled by default.

38
 Database Independent Query: HQL (Hibernate Query Language) is the object-oriented version
of SQL. It generates the database independent queries. So you don't need to write database specific
queries. Before Hibernate, if database is changed for the project, we need to change the SQL query
as well that leads to the maintenance problem.

 Automatic Table Creation: Hibernate framework provides the facility to create the tables of the
database automatically. So there is no need to create tables in the database manually.

 Simplifies Complex Join: Fetching data from multiple tables is easy in hibernate framework.

 Provides Query Statistics and Database Status: Hibernate supports Query cache and provide
statistics about query and database status.

8. Layered Development Architecture

Fig. No.2 Layered Development Architecture

39
V.
FEASIBILITY STUDY

40
1. Introduction
All projects are feasible-given unlimited resources and infinite time. Unfortunately, the development of a
computer- based system or product is more likely plagued by a scarcity of resources and difficult (if not
downright unrealistic) delivery dates. It is both necessary and prudent to evaluate the feasibility of a project
at the earliest possible time. Months or years of efforts, thousands or millions of dollars, and untold
professional embarrassment can be averted if an ill-conceived system is recognized early in the definition
phase. Feasibility and risk analysis are related in many ways. If project risk is great, the feasibility of
producing quality software is reduced. During product engineering, however, we concentrate our attention
on four primary area of interest which is also applicable to my project on FlexiOMS.

2. Economic Feasibility
It is generally the “bottom-line” consideration for most systems. Economic justification includes a broad
range of concerns that include cost-benefit analysis, long-term corporate income strategies, impact on other
profit centers or products, cost of resources needed for development, and potential market growth.
FlexiOMS in this regard is cost beneficial as software does not require much of the resources, rather it
enables in better utilization of company’s resources and so less economic burden.

3. Technical Feasibility
It is frequently the most difficult area to assess at this stage of the product engineering process. Because
objectives, functions, and performance are somewhat hazy, anything seems possible if the “right”
assumptions are made. It is essential that the process of analysis and definition be conducted parallel with
an assessment of technical feasibility. In this way concrete specification may be judged as they are
determined. In this regard FlexiOMS stands tall as technically it highly feasible as it does not require any
fancy configuration and minimum requirement is mentioned in SRS above. The considerations that are
normally associated with technical feasibility include:

 Development risk: Can the system element be designed so that necessary function and
performance are achieved within the constraints uncovered during analysis? The only development
risk I stumbled upon was that if it were to be developed for a client with specific requirements (i.e.
a company) and if due to some financial constraint client drop the application feature development
mid-way.

 Resource availability: Are skilled staffs available to develop the system element in question? Are
other necessary resources (hardware and software) available to build the system? In this case it is
amply available. As the FlexiOMS is totally developed by a highly co-ordinated small backend and
frontend team, this can be assured that there was no delays because of resource availability.

41
 Technology: Has the relevant technology progressed to a state that will support the system?
Developers of computer-based systems are optimists by nature (who else would be brave enough
to attempt what we frequently undertake?). However, during an evaluation of technical feasibility,
a cynical, if not pessimistic, attitude should prevail. Misjudgment at this stage can be disastrous.

4. Legal Feasibility
It encompasses a broad range of concerns that include contracts, liability, infringement, and myriad other
traps frequently unknown to technical staff. The feasibility study may be documented as a separate report
to upper management and includes as an appendix to the system specification. The feasibility study is
reviewed first by project management (to assess project status). The study should result in a “go/no-go”
decision. It should be noted that other go/no-go decisions will be made during the planning, specification,
and development steps of both hardware and software engineering.

5. Operational feasibility
It is analysis of the human and organizational factors. The information collected through this test allows
you to evaluate the advantages of the proposed system. The issues that need to be addressed are:-

 Change in job functions: A system analyst needs to identify the changes in functions and activities
of users due to the introduction of the new system. The next step would be to implement these
changes. The changes could be in terms of roles and responsibilities of employees, the extent of
control exercised by a decision maker, their functional areas, management policies, and receptivity
of the users.

 Changes in the structure of the organization: When a solution is implemented, it may result in
changes in the structure of an organization, which in turn, may affect the individuals in the
organization. These changes could be in the organizational hierarchy, information and business
roles.

 Changes in skill sets: In order to ensure the success of a new system, it is important to identify
whether the users possess the skill sets required to operate the new system. If they do not have, it
is important to ensure that they are receptive to the proposed changes and the time period required
acquiring the appropriate skill levels.

42
VI.
DESIGN OF
SYSTEM

43
1. Use Case Diagram

Fig. No. 3 Use Case Diagram

44
2. Use Case Description
1. Login/Logout

Use Case Name: Login/Logout


Scenario: Allow user to login to use services or logout and exit the application.
Triggering Event: User logs in/logs out of the system.
Brief Description: A unique Id and password is used for login.
Actors: Admin, Sales Manager, Purchase Manager, Fulfillment Manager, User.
Related Use Cases: None
Pre-conditions: Valid account details (username, password and email) must be saved
in the database.
Post-conditions: User can access the application and perform function according to the
roles assigned to them.
Flow of Activities: Actor System
1. User desires to log in by 1. System verifies
using valid user Id and authentication of user
password. details and display the
welcome window. A token
is generated for each login.
2. Token generated on login
2. User can exit the will be terminated.
application using the
logout functionality.
Exception Conditions: If Email or password is wrong, Show message of bad credentials.
Table No. 23 Login/Logout
2. Forgot Password

Use Case Name: Forgot Password


Scenario: Allow user to request for changing the password.
Triggering Event: User clicks on “Forgot Password” button on the login window.
Brief Description: A temporary password is generated and sent to user on his registered
email id.
Actors: Admin, Sales Manager, Purchase Manager, Fulfillment Manager, User.
Related Use Cases: None
Pre-conditions: Valid account details (username, password and email) must be saved
in the database.
Post-conditions: User receives an email on the registered email address with a temporary
password that can be used to login. User logs in and resets the
temporary password

Flow of Activities: Actor System


1. User logs in by using the 1. System verifies
temporary password. authentication of account

45
details and display the
2. User resets the temporary reset password window.
password with new 2. System encrypts and
password. stores the new password.
Exception Conditions: If Email is invalid, Show message of bad credentials.
Table No. 24 Forgot Password

3. User Administration

Use Case Name: User Administration


Scenario: Allow user to manage the various users of the enterprise using the
application.
Triggering Event: User clicks on “User Administration” button on the sidebar.
Brief Description: With access to user administration, user can manage information stored
about all the users of the respective enterprise that are using the
application.
Actors: Admin
Related Use Cases: None
Pre-conditions: User must have the role of admin.
Post-conditions: User can access the functionalities of user administration.
Flow of Activities: Actor System
1.Create 1. System stores the data for
Admin can create a new user. the new user in the
database.
2.Update 2. System reflects the
Admin can update the changes in the database.
information of exiting users.

3.Upload/Download 3. System creates all the


Admin can upload data for users for which data is
bulk users to create new user provided and downloads
and also download the list of an excel sheet with all the
existing users. existing users.
Exception Conditions: None
Table No. 25 User Administration

4. Entity Master

Use Case Name: Entity Master


Scenario: Allow user to manage the various entities of the enterprise using the
application.
Triggering Event: User clicks on “Entity Master” button on the sidebar.
Brief Description: With access to entity master, user can manage information stored about
all the entities that are stored in the database.
Actors: Admin
Related Use Cases: None

46
Pre-conditions: User must have the role of admin.
Post-conditions: User can access the functionalities of entity master.
Flow of Activities: Actor System
1.Create 1. System stores the data for
Admin can create a new the new entity in the
entity. database.

2.Update 2. System reflects the


Admin can update the changes in the database.
information of exiting entities.

3.Upload/Download
Admin can upload data for 3. System creates all the
bulk users to create new user entities for which data is
and also download the list of provided and downloads
existing users. an excel sheet with all the
existing users.
Exception Conditions: None
Table No. 26 Entity Master

5. Item Master

Use Case Name: Item Master


Scenario: Allow user to manage the items of the enterprise using the application.
Triggering Event: User clicks on “Item Master” button on the sidebar.
Brief Description: With access to Item master, user can manage information stored about
all the items that are stored in the database.
Actors: Admin, Sales Manager
Related Use Cases: None
Pre-conditions: User must have the role of admin or Sales manager.
Post-conditions: User can access the functionalities of Item master.
Flow of Activities: Actor System
1.Create 1. System stores the data for
Admin/sales manager can the new item in the
create a new item. database.

2.Update 2. System reflects the


Admin/sales manager can changes in the database.
update the information of
exiting items.

3.Upload/Download 3. System creates all the


Admin/sales manager can items for which data is
upload data for bulk items to provided and downloads
create new items and also an excel sheet with all the
existing items.

47
download the list of existing
items.
Exception Conditions: None
Table No. 27 Item Master

6. Inventory Summary

Use Case Name: Inventory Summary


Scenario: Allow user to manage the inventory of the enterprise using the
application.
Triggering Event: User clicks on “Inventory Summary” button on the sidebar.
Brief Description: With access to Inventory Summary, user can manage information stored
about all the inventory of items that are stored in the database.
Actors: Admin, Sales Manager, Purchase Manager, Fulfillment Manager, User.
Related Use Cases: None
Pre-conditions: Item must exist for its inventory to be accessed.
Post-conditions: User can access the functionalities of Inventory Summary.
Flow of Activities: Actor System
1.Stock Adjustment 1. System displays the
Inventory stock can be existing inventory and
adjusted using delta or adjusts to the value
absolute adjustment. entered by the user and
type of adjustment and
stores in the database.

2.Stock transfer 2. System reflects the


Inventory stock can be transferred stock changes
transferred from one node to in the database.
another.
Exception Conditions: None
Table No. 28 Inventory Summary

7. Manage Orders
Use Case Name: Manage Orders
Scenario: Allow user to manage the sales orders of the enterprise using the
application.
Triggering Event: User clicks on “Manage Orders” button on the sidebar.
Brief Description: With access to Manage Orders, user can manage information stored
about all the sales orders that are stored in the database or create new
orders.
Actors: Admin, Sales Manager.
Related Use Cases: None
Pre-conditions: User must be an admin or sales manager.
Post-conditions: User can access the functionalities of Manage Orders.
Flow of Activities: Actor System

48
1.Create Orders/Draft orders 1. System stores the sales
User can create sales order by order information into the
selecting the items and the database.
quantities they require along
with other information. .

2.Cancel Draft 2. System reflects the


Cancel an existing draft changes in the database.

3.Update order 3. System reflects the


User can update the details of changes in the database.
the order.
Exception Conditions: None
Table No. 29 Manage Order

8. Manage Fulfillment

Use Case Name: Manage Fulfillment


Scenario: Allow user to manage the shipments of sales of the orders for an
enterprise using the application.
Triggering Event: User clicks on “Manage Fulfillment” button on the sidebar.
Brief Description: With access to Manage Fulfillment, user can manage information stored
about all the shipments that are stored in the database.
Actors: Admin, Fulfillment Manager.
Related Use Cases: Manage Orders
Pre-conditions: User must be an admin or fulfillment manager.
Post-conditions: User can access the functionalities of Manage Fulfillment.
Flow of Activities: Actor System
1.Dispatch Shipments 1. System reflects the
User can dispatch shipments. changes in the database.
.
2.Cancel Shipment 2 System reflects the
Cancel an existing shipment. changes in the database.

3.Create Return 4. System creates a new


Return an existing shipment. return for the shipment
and order.
Exception Conditions: None
Table No. 30 Manage Fulfillment

9. Manage Returns

Use Case Name: Manage Returns


Scenario: Allow user to manage the returns of the orders for an enterprise using
the application.
Triggering Event: User clicks on “Manage Returns” button on the sidebar.

49
Brief Description: With access to Manage Returns, user can manage information stored
about all the returns that are stored in the database.
Actors: Admin, Sales Manager.
Related Use Cases: Manage Fulfillment
Pre-conditions: User must be an admin or sales manager.
Post-conditions: User can access the functionalities of Manage Returns.
Flow of Activities: Actor System
1.Update Return 1. System reflects the
User can update returns. changes in the database.
.
2.Receive Return 2. System reflects the
User can complete the return changes in the database
process by acknowledging the and complete the return
returns received. cycle.
Exception Conditions: None
Table No. 31 Manage Return

10. Purchase Register

Use Case Name: Purchase Register


Scenario: Allow user to manage the purchase orders for an enterprise using the
application.
Triggering Event: User clicks on “Purchase Register” button on the sidebar.
Brief Description: With access to Purchase Register, user can manage information stored
about all the purchases that are stored in the database.
Actors: Admin, Purchase Manager.
Related Use Cases: None
Pre-conditions: User must be an admin or purchase manager.
Post-conditions: User can access the functionalities of Purchase Register.
Flow of Activities: Actor System
1.Create Purchase order 1. System creates the order
User can create a purchase and stores the details in the
order for the desired items. database.
.
2.Update Purchase order 3. System reflects the
User can update the order changes in the database.
Exception Conditions: None
Table No. 32 Purchase Register

50
3. ER Diagram

Fig. No.42 ER Diagram

4. Data Flow Diagram


4.1. Context Analysis or Level-0 DFD

Fig. No. 5 Level 0 DFD

51
4.2. Level-1 DFD

Fig. No. 6 Level 1 DFD

5. Logical Database Design


These tables are mentioned under 3.5 Logical Database Requirement

52
VII.
SCREEN SHOTS
&
FUNCTIONALITY

53
1. Graphical User Interface (GUI)

1.1. Login Page


 A login page where user of the application will have to enter his/her credentials to
gain access to the dashboard and in turn the other pages of the application.

 This page will be the first page of the website.

Fig. No. 7 Login Page

54
1.2. Home Page
 A default page or homepage that contain a menu and links to all other pages of the
application.

 It by default displays an innovative landing page with a sidebar menu and a pointer to
select any preferred menu item to access that particular module.

Fig. No. 8 Home Page

1.3. User Administration


 A User Administration page where the list of all users of that particular enterprise is
present.

 It also has a button to create a new user which opens a form for the same.

 Each user’s username is link to open details of that particular user and the details can
also be updated.

 This page also has buttons to download and upload a list of users in excel format.

55
Fig. No. 9 User Administration Page

1.4. Create User


 This page is the form wherein details of the user have to be filled, also from the list of
roles, one or more roles have to be selected

Fig. No. 10 Create User Page

56
Fig. No. 10 Create User Page

Fig. No. 10 Create User Page

57
1.5. User Details
 Each user’s username is link to open details of that particular user and the details can
also be updated.

Fig. No. 11 User Detail Page

Fig. No. 11 User Detail Page

58
1.6. Entity Master
 An Entity Master page where the list of all entities like Client, Destination, Vendor,
Node and Logistics Partner of that particular enterprise is visible.

 It also has a link to create a new entity of any of the above mentioned types or to edit
a particular entity from the entity list.

Fig. No. 12 Entity Master Page

1.7. Create Entity


 This page is the form wherein details of the entity have to be filled. Selecting entity
type is mandatory.

 Also giving a particular entity ID is also mandatory, it is a unique field.

59
Fig. No. 13 Create Entity Page

Fig. No. 13 Create Entity Page

60
1.8. Entity Detail
 Each entity’s name is link to open details of that particular entity and the details can
also be updated.

Fig. No. 14 Entity Details Page

Fig. No. 14 Entity Details Page

61
Fig. No. 14 Entity Details Page

1.9. Inventory Summary


 Inventory Summary page where we can see a snapshot or summary of the current
inventory.

 It includes, On hand quantity, reserved, ATP, Dirty inventory etc at all the nodes of
the enterprise

 . It also has a link to adjust the inventory of a particular item at a particular node by
either adjusting it or by transferring it from one node to another.

62
Fig. No. 15 Inventory Summary Page

1.10. Manage Inventory


 We can adjust inventory for a particular item at a particular node by accessing this page.
 Inventory can be transferred from one node to another.
 Inventory can be adjusted by overriding existing quantity or by incrementing the existing quantity.
 Bad inventory/Dirty Inventory can also be adjusted.

63
Fig. No. 16 Manage Inventory Page

1.11. Item Description

Fig. No. 17 Item Description Page

64
Fig. No. 17 Item Description Page

1.12. Item Master Setup


An Item Master Setup page where another menu is available wherein one can select to create
an item category, item type, UOMs, Tax Slabs and an item. The list of all existing item
categories, item types, tax slabs, UOMs and items is available and a link to edit any of them
is available too.

 Tax Slab
1. List of tax slabs existing in this application is showed.

2. These tax slabs can also be edited.

65
Fig. No. 18 Tax Slab Page

 Create Tax Slab


1. Tax slabs can be created from this page. Since mostly same tax slabs are
used extensively throughout the application. One can create a tax slab
here and use it anywhere inside the application.

66
Fig. No. 19 Create Tax Slab Page

 Item Category
1. List of item category existing in this application is showed.

2. These item categories can also be edited.

Fig. No. 20 Item Category Page

 Create Category
1. Item Categories can be created from this page.

2. Since a lot of item categories can be used in creating items and can
therefore be repeatedly used extensively throughout the application. One
can create an item category here.

67
Fig. No. 21 Create Item Category Page

 Category Detail

Fig. No. 22 Category Details Page

 Item Type

68
1. List of item type existing in this application is showed.

2. These item types can also be edited.

Fig. No. 23 Item Type Page

 Create Item Type


1. Item type can be created from this page.

2. Since a lot of item type can be used in creating items and can therefore
be repeatedly used extensively throughout the application. One can
create an item type here.

69
Fig. No. 24 Create Item Type

 Type Detail

Fig. No. 25 Type Details page

 UOM
1. UOMs existing in this application are listed in this page.

70
2. These UOMs can also be edited.

Fig. No. 26 UOM Page

 Create UOM
1. Different UOMs can be created from this page.

2. Since a single item can have multiple unit of measures for different
attributes like weight, size, color and unit. We can create different types
of UOMs that can be used while creating items.

71
Fig. No. 27 Create UOM Page

 UOM Detail

Fig. No. 28 UOM Details Page

1.13. Manage Item


 Item Master
1. Items existing in this application are listed in this page.

72
2. These items can also be edited.

Fig. No. 29 Item Master Page

 Create Item
1. We can create items from the create item button.

2. In this page details of items are filled to create an item. Some


fields are mandatory and should not be left empty.

Fig. No. 30 Create Item

73
Fig. No. 30 Create Item

 Item Detail

Fig. No. 31 Item Detail

74
1.14. Purchase Register
 Purchase orders created in the enterprise are listed here in this page.

 It also has a button to create a new P.O.

 P.O number is a link to open details of a particular purchase order.

Fig. No. 32 Purchase Register

75
1.15. Create Purchase Order
 A Purchase order can be created by clicking on the create purchase button.

 Required fields cannot be empty, also, it is mandatory to mention atleast one item to
create a PO.

Fig. No. 33 Create Purchase

Fig. No. 33 Create Purchase

76
1.16. Purchase Order Item
 When Clicked on a purchase number form the list page the details of that particular
order are opened.

 Also it has a tab to create GRNs.

Fig. No. 34 Purchase Order Item

1.17. GRN
 When a PO is approved. A GRN can be created for it.

 This page lists the list of multiple GRNs created for that particular PO, along with the
status of that GRN.

77
Fig. No. 35 GRN

1.18. Create GRN


 A GRN is goods received note which is created to create an entry in the system when
items of that particular PO are received.

 It can have the items and their quantities whenever they are received.

Fig. No. 36 Create GRN

78
Fig. No. 37 GRN Details

1.19. GRN Detail


 Details of a particular GRN are showed here. After the Quality Check is certain items
in a GRN is complete, Mark Qc Complete can be clicked to complete the status of a
particular GRN.

Fig. No. 37 GRN Details

79
1.20. Manage Returns
 This page lists the returns created against shipments in the enterprise
 The return can be created for shipments

Fig. No. 38 Manage Returns

1.21. Return Detail


 The details of a particular returns are showed in this page, we can also edit return details from
this page.

80
Fig. No. 39 Return Detail

Fig. No. 39 Return Details

81
Fig. No. 39 Return Details

1.22. Manage Fulfillment


 The shipments created are listed on this page.
 The details of a particular shipment can be viewed by clicking on the shipment number.

Fig. No. 40 Manage Fulfillment

82
1.23. Shipment Detail
 The shipment can be dispatched from here. It can also be cancelled.
 An invoice can also be generated and downloaded from here.

Fig. No. 41 Shipment Detail

1.24. Dispatch Summary

Fig. No. 42 Dispatch Shipment

83
1.25. Record Payment
 The payments that have been received against the orders can be recorded in the system from
this button.
 Multiple payments can be recorded for one particular order.

Fig. No. 43 Record Payment

1.26. Collection Summary


 The payments recorded for a particular order or a particular shipment can be shown as a
summary which can have multiple lines.

84
Fig. No. 44 Collection Summary

1.27. Create Return


 The return can be created for shipments from shipment details page.
 The return details can be filled in this form.
 The items for which the return is created are taken from the list of items that particular
shipment have.

Fig. No. 45 Create Return

85
Fig. No. 45 Create Return

1.28. Manage Order B2B


 The orders of this enterprise are listed here.
 To create order, a button is present on this page.

Fig. No. 46 Manage Orders (B2B)

86
1.29. Create Order
 The order can be created by clicking on the create order button. This form has to be filled to
create an order.
 The multiple items present in the enterprise are shown in the item dropdowns for which the
order is created.
 Giving at least one order item is mandatory.

Fig. No. 47 Create Order

Fig. No. 47 Create Order

87
Fig. No. 47 Create Order

Fig. No. 47 Create Order

88
Fig. No. 47 Create Order

1.30. Order Item


 When an order number is clicked from the list of existing orders. The details of that particular
order is opened and the items in that order is shown here.

Fig. No. 48 Order Item

89
1.31. Release (Create Shipment)
 After an order is created, the items in that particular order are released to nodes selected in
this page.
 Nodes can be selected by choosing the best node which has enough inventory present on
then(Shown in the brackets beside nodename).
 So that the shipments can be created for that node and then the shipment can be dispatched
from that node to the client’s address.

Fig. No. 48 Order Item

1.32. Shipments
 The shipments created for a particular order are shown on this page.
 Clicking on the shipment number takes us to the shipment detail page from where the
shipment can be dispatched, cancelled etc.

90
Fig. No. 50 Shipment

1.33. Payment Collection


 The payments made, either received or refunded are shown on this particular page.
 The total outstanding amount calculated from the total summary are also shown on this page.

Fig. No. 51 Payment Collection

91
1.34. Returns
 The returns created for the shipments of this particular order are listed here.
 Also the return invoice can be downloaded from the invoice icon shown for all the returns.

Fig. No. 52 Returns

1.35. Dashboard
 This page basically shows the statistics of the enterprise on the current day’s date.
 It includes the numbers of orders created, shipments dispatched, shipments pending and shipments
returned.
 It also includes the amounts of each stat.

92
Fig. No. 53 Today’s Summary Dashboard

 The statistics relating to the orders are shown here.

Fig. No. 54 Order Statistics Dashboard

93
 The statistics relating to the all the shipments are shown here.

Fig. No. 55 Shipment Statistics Dashboard

 The statistics relating to the inventory are shown here.

Fig. No. 56 Inventory Statistics Dashboard

94
VIII.
IMPLEMENTATION,
TESTING & ANALYSIS

95
1. Implementation
Once the design is complete most of the major decisions about the system have been made. The goal of the
implementation phase is to translate the design of the system into code in a given programming language.
For a given design the aim in this phase is to implement the design in the best possible manner. Since the
testing and maintenance costs of the software are high, the goal of the coding should be to reduce the testing
and maintenance effort. Simplicity and clarity should be striven for during the implementation.

2. Testing
Testing is a process of executing a program with the intent of finding errors. Testing is essentially a
destructive process where the tester treats the program as an adversary, to be beaten by showing the presence
of errors. With this in mind a test case is good if it detects an undetected error in the program. The objective
of test case design should be to cover all possible scenarios in the application, both positive and negative,
that detect as many errors as possible. Software testing is performed by an independent group of testers
after finishing the software product and before it is shipped to the Client. However, testing as an activity
starts the moment the project starts and is a continuous process until the project finishes. One of the reasons
for an independent group to engage in software testing is that it is difficult for a programmer to be
destructive on something created by self. A programmer always tends to believe in “my program works”,
which is not the correct frame of mind for testing. Also, errors may be induced due to lack of correct
understanding of the specification.

2.1 Testing Objectives


• Testing is a process of executing a program with the intent of finding an error.

• A good test case is one that has a high probability of finding an as yet undiscovered error.

• A successful test is one that uncovers an as yet undiscovered error.

2.2 Different types of testing:


• Unit Testing: It is the process of taking a module and running it in isolation from the rest of the software
product. In this, each module has to be tested thoroughly in order to discover pitfalls. This helps us in
detecting errors in coding and logic that are contained within that module alone.

• Integration Testing: This testing is done by integrating all modules together as a unit. It is done to
determine that the interface between modules is correct.

96
• System Testing: System testing makes a logical assumption that if all the parts of the system are correct,
the goal will be successively achieved. It tests the software as a whole with focus on operations that will be
requested by the user.

2.3 Test Data and Test Cases


The primary objective of test case design is to derive a set of tests that have the highest likelihood of
uncovering errors in software. The test case specification is the major activity in the testing process. Careful
selection of test cases that satisfy the criterion on approach specified is essential for proper testing. Various
characteristics of test cases that are required for portal are:

 A good test has a high probability of finding an error.

 A good test is not redundant.

 A good test should be “Best of Breed”.

 A good test should be neither too simple not too complex.

2.4 Test plan


Testing commences with a test plan and terminates with acceptance testing. A test plan is a general
document for the entire project that defines the scope, approach to be taken and schedule of testing as well
as identifies the test item for the entire testing process and the personnel responsible for the different
activities of testing.

2.5 Test Cases for the Project


We didn’t develop any test cases as we are only developers. Testing was done by testing team and by
mentor. So we don’t have any test cases.

2.6 Test Reports and Debugging


Various outputs are produced as a result of test case execution for the unit under test. These outputs are
needed to evaluate whether the testing has been satisfactory. The test report is meant for project
management where the summary of the entire test case execution is provided. The summary gives the total
number and nature of errors found and the summary of any metrics data collected. Debugging, in the form
of error report, gives the summary of all the errors found. The errors may also be categorized into different
levels, if such a categorization is available and its use has been planned in the test plan. In our case, initially
many errors were found out. All such errors as reported by the testing team were rectified.

97
IX.
CONCLUSION

98
This SaaS Based application, FlexiOMS is a simplified and efficient order management system which
provides an end-to-end integrated supply chain solutions for business enterprises (B2B & B2C), with in-
depth visibility on orders, inventory and shipments.

This is user friendly system and is designed to provide an effective and integrated supply chain solutions
to the wide range of users which mainly targets MSMEs. It has SaaS based, cloud based, and on premises
functionalities that makes it easy to access and work with.

Further this software can be developed to add more functionality in future like online payment, integration
with 3rd party e-commerce channels. The sheer possibility of scaling this application is immense.

99
X.
REFERENCES

100
 reactjs.org/docs
 Development with Spring Boot 2 and React, 2nd Edition by Juha Hinkula.

 www.shopify.in/enterprise/order-management-system-oms
 bezkoder.com/spring-boot-jpa-crud-rest-api
 start.spring.io
 www.webopedia.com/TERM/E/electronic_commerce
 flexinovus.com
 documentation.b2c.commercecloud.salesforce
 Hands-On Microservices with Spring Boot and Spring Cloud, 1st Edition by Magnus Larrson.

 www.jenkins.io/doc/tutorials

101

You might also like