KEMBAR78
Low Code Manual | PDF | Scrum (Software Development) | Agile Software Development
0% found this document useful (0 votes)
22 views47 pages

Low Code Manual

The document outlines the structure and content for the '10213GE303 Low Code Development Lab' course for the academic year 2023-2024, including a bonafide certificate and an index of tasks. It details various tasks related to project life cycle management, project initiation, planning, management methodologies, user story creation, and business needs analysis. Each task includes aims, descriptions, and results, emphasizing the use of Mendix for agile application development.

Uploaded by

saigudipati9000
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)
22 views47 pages

Low Code Manual

The document outlines the structure and content for the '10213GE303 Low Code Development Lab' course for the academic year 2023-2024, including a bonafide certificate and an index of tasks. It details various tasks related to project life cycle management, project initiation, planning, management methodologies, user story creation, and business needs analysis. Each task includes aims, descriptions, and results, emphasizing the use of Mendix for agile application development.

Uploaded by

saigudipati9000
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/ 47

Department of Computer Science and Engineering

School of Computing
ACADEMIC YEAR 2023 – 2024
Winter Semester

10213GE303 LOW CODE DEVELOPMENT LAB

NAME:

VTU NO:

REG.NO:

BRANCH:

YEAR/SEM:

1
Department of Computer Science and Engineering
School of Computing

ACADEMIC YEAR 2023 – 2024


Winter Semester

BONAFIDE CERTIFICATE
NAME:

VTU NO:

REG.NO:

BRANCH:

YEAR/SEM:

Certified that this is a bonafide record of work done by an above student in the “10213GE303
Low Code Development” during the year 2023-2024.

SIGNATURE OF FACULTY IN-CHARGE SIGNATURE OF IN-CHARGE

Submitted for the Semester Examination held on ___________ at Vel Tech Rangarajan Dr. Sagunthala
R & D Institute of Science and Technology.

INTERNAL EXAMINER EXTERNAL EXAMINER

2
INDEX
S. No TITLE MARKS PAGE
NO.
01 Development of Project Life Cycle and Wireframe 4

02 Project Initiation, Project planning, Project Management, Teams Developed 7


Development Methodologies (Waterfall & Agile)

03 Analyzing business needs & Requirements gathering 14

04 Creation of User Stories and importing into Mendix studio 16

05 Design Thinking-Design, Develop Wireframes, and project brainstorming to 20


start the creation process

06 Data Modeling-Develop Entity Relationship Diagrams (ERDs) and build 25


back-end databases using low-code

07 Development of User Interface Design for sprints 28

08 Advanced User interface and Design with Business Logic and Flows – 33
Develop Business logic and flow of information with security and permission

09 Designing and refining 36


i)System Design & System Design Variations Implementation
ii) Transition to the new system
iii) Object Oriented Analysis & Design
iv) Managing Systems Implementation
10 Project Presentation 39

3
Date:30.12.2023 Task 1
Development of Project Life Cycle

Aim
Studying the definition of development of project life cycle
Description
A project resembles a living organism, and Mendix can support you through all the
stages of building your project, from the first baby steps to retirement. This is called
Project lifecycle management (PLM). It is an integrated system of people, processes, and
tools that guides the journey of an app. There are various frameworks describing that
journey, which can differ per company or per app Various frameworks describe that
journey, which can differ per company or building your project, from the first baby steps
to retirement. This is called Project lifecycle management (PLM). It is an integrated
system of people, processes, and tools that guides the journey of an app. There are
various frameworks describing that journey, which can differ per company or app.
Mendix supports PLM because developing transformative applications at speed
requires rapid experimentation, frequent iteration, and close collaboration between
business and IT. While many applications developments tools focus on deployment,
Mendix supports each stage of the cycle. It brings together cross-functional teams, allows
them to build software together, and creates a common language between business and
IT. Mendix facilitates a more iterative, flexible process that allows organizations to adapt
to changing requirements.
 The lifecycle of the app starts right there, at capture. Once there is a problem that
needs to be solved, an app might come as a solution to this problem. Mendix
supports the ideation process by providing a variety of collaboration features. For
example, you can use Buzz to brainstorm with your teammates, ask questions, set
up a poll, and make decisions.
 Then, they develop phase of the app takes place! The team joins forces and all
members try their best to develop a functional app as fast as possible. Mendix
provides a system where all team members can collaborate. You synchronize and
control the app development process using Mendix Studio and Studio Pro, and you
plan tasks and sprints based on user stories. With version control, you can
reconcile the work of multiple developers into a single version.

4
 When the app is developed, Mendix takes care of the deployment phase. Users can
access it directly on their mobile, laptop, or other devices.
 Once they access it, users can provide feedback directly from the app. Feedback is
facilitated as an integrated system within the app. After receiving feedback, you
can review and implement it directly in your app. That is the fourth stage of the
agile application lifecycle management: the iterate phase.

We uses Excel to manage the training courses that the company offers. As the
company grows, it’s becoming more and more difficult to keep a clear overview of all the
courses and the people who attend them.

Project Life Cycle

5
Result
Thus, we have successfully studied the development life cycle process.

6
Date:13.01.2024 Task 2
Project Initiation, Project planning, Project Management, and Teams
Developed
Aim
Study completely about the project development life cycle and choose the suitable model.
Description
 Project Initiation
Project initiation involves the identification of the problem statement, understanding it
properly and properly going through it, and finding the steps of what we are going to do.
Here in this project, we need to build an application that manages the training course
details of the Learn Now company. It involves the management of registering new
participants, entering new courses into the system, and quickly scheduling the course’s
dates and timings.
 Project Planning
Project planning is a discipline addressing how to complete a project in a certain
timeframe, usually with defined stages and designated resources. One view of project
planning divides the activity into these steps: setting measurable objectives. identifying
deliverables. scheduling.
 Project Management
Project management is the process of leading the work of a team to achieve all project
goals within the given constraints. This information is usually described in project
documentation created at the beginning of the development process. The primary
constraints are scope, time, and budget The secondary challenge is to optimize the
allocation of necessary inputs and apply them to meet predefined objectives.
Mendix can help you bring collaboration to the next level! But for that, you first need to
choose your team members! With Mendix, you can build large or complex applications
with only two project members: a business focus and a technical focus. A wide range of
users can understand Mendix’s visual modeling, which allows non-technical team
members to build business applications quickly and easily. On the Team page in the
Developer Portal, you can do everything related to your team. You can invite new
members, delete existing ones, and manage the roles and rights of each member.

7
 Teams Developed
To add members, click on the Invite Members button on the right of your screen, and
follow these steps:
1. Add at least two valid email addresses. Keep in mind that only corporate or
educational email addresses are allowed and that a confirmation email will be sent. Then,
click Add to the invitee list.
2. Select a role for each new team member for this project, then click Next.

To add members, click on the Invite Members button on the right of your screen, and
follow these steps:
1. Add at least two valid email addresses. Keep in mind that only corporate or
educational email addresses are allowed and that a confirmation email will be sent. Then,
click Add to the invitee list.
2. Select a role for each new team member for this project, then click Next.
3. Type in a personalized message, then click Next again.
4. Review all the data you filled in is correct, then click Send invitations.
The invitation will appear in the invitee’s mailbox. Once they accept, you will be able to
see them in the Team section of your app project.

8
 Wireframes
To visualize your app and at the same time streamline the process of creating user stories,
a wireframe may come in handy. A wireframe is a visual way to show the basic features
of the app you want to develop. It does not need to be detailed and perfect. It is just a
quick and effortless way to explain how you imagine the app.
The office tends to get messy sometimes, so they don’t want to risk someone throwing
their wireframe away! They quickly take a picture and upload it to the documents page of
their app project. In that way, they can look back at it when creating the app.
 Create Wireframes for your Homepage
Time to be creative! Take a piece of paper and fold it one time horizontally and one time
vertically, to create four rectangles. You’ve already seen how Jimmy and his team
envisioned the app. Draw four different ways that the homepage of your app could look!

 Development Methodologies (Waterfall & Agile)


For many years, software developers used defined methods of working and managing
projects, such as Waterfall. The requirements were defined at the beginning of the
project, and the work was scheduled over a longer period. As market needs change
quickly and project requirements become more complicated, Waterfall is not able to

9
respond to the challenges that arise. In 2012, Gartner published a research paper
titled The End of the Waterfall as We Know it, showing that the longer the duration of a
waterfall project. Developing transformative applications at speed requires rapid
experimentation, frequent iteration, and close collaboration between business and IT. By
prioritizing speed and agility, you can increase productivity and improve project
outcomes.
In other words, you can make an app in just days instead of months or years, so as you
can see below, agile adds a lot more value in terms of speedier prototyping, time to
market, and overall quality.
 Agile
Agile is an umbrella term for several iterative and incremental software development
approaches. Agile promotes a highly iterative process for application development, with
multiple development cycles called sprints.
It is designed so that all parties can provide feedback as the software is developed
efficiently and effectively. Some Agile frameworks include Scrum, Kanban, and Extreme
Programming.
Scrum is by far the most popular of the Agile methods. It is a straightforward way to
develop complex products. Scrum is based on a cycle of events, a flow of work, and a
clear definition of roles.

 The Mendix Agile Approach


The Mendix approach to Agile is based on Scrum. In Scrum, you start by creating a
product backlog. Those are the work items that you potentially want to work on. The
Product Owner defines the priority of those items. Then, the team selects which items
they want to work on, and they work on those items for a fixed duration of time, called a
Sprint. There are daily short meetings (daily standup) that give insight into what each
team member is doing and ensure that everyone is on the same page. At the end of the
Sprint, the team produced a product increment, which means an improvement on the
product being developed! There is working software, and the users can provide feedback.
The product owner evaluates that feedback and sets the priorities of the product backlog.
The team has gained some valuable experience and is ready to start the next Sprint.

10
In Scrum, it is important to have small cross-functional teams. That way, you can
achieve greater focus and higher productivity. There is more effective communication,
easier documentation, and faster knowledge transfer. Each Scrum process needs a couple
of vital roles to be successful: the Product Owner, the Scrum Master, and the
Development Team. Altogether, these roles comprise the Scrum Team.
Scrum Roles
 The Product Owner keeps track of the project stakeholders’ expectations and
defines the requirements for the project. In addition, the Product Owner
communicates the vision to the team to set priorities.
 The Scrum Master makes sure that the Scrum team can work according to the
Scrum methodology and focuses on optimizing processes within the team. If the
team gets stuck because of things that are out of their control, it is the Scrum
Master's job to remove those impediments.

11
 The Development Team consists of the people who build the app. A Mendix App
Team usually consists of two to three members such as engineers, designers,
architects, and testers. These members have different skill sets and potentially
unique experience levels. There can also be several specialists included during the
project. These are “fly-in” experts who are there for a brief period because their
specialism is required in a Sprint.
The entire Scrum team works together on making sure the project is successful. They
ideally cross-train each other, so the team's success is not reliant on a single person. The
Scrum team organizes itself to make things happen.

Scrum in Mendix Projects


Within a Mendix app project, you have a couple of project roles available to you by
default. Other than the Product Owner and Scrum Master role, you can also choose a role
for the different members of your development team. In Mendix, developers are called
Business Engineers.

12
The Scrum Master usually has more administrative rights within the app. In some teams,
there is a dedicated Scrum Master. When the team is small, one of the team members
usually takes over the role of the Scrum Master parallel to development.

You can also have a Performance Engineer/Tester and/or Application Operator. They can
monitor how smoothly the app is running and deploy the latest version of the app.
However, they are not involved with building the app itself. Stakeholders can be assigned
the End User role, which will allow them to take part in the ideation phase, but they
won’t be able to edit the app.

You can add additional project roles or edit existing ones based on your preferences and
needs. But usually, you won’t need to do this because the default roles will be enough.

Result
Thus, the agile model is well suitable for developing Mendix projects.

13
Date:27.01.2024 Task 3
Analyzing business needs & Requirements gathering
Aim
Understanding the business needs and requirements for the project
Description
 Analyzing business needs
A business needs analysis (BNA) is an analysis tool that helps a company identify the
key drivers for change and determine the best options or solutions to resolve issues or
improve productivity or performance. The business needs analysis aims to clearly
understand the business and its needs. So here the need is to develop an application that
manages all the details of training courses.
Based on the users and their needs, we can then think of what we need to create to help
them resolve those needs. For example, what would an administrator need to be able to
keep his or her training up-to-date?
An overview of all the training courses, an option to add, edit, or delete courses A
detailed calendar of when each course is going to be held, and the need to contact
participants who are late.
The email address of each participant
 Requirements gathering
Requirements gathering is the process of identifying your project's exact
requirements from start to finish. This process occurs during the project initiation
phase but you will continue to manage your project requirements throughout the entire
project timeline.
Questionnaires
Asking the client, here we are the client so we should ask ourselves some specific
questions like what is this project for and how are you going to use it, and how this is
used for solving a specific problem that is defined earlier. So, we should ask the
questions carefully to meet the solution that we should be developing.
Use case Scenarios
Based on the questions asked we will develop some use cases that contain the problem
statements and those use cases describe how you think the project will pan out that is how
14
the project goes. From the use case scenarios, we will think of the what is things that are
required for this project and we will try to gather them by using sources or using some
techniques that help them to gather them.

Result
Thus, the Analyzing business needs & Requirements gathering for the project is
successfully done.

15
Date:10.02.2024 Task 4
Creation of User Stories and importing into Mendix studio
Aim
Creating the user stories for the project development.

Description
A user story is a way to translate the needs of your users into items you can work on. You
probably have some basic ideas on how your app should function, and what it should be
able to do. So now it’s time to create user stories based on those ideas. The more these
user stories reflect the needs of your users, the happier your users will be!
Eventually, those user stories will fill your product backlog. The product backlog is a list
of work items that can be done. Everyone in the Scrum Team can add items to the
product backlog, but it is the responsibility of the Product Owner to prioritize those items
in negotiation with the various stakeholders. The product backlog is a living document
that needs constant refinement, as items can be added and others changed or removed.
When working with Scrum, you do not estimate how much time you will need to
complete some work. Why? Because you already have a timebox, your Sprint! The
Sprint is a fixed period, during which the team tries to achieve a certain goal. The Scrum
team chooses one, two, three, or four weeks as the Sprint duration. Usually, a two-week
sprint is a good length to start with. Short sprints provide short feedback cycles, which
help you to achieve fast outcomes! A Sprint usually starts with the Sprint planning and
ends with the Sprint review and retrospective.
Let’s have a better look at those elements of a Sprint. In traditional plan-driven
approaches, you set certain requirements, and then you negotiate how much time and
resources you will need to meet those requirements. With Agile and value-driven
approaches, the time and resources are set, as you have a timebox for your Sprint (for
example, two weeks) and a certain number of people working on a team. What you can
negotiate is the value of features you are going to provide to your users (in other words,
how much effort you are going to need to achieve a product increment). This effort is
decided on and translated into story points by the development team during the
refinement sessions.
Here are three things to think of when creating a user story:
 Who is my app’s end-user? <user type>

16
 What does the end-user need to do? <business value>
 How can I help them do that? <what>
we used this simple user story template:
As a <user type>,I want <what>,so that <business value>

Add User Stories to App


Having created a wireframe of your app, you will now have a much better idea of what
your users need and what your app is going to look like.

Next, you will need to add the user stories to your app via the Developer Portal. From
there, you can add more details on what needs to be done. You will be able to pick a new
item to work on as you go. You will then be able to communicate your progress and
collaborate with your teammates. Last but not least, this will give you a better overview
of what needs to be done before the end of the Sprint!

Create Story

17
Procedure
How to add a new user story

Time for you to try! Go to the Stories page of your app’s dashboard, and add one of the
user stories we defined earlier. Use the following details:

Title: As an administrator, I want to import my list of user stories into Mendix, so that I
can see and share progress with my team.

Story type: Feature

Story points: Add an estimate. How much effort do you think it will take?

Description: How would you describe this user story so that your team understands what
it’s about?

We will need that user story for the next part of the training, so make sure you add it to
your backlog!

Import User Stories

Usually, when working as a team, you will be adding user stories progressively when
talking with a stakeholder or receiving user feedback.

On average, you will spend approximately one-tenth of your Sprint time refining user
stories. That is time well spent, though, as it helps you better understand the needs of
your users and build features that cover those needs!

In this learning path, we want to teach you how to develop your first app in Mendix
rapidly, so we won’t ask you to spend hours thinking out and writing all those user
stories!

You can import the excel file, which you will find on the Resources tab, into Mendix by
following these steps:

1. Download the Excel sheet on the Resources tab. Save it in your desktop.
2. Go to Stories, click More and select Import/Export from the drop-down menu
options.

18
2. Select Update stories from XLS.
3. Pick the file you just downloaded from the Resources tab.
4. Click Import.
5. Scroll all the way to the bottom and click Next to accept the changes.

This is what your Stories page should now look like.

Result
Thus, the creation of user stories and entering the Mendix studio are being done
successfully.

19
Date:24.02.2024 Task 5
Design Thinking-Design, Develop Wireframes, and project
brainstorming to start the creation process
Aim
To Design Thinking-Design, Develop Wireframes, and project brainstorming to start the
creation process.
Description
Design, Develop wireframes
Designing is the part where we will have an idea of what our app looks likes and how the
user should feel when using the app, it is called UX (user experience) and the looking of
the app is called UI (user interface). This is done by developing the wireframes like we
design the app and functionalities for the design of the app is linked through the help of
wireframes.
Wireframing is a process where designers draw overviews of interactive products to
establish the structure and flow of design solutions. These outlines reflect user and
business needs. Paper or software-rendered wireframes help teams and stakeholders
ideate toward optimal, user-focused prototypes and products.
The first phase of building an app is taking a look at the user stories and prioritizing them
to see which one would be most useful to start with. In general, the most important user
story is the one that immediately generates value for the user, and which can serve as a
starting point to further expand and enhance your app. As soon as you have defined
which User Story to start with, you know the tasks you need to complete within that User
Story, so you can actually start developing.
Completing this user story would involve the following tasks:

1. Have a homepage that gives access to pages where information can be seen.
2. Adjust the homepage layout to accommodate for the buttons to be created.
3. Add the buttons.
4. Add the pages to which the buttons will link.
5. Link the buttons to these pages that show the information in the system.

20
If you have Mendix Studio Pro installed already, it will open and immediately start
downloading the app from the Team Server (the Team Server is the online environment
where all the Mendix apps are stored). However, if you don’t have Mendix Studio Pro
installed, a window will appear allowing you to download and install it. Please proceed,
and when finished, open your app in Mendix Studio Pro as detailed above. To make sure
you have the same Mendix Studio Pro layout as the one used in this course,
click View and then Reset layout.

21
Studio Pro view

1. At the top of Mendix Studio Pro is the control bar. These are the menus and
buttons, from left to right:

 File– open and close documents and projects


 Edit–all the options related to editing files, finding things in your project, and
setting your preferences
 View– from here, you can open all available tool windows
 App–functions related to your project directory and deployment packages
 Run–run and preview your app
 Version Control – all the functions related to working with Team Server (more
about this later on)
 Language– manage the language settings and access to language operations
 Help– quick access to help environments
 Run Locally– run your app locally

22
 Stop – stop running your app locally
 Publish – deploy your app in the cloud
 View App– run your app
 A button for opening the app’s Project Dashboard in the Developer Portal.
 A button that will take you to the Mendix Marketplace.
 The profile button (which may show your picture if you have it uploaded) provides
access to all your apps, the Developer Portal, your profile, and the sign out button.

2. At the top-left side of Mendix Studio Pro, you see the App Explorer (underneath
the control bar). From here, you can access all the resources of the app (pages,
microflows, and navigation, for example). The center of Mendix Studio Pro is the
editor. This is where you will build all your resources.
3. On the right side are the Data Hub, Properties, Toolbox, and Connector panes.
You already know about Toolbox and Properties, and you will learn more about
the other two in the following lectures.
4. At the bottom, you will find the Stories, Changes, Errors, and Mx Assist
Performance Bot tab. Here you can see the stories in your current sprint (and
change their status). You can also see all the resources you have added or changed
to the project and whether you have errors (and where they are). MxAssist
Performance Bot is an intelligent virtual co-developer bot that helps you improve
the performance of your app by inspecting your app model against Mendix
development best practice in Mendix Studio Pro. It detects anti-patterns during the
design and development, pinpoints you to these anti-patterns, suggests you how to
resolve it, and in many cases can automatically fix these issues.
5. Finally, and perhaps most importantly, you have the editing window in the middle!
This is where you will build all the components of your app by dragging and
dropping. You can edit any widget in here by double clicking or right clicking it to
open context menus and properties windows. At the top right of the edit window
you’ll find a switch to let you switch between Structure mode and Design
mode when designing pages. Structure mode is the default mode and explicitly
shows an abstraction of every widget that is on the page. You can switch to Design
mode to see the page transform into exactly the way it will look once it’s running.
In Design mode you’ll have access to the three device type configurations as well,
at the top of the window. This is very convenient for checking to see if your work
looks good.

23
Project brainstorming to start the creation process
Project Brainstorming is a method of generating ideas and sharing knowledge to solve
a particular commercial or technical problem, in which participants are encouraged
to think without interruption. Brainstorming is a group activity where each participant
shares their ideas as soon as they come to mind.
The first phase of brainstorming is taking a look at the user stories and prioritizing them
to see which one would be most useful to start with. In general, the most important user
story is the one that immediately generates value for the user, and which can serve as a
starting point to further expand and enhance your app. As soon as you have defined
which User Story to start with, you know the tasks you need to complete within that User
Story, so you can start developing.
Completing this user story would involve the following tasks:
 Have a homepage that gives access to pages where information can be seen.
 Adjust the homepage layout to accommodate the buttons to be created.
 Add the buttons.
 Add the pages to which the buttons will link.
 Link the buttons to these pages that show the information in the system.

Result
Thus, Design Thinking-Design, Develop Wireframes, and project brainstorming to start
the creation process is successfully done.

24
Date:09.03.2024 Task 6
Development of User Interface Design for sprints
Aim
Developing the user Interface Design for sprints.
Procedure
Create the Home Page of your App
First, to show the progress in the Overview, set the first story to Running by clicking the
grey To-do button:

1. First, to show the progress in the Overview, set the first story to Running by clicking
the grey To-do button:

2. To start building the homepage, open your app in Mendix Studio. Do this from the
Development Portal by clicking Edit in Studio.

At the top of the page editor in Mendix Studio, you can select the preview mode you
prefer. Mendix Studio is mobile-first, which means that you develop the app with the
mobile device as the starting point. This is important because more and more people
predominantly use mobile devices to visit websites or use apps. Because of this, you
always start on the mobile device preview screen.
On the left side of Mendix Studio, you see the menu bar. From here you can create and
manage your pages, domain model, and microflows (later on you will learn more about
these). As for the workflow, there is a learning path for your next level. You can also
control your navigation and change your theme and widget settings.

On the right side of the Mendix Studio, you see the Toolbox, Properties, and Buzz tabs.

25
 You can use the Toolbox to place widgets on a page. With the building blocks, you
can add predesigned and completed templates to your page, so you can build apps
even faster!
 On the Properties pane, you change the properties of the page or element that is
currently selected. You can always check the breadcrumb (at the bottom of the
page) to check which element is selected.
 Finally, you can use the Buzz page to communicate with your team. Send a
message to one of your teammates to let them know you are starting to work on the
homepage, for example. This message will also show up on the project Buzz in the
Development Portal. Nice right? Also, this page has a View app buzz option
allowing you to quickly switch to the Project Dashboard, view other messages, and
post updates.
To change the text appearing on a page, click on the text field and start typing!
The layout defines how a user will experience the app and can navigate through it in
general. Under Properties for the selected element, you can change the Layout of each
page:
 The Atlas Default layout shows the navigation menu at the sidebar.
 The Atlas_TopBar layout shows the navigation menu at the top of the page.
 The Popup Layout shows the page as a pop-up.
4. For now, let us stick to the Atlas Default layout. It is important to stay consistent with
the layout you select throughout your app. If you have different layouts on each page,
your users will be confused.
5. Change the big title on the page that says Home to LearnNow Training Management
and think of a nice subtitle to welcome the users of your app!
6. This is how it should look at the end when you switch to the Phone view:

26
The first thing you need to do when it comes to security is to decide what your user roles
will be. What are the different types of users for your app?

These access rights are managed in the Module security. For each module you can
create module roles that capture everything a certain user can and can't do. Specifically,
you can define whether each module role is allowed to access pages, trigger microflows
and how they allowed to manipulate data objects.

These module roles are then connected to existing user roles at the app level. If a
particular user role has no module role assigned in a module, the entire module is
automatically off limits to that user. They won't be able to visit the pages that belong to
the module, trigger the microflows or see the data and interact with it. User roles function
as a sort of root for the module roles.

Result
Thus, the creation of the user interface in the Mendix studio is being done successfully.

27
Date:23.03.2024 Task 7
Data Modeling-Develop Entity Relationship Diagrams (ERDs) and
build back-end database using low-code.
Aim
To create a database and ERD diagrams and build a back-end database using low code.
Description
Entities and Attributes
Before showing data in your app, you first need to understand two basic principles:
Entities - To show data in your app, you need to connect the list view to an entity. An
example of an entity for the LearnNow app would be Course. The entity will be filled
with attributes.
Attributes - Attributes determine what kind of information regarding the courses you can
see and add (for example, a title, and description). Each attribute has a data type. This
property defines the type of data that can be stored in the attribute, just like you format
the cells of an Excel sheet.
In other words: An Entity is the Data that is displayed, and the attribute defines the
format of that Data.
The following Attribute types are available, each with its values:

Type Values
Automatically generated positive or negative whole numbers. The default value of
the attribute determines the first number that will be generated. Each object
AutoNumber
created of the same type will have an AutoNumber that is one greater than the
previous one.
Binary Binary data (for example, an entire file).
Boolean True or false.
Decimal A positive or negative number can have digits after the decimal point.
A point in time that consists of a date and time component, accurate up to the
DateTime
millisecond.
Enumeration A list of predefined values.
The string will be stored after it is hashed (encrypted). This type can be used to
HashString store a password, for example. Hash values are generated using the hash algorithm
that is chosen in the Project Settings.

28
Integer A (small) whole number that can be positive.
Long A (big) whole number that can be positive.
String A text containing letters, spaces, numbers, and other characters.

Procedure
Create and Connect Entities
In this assignment, you will make sure that all the overview pages that you created in the
previous module display relevant data.
1. Let’s start with adjusting the overview page for the Courses! Open the Course
Overview page. Change the title and subtitle in the header so that they reflect what
kind of page this is and what the user will be able to see on this page.
2. Now select the list view by clicking it. The list view is going to be connected to
one specific entity and show a list of all the data belonging to that entity (for
example, a list of all the courses in the system). In the Properties panel, click
Select an entity and create a new entity by pressing the + icon. Name the entity
Course. Entity names should always be singular and self-explanatory. Note that
when creating the entity, you can choose where it will be created: in this project or
Data Hub. You need to create the entity In Project as we are creating data that will
be used inside of this app, and not outside of it. If in the future you decide to share
some data with another app, you would be using Data Hub for that. More
information about Data Hub can be found in the online learning path Share Data
Between Apps Using the Data Hub Catalog.
3. Back to the list view! The text you see in the list view is just there as an example of
how you could style your list view. The text that was already in the list view is
going to be replaced by the different attributes of the Course entity.
4. Remember the information that Jimmy wanted to add to the courses? That was
 a course title.
 a description.
 the duration.
 the price.

A description of a course can be quite a bit of text, so it is probably not an innovative idea
to show that on an overview page like this. However, the other three attributes are truly
relevant and would fit nicely.

29
5. Click on List Item Title and in the Properties pane, remove the caption List item
title (if you do not remove the caption, it will appear as static text in your app).
6. Click Add Attribute (this button is in the Content box, which is the top-most
input field in the Properties pane).
7. Click Create Attribute and name its Title. Then, set the Type to String, as the
title will consist of text. Click Create.

 Naming attributes
When you create entities or attributes that have more than one word in their name (for
example, email address), use Upper CamelCase. This means you use no white spaces or
underscores (“_”) and start each innovative word with an upper-case letter. Mendix will
understand this, and everywhere the name of the entity or attribute needs to be shown,
Mendix will output it as separate words and make those upper-case letters lower-case
again. For example, the “Email address” written in CamelCase is “Email Address.”

8. Repeat this process for the other attributes that you want to show (in this case,
duration, and price). The words in between the braces (like {Title}) will be
replaced by the values in the database in the app. That means, they will be a

30
different per row, depending on the different titles stored in the database. The text
that is not in {brackets}, in our example, Duration, and days are static and will stay
the same on all rows.

9. The template already populated two text widgets: title, and duration. You need to
add one more text widget, for Price. From the Toolbox, search and drag-and-drop
a Text widget and change its content as shown in the screenshot below.

31
10.After you connected the ListView to the entity and configured the dynamic data,
you will notice that the number of Checks has decreased. Instead of 4 errors, only 3
errors are left to resolve.

11.Repeat the same steps for the rest of the overview pages.
Result
Thus, the addition of the data to the project and the creation of the database for the
project are being successfully done.

32
Date:23.03.2024 Task 8
Advanced User interface and Design with Business Logic and Flows
- Develop Business logic and flow of information with security and
permission

Aim
To develop some Advanced User interface and Design with Business Logic and Flows -
Develop Business logic and flow of information with security and permission through
Mendix studio pro.
Description
As we have seen in the previous module on how to develop the user interfaces that were
especially useful to the users now it is the time to take the user interfaces to the next level
where we will discuss about all the advanced things of the user interface. In the advanced
UI, we will start discovering all the elements of the application clearly in such a way that
we will think and design every element of the application without moving out from the
user stories that were already given to us so that it will be in the business logic and the
flow, so the business logic and flow in the sense how the pages or the works are
undergoing a change and where they were flowing and what makes them flowing so it is
the one where we will design all the logics required by the app we will hear all the user
stories and generate some logics required by the application.
Advanced UI requires a neat and useful design development, as it is the next step of UI
design this involves some prototyping things so we will develop a model that can be
evaluated to go into the further steps in the developing process of the application
according to the user stories given. A prototype is a functional, not definitive version of
a product or service that businesses can use for testing, to solicit feedback. So, the
prototype for the designed elements of the applications is developed and shown to the
client, and then will get some feedback from the client and make changes to the project
and get the feedback from the client and we will repeat the steps iteratively until we get
the final product that is accepted by the client.

33
So, this prototype has the business flows and logic involved and they should be
functioning properly and they should give accurate results. So, all these checks to be
made and designed properly so that we will not get any other result instead of that is
already specified by the client it requires knowledge of how the flow of the pages or the
elements should work and should be designed. After designing and implementing these in
the prototype and we will check all the checks that were prepared earlier and the
prototype will be evaluated by the client to make the changes if any mentioned.
In the design we will involve security of the flows, the security of the flows in the sense
we will maintain the flow of data securely so that there will be no action of attackers or
any data will be shared with any outsiders. And we will encrypt the data flow to secure it
so that even if there is a data flow leak it should involve some decryption which is
difficult for anyone to make. So that our data flow is secured.
Security should not be stopped at heir itself we should have authentication at each flow of
the information so that the information will be much more secure. Authentication is the
permission that is taken to involve in any activity in the application. This permission is
granted by the backend of the application where we will be checking the authorization of
the user so that we can confirm that it is a valid user or not and we will be allowing the
user to involve in the activity of the application otherwise we will not allow, this makes

34
the use of the application by the authorized user only so it will give a security to the flow
of data to the application.

Result
Thus, the security and the advanced user interface of the project have been updated.

35
Date:30.03.2024 Task 9
A Designing and Refining
Aim
To study various design and refining processes in the Mendix platform.
Description
Software Design is the process of transforming user requirements into suitable forms,
which helps the programmer in software coding and implementation. During the software
design phase, the design document is produced, based on the customer requirements as
documented in the SRS document. Hence the aim of this phase is to transform the SRS
document into a design document.
System design is the process of designing the elements of a system such as the
architecture, modules and components, the different interfaces of those components and
the data that goes through that system.
System Analysis is the process that decomposes a system into its component pieces for
the purpose of defining how well those components interact to accomplish the set
requirements.
The purpose of the System Design process is to provide sufficient detailed data and
information about the system and its system elements to enable the implementation
consistent with architectural entities as defined in models and views of the system
architecture.
Object-Oriented Analysis (OOA) is the first technical activity performed as part of
object-oriented software engineering. OOA introduces new concepts to investigate a
problem. It is based on a set of basic principles, which are as follows-
 The information domain is modeled.
 Behavior is represented.
 The function is described.
 Data, functional, and behavioral models are divided to uncover greater detail.
 Early models represent the essence of the problem, while later ones provide
implementation details.
The above notes principles form the foundation for the OOA approach.
Object-Oriented Design (OOD): An analysis model created using object-oriented analysis
is transformed by object-oriented design into a design model that works as a plan for

36
software creation. OOD results in a design having several different levels of modularity
i.e., The major system components are partitioned into subsystems (a system-level
“modular”), and data manipulation operations are encapsulated into objects (a modular
form that is the building block of an OO system.). In addition, OOD must specify some
data organization of attributes and a procedural description of each operation. Shows a
design pyramid for object-oriented systems. It is having the following four layers.
Implementation is a process of ensuring that the information system is operational. It
involves −
 Constructing a new system from scratch
 Constructing a new system from the existing one.
Implementation allows the users to take over its operation for use and evaluation. It
involves training the users to handle the system and plan for a smooth conversion.
The personnel in the system must know in detail what their roles will be, how they can
use the system, and what the system will or will not do. The success or failure of well-
designed and technically elegant systems can depend on the way they are operated and
used.
Conversion is a process of migrating from the old system to the new one. It provides
understandable and structured approach to improve the communication between
management and project team.
File conversion is a process of converting one file format into another. For example, file
in WordPerfect format can be converted into Microsoft Word.
For successful conversion, a conversion plan is required, which includes −
 Knowledge of the target system and understanding of the present system
 Teamwork
 Automated methods, testing and parallel operations
 Continuous support for correcting problems
 Updating systems/user documentation, etc.
Many popular applications supports opening and saving to other file formats of the same
type. For example, Microsoft Word can open and save files in many other word-
processing formats.
Post-Implementation Evaluation Review (PIER) is a tool or standard approach for
evaluating the outcome of the project and determining whether the project is producing
the expected benefits to the processes, Products, or services. It enables the user to verify

37
that the project or system has achieved its desired outcome within the specified time and
planned cost.
PIER ensures that the project has met its goals by evaluating the development and
management processes of the project.

Result
Thus, the study on the various design and implementation phase of the application done
successfully.

38
Date:30.03.2024 Task 10
Project Presentation
Aim
To present LearnNow Training Management project .
Description
Open Mendix studio pro version 9.12.4 . Then our entire process which we have
parallelly done with using the modules from mendix academy stores in one file. Open the
file which we named as LearnNow Training Management . It will take 5sec after opening
of then go to top corner of the studio pro and you observe the green play button. Click on
it. Once it’s done it runs locally within 2 to 3 mins.
After running locally at top right corner of the studio pro we observe the view app
option is enabled if there is no errors in your process. Then click on it opens
automatically in chrome or in our default browsing. Once opened we observe that there is
a Login page with the username and password .When we prepare project by following
modules we find the login details Username is MxAdmin and Password is 1 Then enter
the details and press the login button the home page of the project is visible in the default
browser

After this page go back to the studio pro the click on the publish button. It starts
publishing it will take around 5 minutes and after that need to click on the view app. Then
it open in the default browsing app with the login and username page.
39
But now it is not possible to open with the previous details. So, go back to the
studio pro and open the App security in it you absorb users open demo users in it open
the demo_administrator in it you absorb click to copy password then click on it password
is copied to your keypad. Paste it in login page and press login again same page is visible
then add the Courses, Location, Trainee, Faculty step by step and add the training event
to the course which we add and to that course add the registrations then our Project is
Successful.

40
Result
Thus, the LearnNow Training Management project presentation done successfully.

41
Use Case 1
Learning App Development
Aim
To Develop learning app by the mendix studio pro.
Description
Define your learning app's purpose and target audience. Determine the features and
functionalities that your app should have to meet your users' needs. Use Mendix's drag-
and-drop interface to design the user interface of your app. You can choose from various
templates or create your own designs using the available widgets.
Set up the data model of your app by creating entities and attributes to store the app's
data. Mendix uses a domain modeler to define the data structure. Create microflows,
which are visual workflows that define the logic of your app's functionality. For instance,
if your app needs to allow users to create accounts, you can create a microflow to handle
the account creation process.
Use Mendix's integration capabilities to connect your app to external systems, such as
databases or APIs. This allows you to incorporate data and functionality from other
sources into your learning app. Test your app using Mendix's built-in testing tools. This
will help you identify and fix any bugs or issues before deploying your app.
Deploy your app to a web server or cloud platform using Mendix's deployment options.
You can choose to deploy your app on-premise or in the cloud, depending on your needs.
Monitor your app's performance and usage using Mendix's analytics and monitoring
tools. This allows you to gather insights into your app's usage and identify areas for
improvement.
Incorporate gamification elements into your learning app, such as badges, rewards, and
leaderboards, to make the learning experience more engaging and motivating for users.
Implement a social learning feature in your app, where users can connect and collaborate
with each other, share knowledge and resources, and provide feedback and support.
Use Mendix's mobile development capabilities to create a mobile version of your
learning app, making it more accessible and convenient for users to learn on-the-go.

42
43
Result
Thus, we develop the Learning app using the mendix studio pro by the modules.

44
Use case 2
Food Court Management system
Aim
To develop Food court management system using mendix studio pro.

Description
User registration: Customers can create an account using their email address or social
media account.
Vendor registration: Food vendors can register with the system and provide details such
as their menu items, prices, and availability.
Menu browsing: Customers can browse through the menus of all registered vendors, and
filter by cuisine type, price range, and availability.
Ordering: Customers can add items to their cart from different vendors and place their
order.
Payment: Customers can pay for their orders using a secure payment gateway.
Order management: Vendors receive notifications for new orders and can manage their
orders through the system. They can update the order status, prepare the food, and mark
the order as ready for pickup.
Pickup: Customers can track the status of their order and receive notifications when it's
ready for pickup. They can then collect their food from the respective vendors.
Ratings and reviews: Customers can leave ratings and reviews for their orders, which will
help other customers make informed decisions about which vendors to order from.
Mendix makes it easy to create this type of application using drag-and-drop components,
pre-built templates, and integrations with third-party services such as payment gateways
and messaging platforms. The platform also provides tools for testing, deployment, and
scaling the application to handle high volumes of traffic.
Overall, a food court management system built with Mendix would provide a seamless
and convenient ordering experience for customers, while also streamlining the operations
of food vendors within the food court.

45
46
Result
Thus, the developing of food court Management system done successfully.

47

You might also like