Software Report PDF
Software Report PDF
University of Manouba
Realized by
Supervised by
Firstly, we want to thank God who gave us safety in the Covid19 epidemic the
courage and the will to carry out this modest work.
We would like to thank the entire administration staff members and professors
of the Higher Institute of Multimedia Arts of Manouba for helping us with
various administrative tasks.
With great pleasure, we would like to express our entire appreciation to our
Supervisor Mr. Ayman Ben Salah for his valuable effort, guidance and
suggestions that made our mission execution is possible.
We would like to thank our respected Supervisor Mr. Hafedh Nefzi for his
constructive criticism and the time he took to hear us and guide us in keeping us
on the correct path for our internship project.
And, a special thanks to the Microsoft community in Tunisia and university
clubs for increasing our passion and motivating us for a better future.
Finally, we would like to express our most sincere thanks to the members of the
jury who have done us the honour to review and evaluate our work.
Dedications
Mariem Moalla
I offer my dedication to all the people who without them this achievement
wouldn't be possible.
I give my regards to all my family member for trusting me, my partner with
whom I built this project after going together through all difficulties and hard-
working days, if not for the support we gave to each other and the mutual
understanding we share we wouldn't make it this far.
Also a special thanks to Mariem Kharrat for the support she gave me from the
start of my professional path and all advice she gave me, and Safi Negra for
motivating me and his aid.
Dhia Snoussi
Content Table
I
Content Table
II
Content Table
III
Content Table
IV
Content Table
V
List of Figures
VI
List of Figures
VII
List of Figures
VIII
List of Tables
IX
Abbreviation List
X
Introduction
14
Introduction
Looking back to all those problems that an organization must deal with; a
solution is required so it can run its business effectively.
In this case, we have to look back at what ERP and CRM systems are.
Starting with CRM systems, they allow an organization to keep in touch with the
customer and all its information so that the latter will be more satisfied with the
company's services.
Adding to this, the possibility to automatically store and organize
confidential data and documents such as invoices, contracts, and offering
complete visibility on purchasing habits, order history, and customer needs.
Introducing next ERP system, this solution will help the organization to avoid
all product, services management, and financial problems we mentioned earlier.
In fact, ERP systems can log all the products and materials as well as
monitoring and managing them.
As it gives an organization the possibility to keep track, report, and store the
information of each withdrawal and spending.
Moving to user management problems, when using an ERP system all users'
data is available and easily in reach, thus it would be an easy task to track their
records.
Another problem, in this case, is the difficulty of an organization using two
systems to manage its data, it is highly not recommended to do so because in
this case we may have duplicated data in both systems.
In fact, "The point of ERP and CRM integration is to ensure that automated
and consistent information is shared between both systems, creating a single
source of truth.“[2]
In simple terms, this combination will help us deal, at the same time , with
managing many core business in one system ( Financials ,Human resources,
Manufacturing management, Inventory management, Purchasing management,
Quality management, Sales management. .
We, in this case, all along the report, will be showing and explaining each step
we took to build such software that combines both ERP and CRM systems.
15
Introduction
- Integration of solution
- Specific development.
- Development.
- AI and big data.
16
Introduction
This work is a part of our graduation project for our bachelor degree in
computer science and multimedia at the Higher Institute of Multimedia
Arts of Manouba “ISAMM”.
Our internship is done in the start-up BitSoft innovation, and our purpose is
to build an ERP/CRM solution..
we have to develop a system that combines CRM and ERP systems in one
software to facilitate and decrease the number of applications in order to make
the client’s life easier.
Moreover, it would be a problem to not be able to track one organization's
inventory and the stock level, in this case, ERP/CRM systems can log all the
products and materials as well as monitoring and managing them.
In simple terms, this solution will help in tracking every little change that may
happen to whatever module it has within the company and make manipulating
data more easy.
17
Chapter 1: Existing Analysis
1
This chapter is about the Existing Analysis, and it identifies an interesting
viewpoint on the CRM and ERP systems in enterprises.
Generally, the purpose of creating a new system is to enhance an existed system
features in our system.
Thus, we can benefit from analysing existing systems, so this analysis would give
us a better idea of what problems we have to face with better visibility what
customer expects and needs from our software.
Finally, the existing analysis allows us to position concerning what exists in this
field and to form a sufficient background helping us to better master this type of
subject, and to improve the quality of the software functionalities with following
the worldwide competitor's software aspects and advantages.
18
Chapter 2. Existing Analysis
19
Chapter 2. Existing Analysis
Here, we will analyse the graphic elements of Dolibarr as shown this Table
below
Element Description
• The name of the
ERP/CRM system
Logo was written in upper
and lowercase letters
in graduated blue,
indicating from above
the used system .
• The colors in
Dolibarr are
customizable, thus
you can choose
between two themes
Colors blue, or purple
20
Chapter 2. Existing Analysis
Dolibarr offers free open-source ERP and CRM features for people with
no need for technical knowledge by providing a simple solution with simple
tools.
Additionally, it offer a highly customizing nav bar menu to facilitate navigating
between pages with no compulsory features.
Furthermore, Dolibarr offers three type of models
• Main application Modules. Which contains these feature below:
21
Chapter 2. Existing Analysis
In this part, we are showing the pros and cons of Dolibarr software based on
their community and users
22
Chapter 2. Existing Analysis
23
Chapter 2. Existing Analysis
Element Description
• The name of the CRM
system was written in
Logo lowercase letters inside the
cloud. The word was
visually divided into two
halves: on the left gray
“sales,” and on the right –
black “force.” and for “f,”
the designers used italic
font.
Composition
• The application is made purely • The geometric forms keeps
by geometric forms (cercles the features well organized.
and rectangles mostly)
• Like any other application,
salesforce is composed of
the header which contains
each of the search bar and
navigation bar, a body in
Structure which the content is
displayed, and a footer
allowing us to access notes
and history.
• For a Salesforce color
system to be successful, the
team relied on the HSL
color model to identify
Colors
complementary hues, based
on Salesforce blue using a
color algorithm and manual
adjustments
24
Chapter 2. Existing Analysis
In the multilayer salesforce architecture, the users are at the topmost layer.
The user can access a layer below the user layer, which means various clouds
offered by the salesforce, such as sales cloud, service cloud, AppExchange, etc.
The third layer is the salesforce App, which allows the user to access the
salesforce on mobile device.
The last layer contains various other salesforce platforms, such as Force.com,
Heroku, Exact TargetFuel, etc.
25
Chapter 2. Existing Analysis
• Marketing Modules
26
Chapter 2. Existing Analysis
In this part, we are showing the pros and cons of Salesforce software based on
their community and users
During this section, we studied two of the most used ERP/CRM systems and
extracted their functionalities, graphical and technical analysis.
27
Chapter 2: Project Initialization
2
& Planification
Most developers would love to start developing without thinking about what
problems they may encounter, In some cases, this may happen, but as always,
there is a set of questions that need to be asked whenever a developer starts a
project like, who is going to be the user of his app, which type of app he must
choose, for example, whether it is a web or a mobile app, another question that
must be asked is if the software needs to be scalable, meaning that whenever
our system grows it will be able to accommodate to that growth, or extensible
which mean that it is easy to add new things to the system without affecting it.
Thus, to best tackling this app, and find a good answer to these questions, it’s
better to take pricing, code quality, and other factors into consideration, this
way it would make a different result.
So, let's discover the steps to realize this project following the previous process.
28
Chapter 2. Project Initialisation & Planification
The first thing that should be taken into consideration while developing any
app, is having to identify well our functional requirements and non-functional
requirements.
Briefly, functional requirements have to do with the functionalities of the
system, and this kind of requirements have in general well-defined satisfaction
criteria.
No functional requirements, conversely, refer to system qualities, this one does
not have clear satisfaction criteria, because it can't be verified as in functional
requirements case...
Both of these are taking charge of understanding the big picture of the project
clearly and improve customer satisfaction.
Based on the product owner’s wishes and how he wants his app to be,
different features will be proposed to give the user the ability to:
• Authentication, this step is just required once every three months per
device, so it won’t bother the user as if he has to login in each day
• Manage different companies, and organization in one single app, and each
one should be able to:
- Sort user companies and choose the current company to supervise.
- Create/modify/delete company details.
- Manage company employees.
29
Chapter2. Project Initialisation & Planification
• Manage users
- Show the company users and add or maintain their details
- Disable or ban a user, which wont makes him able to access sign-in
to account.
- Manage user's permissions.
- Show all warehouses list with the capability to create, modify and delete every
single one of them.
- Make a transfer stock and show the warehouse's movement transfers.
• Manage products, and it demands to:
30
Chapter 2. Project Initialisation & Planification
The product owner believes that his baby app wont be all about having good
functionalities and features, he must also provide some qualities to push it to
the next level, so it requires:
- Data Security for great data access management .
31
Chapter 2. Project Initialisation & Planification
- Performance, so the user should navigate between tabs within less than 30
seconds.
- Highly ergonomic and user friendly, as it makes the user see the content
without difficulties.
- Adaptable for any kind of organization or enterprise, it’s a white brand app.
- Interoperability and easy to use on different devices.
Every company wants to find a way to improve its productivity in less time
and manage its teams, let it be in single or multiple projects at the same time,
But this would be hard to maintain without planning a certain method to
execute all this process.
Meanwhile, managers after many years of studying developed new working
methods like waterfall and agile.
Most Startups and companies have chosen agile or scrum methodologies to
work with because they perfectly assure both client satisfaction, and especially
team management.
Finally, everything has a limit, and as agile had a lot of advantages, it also had
some disadvantages, so a new methodology, more oriented to IT stuff named
DevOps, has been developed , and many companies now chose this
methodology instead of the others.
So, let's take a deeper see into DevOps and why we're choosing it.
32
Chapter 2. Project Initialisation & Planification
33
Chapter 2. Project Initialisation & Planification
34
Chapter 2. Project Initialisation & Planification
1.
4.
3.
2.
After studying and researchers, when an app is ready to be developed the first
step to take is to, take notes, organize and classify its features.
All this is possible thanks to azure DevOps Boards.
Passing next to the 3.Backlog section where we can have an overview of our
backlog and each sprint and its corresponding epics.
Finally, after our plan is correctly set, we can now start working on our project
and keep the other team members updated by going to the 4.Boards section
and change the state of our task whether it is done, in process, rejected, or to
be done..
35
Chapter 2. Project Initialisation & Planification
2.
1.
3.
4.
The following step is the one where we can start building the project.
By selecting, the 1.File button we are directed to the page where we can
create new repositories and access existing ones and all their files.
When creating a repository, we can also choose the type (Git or TFVC)
then a cloning URL is displayed on the main page of the corresponding
repository.
36
Chapter 2. Project Initialisation & Planification
2. 3.
5. 4.
37
Chapter 2. Project Initialisation & Planification
38
Chapter 2. Project Initialisation & Planification
CRM and ERP systems had real complex and versatile management systems,
so developing this project with classic architecture such as 3tier architecture or
monotheistic architecture would be a real challenge that may cause troubles.
39
Chapter 2. Project Initialisation & Planification
• It enables the development of applications that are easy to handle and better
security since it provides a common infrastructure and documentation to
develop services, with the capability to add new features.
• It reduces losing data, since it offers security and high availability, one can
change its servers anytime he needs, and the client app wont be affected by this
changing.
• SOA helps organizations to improve their agility and flexibility since it is so
flexible when it comes to integrating the client-side with the server-side.
40
Chapter 2. Project Initialisation & Planification
They are efficient because they make sure every aspect of the data security
monitored and updated, the cloud uses data encryption to ensure authorizing
41
Chapter 2. Project Initialisation & Planification
data access, also, there are a lot of cloud computing hosts that provide unique
security settings for every user.
For these aspects, we are migrating to the cloud instead of On-Premise to
ensure the project will be delivered without any troubles.
Today, the majority of top cloud service providers offer a ton of services. The
two leaders in cloud computing are Amazon Web Service(AWS) and Microsoft
Azure.
Microsoft Azure, commonly referred to as Azure, is a cloud computing service
created by Microsoft for building, testing, deploying, and managing
applications and services through Microsoft-managed data centres.
It provides software as a service (SaaS), platform as a service (PaaS) and
infrastructure as a service (IaaS) and supports many different programming
languages, tools, and frameworks, including both Microsoft-specific and third-
party software and systems.[11]
42
Chapter 2. Project Initialisation & Planification
In cloud computing there are the three model types that should be known
before getting in-depth which are:
▪︎ Public Cloud.
▪︎ Private Cloud.
▪︎ Hybrid Cloud.
Combines Public and Private clouds to allow applications to run in the most
appropriate location.
43
Chapter 2. Project Initialisation & Planification
• Most flexibility.
Hybrid • Organizations determine where to run their applications.
Cloud • Organizations control security, compliance, or legal
requirements.
Under academic and costs constraints, we cannot choose between hybrid cloud
and private cloud, so we have only one choice that can serve our need which is
the public cloud.
44
Chapter 2. Project Initialisation & Planification
45
Chapter 3: Technical Choice &
3
Functional Specification
46
Chapter 3. Functional Specification & Analysis
What makes a choice even more difficult is that it isn't possible to say which
language, framework, runtime environment, or stack is better than others, and
each one has its advantages and limitations.
In some projects, different technologies could use interchangeably. In others, it
would be impossible. That’s why it is important to make an information-based
choice instead of depending on those common myths or sticking to the easiest
solution.
So in this part, we will present and discuss the technical choices in our project.
The backend, also called server-side, remains invisible and not accessible to
users. It’s literally the backbone of the application.
For better choosing the backend environment, first it must provide three main
factors which are:
- Productivity.
- Performance.
- Security.
47
Chapter 3. Functional Specification & Analysis
• ASP.NET Core:
ASP.NET Core is a cross-platform, high-performance, open-source
framework for building modern, cloud-enabled, Internet-connected apps.[15]
48
Chapter 3. Functional Specification & Analysis
• Ocelot Gateway:
It is an API Gateway for . NET platform. This project is intended for people
using .NET Core running a micro service/service oriented architecture that
needs a unified entry point on their system. However, it will work with
anything that uses HTTP and runs on any platform supported by ASP.NET
Core.[16]
The frontend, which is also called a client-side. It’s the part of the application
that’s displayed on users’ screens .
For smooth user interacting experience, we have used these technologies:
• Angular 10
Angular is a development platform, built on TypeScript.
It includes:
- A component-based framework for building scalable web applications
- A collection of well-integrated libraries that cover a wide variety of features,
including routing, forms management, client-server communication, and more
- A suite of developer tools to help us develop, build, test, and update our
code.
• HTML5
HTML5 is the latest version of Hypertext Markup Language for the structure
and presentation of web content; it is designed primarily for the purpose of
improving accessibility and semantics.[17]
• CSS3
CSS3 is the latest evolution of the Cascading Style Sheets language. It describes
how the elements of an HTML interface should be displayed.
49
Chapter 3. Functional Specification & Analysis
• Gateway:
Also known as Enterprise Service Bus (ESB).
This later implements the communication system
between different services of the Software application
in an SOA architecture.
In our case, we are using Ocelot, a .NET API Gateway.
It manipulates Http Requests until they reach
a middleware that will make the request itself.
50
Chapter 3. Functional Specification & Analysis
This later is the last thing in the Ocelot pipeline, in other words, it does not call
the next middleware, then the response from the API is retrieved as it goes back
up in the Ocelot pipeline.
During this project, our gateway will be hosted with a cloud-computing
based platform for hosting websites, created and operated by Microsoft ,
Azure web app.
• Services:
They are simply the different APIs we are building,
Each is a representation of a business and data access layer.
In fact, every single one is responsible for a main functionality, and here we
mention the DRY (don't repeat yourself) design principle which is stated as
"Every piece of knowledge must have a single, unambiguous, authoritative
representation within a system", at the same time we tried to improve the
reliability between different services so there would always be an interaction
between them without affecting the system flow if any problem accrues in one
of them.
Our services are also hosted in public cloud with Azure web app.
• Data Tier:
It responsible for storing the application data.
Our data base will be hosted in SQL Server , a cloud database provided as part
of Microsoft Azure.
• Software Choice:
Choosing the software was selected according to some criteria like performance
and security, so we choose:
Microsoft Visual Studio, an integrated development environment from
Microsoft. It is used to develop computer programs, as well as websites, web
apps, web services, and mobile apps
As it is a user-friendly software with all the features it provides and an easy to
explore cross-platform.
51
Chapter 3. Functional Specification & Analysis
It allows us to easily add packages to our project. We just must type one
command line to install whatever package we need.
Also, thanks to its debugger we can easily set breakpoints and run the code
line by line while seeing what values are currently assigned to our variables in
real-time.
Not forgetting to mention, keyboard shortcuts which are so helpful and a gain
of time.
For example, simply type “ try ” then hit the tab button twice to use try-catch
block. The same thing applies for “ CW ” and “ ctor " if it's needed to write
“ Console.WriteLine( ) ” or the constructor of a corresponding class, etc.
Along with Visual Studio, we used Swagger and Postman to test our APIs.
• Swagger:
Is an Interface Description Language for describing RESTful APIs expressed
using JSON. Swagger is used together with a set of open-source software tools
to design, build, document, and use RESTful web services[19]
52
Chapter 3. Functional Specification & Analysis
To assure the adoption of an agile approach, in order to manage the app and
maximizes feedback that will assure a continuous improvement, being the most
widely used agile methodology, SCRUM has been the framework adopted to
manage the realization and delivery of the product in this project .
53
Chapter 3. Functional Specification & Analysis
In fact, the product backlog represents the project plan, the roadmap of what
will be delivered.
It's a list of features, epics, bug fixes, or other activities that are usually
represented as a set of user stories being the most common each with
complexity points that describe the estimate made by the team(business values)
and by a priorities assigned by the Product Owner(priority).
• Business Value. Measurement given to user stories of how useful some
feature would be.
Usually depending on some conditions:
- Being sure that the task will be successfully completed.
- The customer should really need it to be done.
- The team itself must be excited bout completing it.
• Priority. A value given to each feature to decide its priority considering some
criteria, in our case we followed the MoSCoW prioritization technique:
54
Chapter 3. Functional Specification & Analysis
After this brief explanation, below is the project’s backlog featuring its epics:
55
Chapter 3. Functional Specification & Analysis
After the previous section, here is a breakdown of the backlog to have a clear
understanding of some specific modules.
•Users: the persons who work within the organization and have access to its
data.
•Members: external persons who have a membership or collaboration with the
organization thus they may have a subscription and are organized according to
their types.
•Warehouses: Places where the organization's products are stored.
•Third Parties: persons who either buy or sell products to the organization
may also be neither of them, just external parties whom data may be needed.
Before building a new home, a good plan is an obligation to build a perfect and
proper house.
In fact, it's the same thing with building apps, before starting programming and
developing our solution it's important to understand it and plan for it.
In this case, the first step to take for achieving this goal is Use Case Diagram.
This later is a basic representation of how the user(actor) uses the system and
interacts with it.
This is to say, the main purpose is to describe the system built in this project by
representing who is using the system (actors) and what functionalities they can
or must-do during the app's life cycle (use cases).
:
56
Chapter 3. Functional Specification & Analysis
So, the purpose of sprint planning is to define what can be delivered in the
sprint and how it will be achieved.
The planification of every delivery and release in each sprint is based on the
product backlog and the chosen microservices.
57
Chapter 3. Functional Specification & Analysis
58
Chapter 3. Functional Specification & Analysis
Overall, all services are hosted on Azure Web App, which is PaaS, and
distributing microservice responsibilities were in modular feature.
Each of the following service is responsible of:
• Client App. Is the Client Side application so the user can interact with the
app.
• API Getaway. Is used to decouple the client interface from our backend
implementation.
59
Chapter 3. Functional Specification & Analysis
When a client makes a request, the API gateway breaks it into multiple
requests, routes them to the right places, produces a response, and keeps track
of everything.
60
Chapter 4: Project Lunching
4
Down to the most important section of this project, here is a detailed
description of each microservice that will be implemented and explained.
Going throw each service, every epic, and its features.
Passing by the explanation of the microservices architecture of each sprint and
it diagrams.
61
Chapter 5. Project Lunching Sprint 1.
The organization of the first sprint was reliant on the priority of each epic.
This sprint is the first step for the development process for the software, and it
includes these epics and features, estimation, etc.
- Start Date: 25 Mars
- End Date: 16 April
- Estimation ( hours ): 390 Hours
62
Chapter 5. Project Lunching Sprint 1.
63
Chapter 5. Project Lunching Sprint 1.
64
Chapter 5. Project Lunching Sprint 1.
For example, If one user wants to access some other user's first and last name,
It won't be necessary that the service he is consuming is also responsible for
giving a token or identifying the user of whom data he is getting.
The purpose of the communication between these two services is to get the
user's information from the account management service to identify the user
and generate him a token then send it back.
• Company/User services communication:
After seeing this specific scenario, it's noticeable that both services have a
connection between them.
A member in ERP/CRM system is a person that deals with our company; thus,
it may become a third-party or a user, in this case with the data of a certain
member I can create thanks it a user having the same information that
represents the later.
65
Chapter 5. Project lunching. Sprint 1. Authentication service
So this service would use ASP.NET Core Identity to provide a secure way for
logging and a safe way to access other microservices.
66
Chapter 5. Project lunching. Sprint 1. Authentication service
A class diagram is a set of classes and relationships that describe the structure
of the system by illustrating attributes, operations and relationships between
classes, thus, it works according to the principles of object-orientation.
So we will use this diagram for better visibility to the objects and the way
of interacting.
67
Chapter 5. Project lunching. Sprint 1. Authentication service
The schema below represents the process of the sign-in scenario to our
system.
Briefly, the process would need 6 objects to have a full authentication scenario,
which are the client app, the API Gateway, the authentication service which
responsible for authenticating and generating token to the user, the Account
Management service which responsible for managing users, company
management service because the user, after all, would connect for a certain
company to manage and finally, the MS SQL Server which responsible for the
system database.
68
Chapter 5. Project lunching. Sprint 1. Authentication service
In this part, we will show the screenshots of sign in page interface and the
forget password page interface.
69
Chapter 5. Project lunching. Sprint 1. Authentication service
1. User-Name Input
2. Password Input
3. Sign in Button
1. User-Name Input
70
Chapter 5. Project lunching. Sprint 1.
After typing credentials and get logged in, the software would navigate to the
hope page and shows up the sidebar menu, the dashboard which presenting
several company statistics,…
2. 5.
1. 4. 6.
3.
7.
8.
The software has a simple structure to understand by user, and it contain a side
navigation bar and a body displaying each page content with footer.
Each point has their significance which are:
1. Current Company Logo And Name 5. Profile Picture & Name
2. Page Content Title 6. Go To Profile Page Button
3. Side Bar Menu 7. Logout Button
8. Footer Section
4. Page Content
71
Chapter 5. Project lunching. Sprint 1. Account Management
In this service, we must have full control to maintain users info according to
each company, which means, every user in the database should belong to their
own company.
Every user can belong to one or several companies, and in client app, user is
able to switch between companies.
This schema shows the possible use cases of this service that user can user in
this service.
72
Chapter 5. Project lunching. Sprint 1. Account Management
In this part, we will represent the general class diagram of the account
management service, and a detailed description of the attributes and methods
used during the development of this microservice.
73
Chapter 5. Project lunching. Sprint 1. Account Management
74
Chapter 5. Project lunching. Sprint 1. Account Management
Finally, we will present the graphic interfaces for the account management.
The first figure represents the list of users in the current company, and the
second schema represents the user profile page.
75
Chapter 5. Project lunching. Sprint 1. Account Management
2. 4.
3.
1.
8. 6
5.
7
9.
This schema shows the main features of Manage Users page, these point below
present each one their significate:
1. Go To Manage Users Button
2. List Content Title
3. Users List
4. Create User Button
5. Clickable Input To Modify User Property
6. Drop Down Button
7. Delete User Button ( Dropped Content )
8. Go To User Profile
9. Page numbers
76
Chapter 5. Project lunching. Sprint 1. Account Management
1. 2.
3. 4. 5.
77
Chapter 5. Project lunching. Sprint 1. Company Management
This schema shows the possible use cases in this service that can user have in
this service.
78
Chapter 5. Project lunching. Sprint 1. Company Management
Thanks to this diagram a clear picture of the app's structure will be shown, and
an explicit view of the communication between the company and
authentification microservice will be explained.
79
Chapter 5. Project lunching. Sprint 1. Company Management
In this part, we will present the realise of the company management system
with their details and description.
The first figure represents the list of companies that the user have access to,
and he’s able to connect to each one instantly, and the second figure represent
the company page details for more information.
80
Chapter 5. Project lunching. Sprint 1. Company Management
2. 3. 4.
1.
5. 6.
7.
8.
10. 9.
11.
81
Chapter 5. Project lunching. Sprint 1. Company Management
1.
7.
5.
2.
3. 4.
6.
82
Chapter 5. Project lunching. Sprint 1. Member Management
A big picture of this service's main functionality and the way a user interacts
with it will be delivered throw this diagram.
83
Chapter 5. Project lunching. Sprint 1. Member Management
84
Chapter 5. Project lunching. Sprint 1. Member Management
85
Chapter 5. Project lunching. Sprint 1. Member Management
In this part, we will present the realise of the member management system
with their details and description.
The first figure represents the member profile interface to show the member
detailed information and to provide different actions for the user, and the
second figure represents the pop up we would use if we want to create a new
member in the current company.
86
Chapter 5. Project lunching. Sprint 1. Member Management
1.
2. 3. 4.
5.
6. 7. 8.
13.
9.
10.
11.
14.
12.
87
Chapter 5. Project lunching. Sprint 1. Member Management
15.
16.
17. 18.
88
Chapter 5. Project lunching. Sprint 1. Member Type Management
In the following diagram, we will be showing the relation between the member
and its member type and how it is established.
89
Chapter 5. Project lunching. Sprint 1. Member Type Management
90
Chapter 5. Project lunching. Sprint 1. Member Subscription Management
In the following diagram, we will be showing the relation between the member
and its member subscription and how it is established.
91
Chapter 5. Project lunching. Sprint 1. Member Subscription Management
92
Chapter 5. Project Lunching. Sprint 2.
The second sprint includes products, services, and warehouse management also
third-party and contacts management services.
The organization of the second sprint was reliant on the priority of each epic.
In each of the next sections an explanation of each service and component will
be given.
93
Chapter 5. Project Lunching. Sprint 2.
This sprint is the second step in the development process for the software, and
it includes these epics and features, estimation, etc.
- Start Date: 25 Mars
- End Date: 16 April
- Estimation ( hours ): 390 Hours
94
Chapter 5. Project Lunching. Sprint 2. Warehouse Management
95
Chapter 5. Project Lunching. Sprint 2. Warehouse Management
96
Chapter 5. Project Lunching. Sprint 2. Warehouse Management
97
Chapter 5. Project Lunching. Sprint 2. Warehouse Management
In this illustration, we will show the use cases and the functional needs that
Warehouse Management Service responsible on
98
Chapter 5. Project Lunching. Sprint 2. Warehouse Management
This scheme would illustrate the relationship and data structure between
components in Warehouse Service.
99
Chapter 5. Project Lunching. Sprint 2. Warehouse Management
100
Chapter 5. Project Lunching. Sprint 2. Warehouse Management
1.
3. 4.
2.
7. 6. 5.
101
Chapter 5. Project Lunching. Sprint 2. Product Management
The need Product Management exists in all organisations that involve people
and resources. It is necessary to achieve a result and operational management
ensures a long-term transformation of strategic plans into operational plans of
actions.
Operational management is quite a complex process of coordinating and
directing operational activities. Operational product management must ensure
the required quality of the structure and resources, and these resources should
be directed towards the desired goal.
So we will present the service diagrams that describe their functionalities and
importance.
This schema is a representation of the possible use cases a user can user.
102
Chapter 5. Project Lunching. Sprint 2. Product Management
103
Chapter 5. Project Lunching. Sprint 2. Product Management
104
Chapter 5. Project Lunching. Sprint 2. Product Management
1. 6.
2.
4.
5.
8. 7.
3.
3.
9.
105
Chapter 5. Project Lunching. Sprint 2. Product Management
10. 11.
16. 18.
17.
106
Chapter 5. Project Lunching. Sprint 2. Service Management
This schema shows the possible use cases a user can use..
107
Chapter 5. Project Lunching. Sprint 2. Service Management
108
Chapter 5. Project Lunching. Sprint 2. Service Management
109
Chapter 5. Project Lunching. Sprint 2. Third-Party Management
A big picture of this service's main functionality and the way a user interacts
with it will be delivered throw this diagram.
110
Chapter 5. Project Lunching. Sprint 2. Third-Party Management
111
Chapter 5. Project Lunching. Sprint 2. Third-Party Management
1.
5. 7.
6.
4.
8.
9. 10. 11.
1.
2.
12.
3.
13.
112
Chapter 5. Project Lunching. Sprint 2. Contact Management
A big picture of this service's main functionality and the way a user interacts
with it will be delivered throw this diagram.
113
Chapter 5. Project Lunching. Sprint 3
The third and the last sprint includes Contract and Subscriptions, Customer
and Vendor invoices, Taxes, and Expense Report managements.
The organization of the last sprint was reliant on the priority of each epic.
In each of the next sections, an explanation of each service and component
will be given.
This sprint is the second step in the development process for the software, and
it includes these epics and features, estimation, etc.
- Start Date: 17 April
- End Date: 25 May
- Estimation ( hours ): 280 Hours
115
Chapter 5. Project Lunching. Sprint 3
This epics provides different features that a user can use to manage
subscriptions and contracts, so this schema will present the use cases
of this epic.
117
Chapter 5. Project Lunching. Sprint 3. Contract & Subscription Management
118
Chapter 5. Project Lunching. Sprint 3. Contract & Subscription Management
119
Chapter 5. Project Lunching. Sprint 3. Contract & Subscription Management
120
Chapter 5. Project Lunching. Sprint 3. Contract & Subscription Management
1.
8. 10.
7.
6. 9.
2. 3.
11. 12.
4.
13.
5.
121
Chapter 5. Project Lunching. Sprint 3. Invoice Management
The use cases of this service is similar to the previous epic, and this schema is
a representation of the possible use cases
122
Chapter 5. Project Lunching. Sprint 3. Invoice Management
123
Chapter 5. Project Lunching. Sprint 3. Invoice Management
Chapter 5. Project Lunching. Sprint 3. Expense Report Management
The expense microservice is responsible for each company's spending and its
reports.
It includes taxes, taxes rate which change according to the country this
application belongs to.
It also includes expense reports, and as their names refer to, they are proof
what and when an organization did spend during regular working days.
In this section, an explanation of the expense report management will be
delivered.
Each report is composed of two main sections, total expense, and payment.
each time an Expense line is added to a report the amount of INC
Tax(tax imposed on the net income of the company) will increase and
depending on the VAT value choosing the value of the EXCL Tax will be
calculated.
125
Chapter 5. Project Lunching. Sprint 3. Expense Report Management
The use cases of this service is similar to the previous epic, and this schema is
a representation of the possible use cases
126
Chapter 5. Project Lunching. Sprint 3. Expense Report Management
127
Chapter 5. Project Lunching. Sprint 3. Expense Report Management
1.
2. 3.
4.
128
Chapter 5. Project Lunching. Sprint 3. Tax Management
Tax management is one of the components that belong to the expense report
microservice.
For each settled period, a tax is added to a company's database containing all
needed information including the amount of money.
Following the split payment mechanism, the organization has the freedom to
pay its taxes with specifying the date of the payment and without exceeding the
end period.
A big picture of this service's main functionality and the way a user interacts
with it will be delivered throw this diagram.
129
In this diagram the relationship between different models will be better
explained and .
130
In the previous sections, we explained each of the modules of our ERP/CRM
application.
And In this section, we will give a global conclusion of what we already
delivered, by representing the following two diagrams.
131
General Conclusion
This thesis is part of the end of studies project to obtain a bachelor's degree in
computer science and multimedia at the Higher Institute of Arts and
Multimedia of Manouba.
This internship represents the fruit of our work during the three-month
internship within the company BitSoft Innovation, and it was supervised by Mr
Hafedh Nefzi and Mr Mohamed Ayamen Ben Salah.
The purpose of this project is to design and carry a white brand app that can fit
different type of organizations and companies to use an ERP CRM system to
enhance their data visibility and lowering costs with increasing revenue
throughout the business.
This report describes the results of our work in different phases, therefore we
first carried out an in-depth representation of some popular ERP CRM
application that allowed us to fully understand the needs of using them with,
given a clearer vision on our duty in this internship and the purpose of
generating a solution that meets BitSoft’s needs and expectations.
In fact, we encountered some difficulties in this project because of covid
problem, we had to work remotely, and our meeting in the internship was all
online, that made our challenge harder with lack of information in ERP and
CRM systems that makes searching and analysing a compulsory step to
complete this project and to satisfy our technical supervisor.
On a professional level, this internship was a great opportunity for us to practice
new technologies and methodology like DevOps, Angular, ASP.NET Core,
SOA architecture, hence we learned how to adapt quickly and to learn new
things in a limited time while challenging our self to enhance our time
management the right way, and controlling daily stress and pressure.
132
General Conclusion.
133
Netnographic Resources Table
[2] Understanding the Need for CRM & ERP Systems 03/02/2021
Integration | Cleo
[3] https://www.salesforce.com/eu/learning- 04/02/2021
centre/crm/crm-systems
[4] https://www.oracle.com/erp/what-is-erp 10/02/2021
https://www.devopsgroup.com/insights/resources 30/03/2021
[6] /tutorials/all/what-is-azure-devops
[7] YAML - Wikipedia 15/04/2021
I
Nosographic Resources Table.
[15] https://docs.microsoft.com/en-
us/aspnet/core/introduction-to-aspnet-core 24/04/2021
[16] https://dzone.com/articles/ocelot-the-api- 24/04/2021
gateway-framework-for-net
[17] HTML5 – Wikipedia 25/04/2021