Smart Agriculture System Project on IBM IOT platform using NodeRed framework

Project Scope

We need to follow these steps to complete our Smart Agriculture System Project:

  • Project Planning and Kickoff
  • Explore the IBM Cloud Platform
  • Connect the IoT Simulator To the Watson IOT Platform
  • Configure the Node-red to Get the Data From the IBM IoT Platform And Open Weather API
  • Building A Web App
  • Configure Your Device to Receive The Data From The Web Application And Control Your Motors

Our Project’s main aim is to help farmers to control their motors from home. He/ She can On and Off his motor by using his mobile phone.
By using Weather API he can know the weather conditions like temperature, humidity, and soil moisture.

Project Background:

  • This Smart Agriculture System Project mainly aims to help the farmers to ease their work.
  • Farmers can get real-time weather conditions by using smart agriculture.
  • Instead of physical devices we create devices in the IBM IoT platform and use them in our project.
  • We connect our device to the IBM node in the NodeRed framework.
  • We need to create a Weather API account to configure the weather API Platform.
  • We then Configure our Node-red to get the weather forecasting data using HTTP requests.

Project Schedule:

  • Project Planning and Kickoff
  • Explore IBM Cloud Platform
  • Connect The IoT Simulator To the Watson IOT Platform
  • Configure The Node-red To Get The Data From IBM IOT Platform And Open Weather API
  • Building A Web App
  • Configure Your Device To Receive The Data From The Web Application And Control Your Motors

Project Requirements:

  • IBM Cloud Account and IBM Watson IOT Platform to create device and sensor
  • Python IDE
  • Node-Red
  • Open weather API Platform

Functional Requirements:

  • Measure Temperature.
  • Gauge Temperature.
  • Gauge Humidity.
  • Gauge Pressure.
  • Weather API.
  • Display the sensor readings using the Watson IOT sensor.
  • Respond to sensor readings and send alerts to the user.

Technical Requirements:

IoT Simulator

Software Requirements:

  • Python
  • Node-Red
  • IBM Watson IOT Platform
  • Open Weather API

Project Deliverables:

A Smart Agriculture System web App for farmers where he can:

• Monitor temperature, humidity, and Soil moisture along with weather forecasting details.
• Control motor for watering the crop through the web app from where he was.

THEORETICAL ANALYSIS

  • Required Software Installation
  • Node-Red

Installation:

  • First, install the Node
  • open command prompt
  • Type ->npm install node-red

To Run the application:

  • open command prompt
  • And then type “node-red”
  • Now open http://localhost:1880/ in the browser

Installation of IBM IOT nodes and Dashboard nodes for Node-Red

  • In order to connect to the IBM Watson IOT platform and create the web UI, these nodes are required
  1. IBM IoT Node
  2. Dash Board Node

IBM Watson IOT Platform

  • Steps To Configure:
  • Create an account in the IBM cloud using your email ID
  • Create IBM Watson Platform in services in your IBM cloud account
  • Launch the IBM Watson lot Platform
  • Create a new device
  • Give credentials like device type, device ID, Token
  • Create API key and store API key and token elsewhere

Python IDE

  • Install python 3 Compiler
  • I Installed PyCharm Community Edition 2020

IoT Simulator

 In our project in the place of sensors, we are going to use a lot sensor simulator which gives random readings to the connected

OpenWeather API

Building Project

Connecting IoT Simulator to IBM Watson IOT Platform

  • Open link Provided in section 4
  • Give the credentials of your device in IBM Watson IoT
  • Click on Connect
  • My credentials given to the simulator are:
  • Organization ID:ka1gns
  • Device Type:nodemcu
  • Device ID:1234five6789
  • Authentication Method:use-token-auth
  • Authentication Token:*********
  • You, Will, receive the simulator data in the cloud
  • You can see the received data in Recent events
  • Data is received in this format (JSON)
  • You can see the received data in cards by creating cards on Boards Tab

4.2    Configuration of Node-Red to collect IBM Cloud Data

  • The Node-Red IBM IoT App is added in Node-Red Work The appropriate device credentials obtained earlier are entered into the node to connect and fetch the device to Node-Red
  • Once it is connected Node-Red receives data from the device
  • Display the data using debug node for

Configuration of Node-Red to collect data from Open weather API

  • The Node-Red also receives data from the OpenWeather API by HTTP GET request. An inject trigger is added to perform HTTP requests for every certain
  • The data we receive from OpenWeather after the request is in JSON format

Configuration of Node-Red to send commands to IBM Cloud

  • By using IBM IoT out Node I used to send data from Node-Red to IBM Watson So, after adding it to flow we need to configure it with the credentials of our Watson device.

Adjusting UserInterface

  • By connecting all the flows shown above
  • We can display our UI by clicking on the dashboard tab in Node-red
  • On the above page, we can display the sensor data and motor
  • On this page, we open weather API data is displayed

Intelligent Customer Help Desk with Smart Document Understanding

INTRODUCTION

Overview

We will be designing an application that leverages multiple Watson Airservices (Discovery, Assistant, Cloud function, and Node Red). By the end of the project, we’ll learn best practices of combining Watson services, and how they can be used to build interactive information retrieval systems with

Discovery + Assistant.

  • Project Requirements: Python, IBM Cloud, IBM Watson
  • Functional Requirements: IBM Cloud
  • Technical Requirements: AI, ML, WATSON AI, PYTHON
  • Software Requirements: Watson assistant, Watson

Scope of Work

  • Create a customer care dialog skill in Watson Assistant
  • Use Smart Document Understanding to build an enhanced Watson Discovery collection
  • Create an IBM Cloud Functions web action that allows Watson Assistant to post queries to Watson Discovery

Proposed solution

For the above problem, we are able to put a virtual agent in the chatbot so it can understand the queries that are posted by customers. The virtual agent should train from some insight records-based company background so it can answer queries supported by the merchandise or associated with the company. In other words, some styles of manual will be accustomed to training the bot using AI. Here I’m using Watson Discovery as a tool for implementing AI and getting trained by the owner’s manual.

THEORETICAL ANALYSIS

Block/Flow Diagram

Hardware / Software Designing

  1. Create IBM Cloud services
  2. Configure Watson Discovery
  3. Create IBM Cloud Functions action
  4. Configure Watson Assistant
  5. Create flow and configure the node
  6. Deploy and run Node-Red app

EXPERIMENTAL INVESTIGATIONS

Create IBM Cloud services

Create the following services:

  • Watson Discovery
  • Watson Assistant
  • IBM cloud function
  • Node-Red

Advantages

  • Companies can deploy chatbots to rectify simple and general human queries.
  • Reduces manpower
  • Cost efficient
  • No need to divert calls to customer agents and customer agents can look at other

Disadvantages:

  • Sometimes chatbots can mislead customers
  • Giving the same answer for different sentiments.
  • Sometimes cannot connect to customer sentiments and intentions

APPLICATIONS

  • It can deploy in popular social media applications like Facebook, slack, and telegram.
  • A chatbot can deploy any website to clarify basic doubts of viewer

CONCLUSION

By doing the above procedure and all we successfully created an Intelligent help desk smart chatbot using Watson assistant, Watson discovery,

Node-RED and cloud functions.

FUTURE SCOPE

We can include Watson studio text-to-speech and speech-to-text services to access the chatbot hands-free. This is one of the future scopes of this project.

Development of Online Shopping Bot using IBM Watson

Introduction

Overview

Online shopping plays a great role in the modern business environment. The best option available for customers in pandemic situations is to use chatbots for online shopping. To support customers in a better way, online shopping bot has opened a door of opportunity and advantage to the firms and customers for having a feel of buying items in a better way. The bot helps to introduce the online shop by listing the items available; it also shows the price of the items and takes orders from the customer. If the customer wishes to see the items, the bot also provides images of the items. This facility ensures the customer sees the products live and gives requests to buy items.

Block Diagram:

Flow Chart Diagram:

Purpose

The online shop bot can help the customer to see the list of items available, images of the images, and the price of the items, and also accepts orders for the items. The purpose of this bot is to save valuable time and money on travel.

  • Literature Survey

In this section, we will discuss the existing solutions available for online shopping and the proposed solution to overcome the limitations.

  • Existing Problems and Solutions

In the past decade, people use the internet as a daily service to access emails, perform online tasks, do shopping, etc. Naturally, people have widely started using the internet at shopper stops too. This showed their willingness to do online shopping. This brings huge responsibility to the shop owners to keep up the buyer’s faith in the particular website. The most important points that affect the customer attitude towards online shopping are customer convenience, collection of information, social contact, and customer diversity.

There are several websites available currently to handle online shopping like Amazon, Flipkart, Big Bazaar, etc. Kotler, (2003) has described the Customer buying method in several sequential steps namely learning, information processing, information searching, evaluating the alternatives, decision making, and post-purchase behavior. When using such websites usability and trust also play a major role and these issues to be handled carefully. With all these facilities available, still we could find some gaps in existing website-based online shopping solutions where the user has limited freedom to communicate or ask doubts regarding items and get a feel of having a discussion with shoppers. This limitation can be overcome by using chatbots for online shopping.

  • Proposed Solution

In recent years, many organizations have shown tremendous interest in developing chatbots for online shopping. These chatbots help customers to handle their queries and to provide information on any kind of items requested. The willingness of the customers to use shopping bots also increased enormously due to the interest in shopping using the internet in pandemic times.

Theoretical Analysis

  • Block diagram
  • Hardware /software requirements
  • Processor: Intel i5
  • Memory: 16GB
  • System Type: 64 Bit Operating system
  • IBM Watson Assistant
  • Node-RED UI Generator

Experimental Investigations

The online shopping bot is developed using IBM Watson. The intents, entities, and context variables are generated, and the JSON file can be downloaded.

Advantages and Disadvantages

  1. An online shopping bot helps to see the list of items available for purchase.
  2. The shopping bot provides the details of the items requested by giving its image and cost.
  3. The shopping bot accepts the mail id to send the order receipt.
  4. The shopping bot accepts the order by asking the item, quantity, and mode of
  5. The shopping bot is interactive.
  6. The shopping bot is simple.
  7. The shopping bot is Usable.
  8. The shopping bot is a user
  9. The shopping bot is available 24/7
  10. The shopping bot is reliable.

Disadvantages

  1. The shopping bot is currently not accepting addresses in the chatbot.
  1. After receiving the receipt, the other interface like email to be used to share the address with the shopper.

Applications

The online shopping bot can be used for advertisement, recommendation, and taking orders from the customer when the customer is living in a chatbot with the shopper.

Conclusion

The online shopping bot is the most useful feature for online shoppers to have a satisfying purchase. With all the possible features embedded in bot it can help the customer to have a successful and satisfactory shopping with less money and time.

Future Scope

  1. The shopping bot can be extended to get reviews
  2. The shopping bot can be added with features like showing offers.
  3. The shopping bot can give recommendations by showing the associated items

Predicting Life Expectancy Using Machine Learning Python Project

Project Name: Predicting Life Expectancy Using Machine Learning

Project scope: The scope of this project is ” Predicting Life Expectancy Using Machine Learning” in this project we are given the task to predict life expectancy, life expectancy is the average time period for which the subject lives.

Project schedule: 

  1. Understanding what to do in the above-given Predicting Life Expectancy Project
  2. Identify and get familiar with the tools needed to complete this project
  3. Writing codes
  4. Collecting Data sets
  5. The time duration is 5 days

 Deliverables: 

  1. Predicting Life Expectancy Using Machine Learning.
  2. Making a user interface too as front-end work and writing code as backend work to make the user interact and calculate the Life

Setting The Development Environment

  1. Creating GitHub account
  2. Creating Slack account
  3. Signing up for cloud services
    1. Node-Red for front end
    2. Watson Studio for coding
  • Machine Learning services

1.  INTRODUCTION

  1.1          Overview:

 This project is based on predicting the life expectancy of a person. It is the statistical average of the number of years a person is expected to live. Factors affecting life expectancy are Country, Mental and Physical Illness, lifestyle, diet, health care services, financial condition, BMI, alcohol consumption, Diseases, etc.

Here in this Predicting Life Expectancy project, our motive is to find the life expectancy of a person after providing details such as the country he is living in is developed or is developing, BMI of the person, Disease history, Income, Population of that country, Expenditure, etc. So here I have used Machine learning and Artificial Intelligence to predict life expectancy. The data used in the training of the model was the data by WHO taken from Kaggle.

There were almost 22 columns stating different factors affecting Life expectancy and 2939 rows comprising data of different persons from different countries. Based on the results we got on Watson Studio some factors which were not affecting the Life expectancy much were removed and the scoring endpoint was obtained after running full code. This scoring endpoint is the URL that helps us to send payload data to a model or function development for analysis (such as to classify the data or to make predictions).

After obtaining the endpoint the next step is to work on Node-red which is the platform, we can use for developing our front-end page that will have a form asking you your details such as year of birth, adult mortality, infant deaths, BMI, etc. rest we’ll discuss in details later on.

Requirements: IBM Cloud, GitHub, Slack, IBM Watson, Node-Red

1.2          Purpose:

 The purpose of this project is to build a model that will predict the Life Expectancy of a person after giving the details of the BMI, Expenditure, Disease history, etc.

2.  Literature Survey

2.1          Proposed Solution:

 The project tries to create a model based on data provided by the World Health Organization (WHO) to evaluate the life expectancy for different countries in years. The data offers data on different person’s Physical health, Mental health, etc from the time frame 2000 to 2015. The data was taken from the website: https://www.kaggle.com/kumarajarshi/life-expectancy- who/data. 

3.  Theoretical Survey

 3.1          Block diagram

 

Block Diagram for Predicting Life Expectancy with Python

3.2          Hardware/Software Designing:

·       GitHub

GitHub is the largest community of developers in the world with millions of people sharing their projects, and ideas for benefiting many people in a very unique way. Any person living in any corner of this world can access this platform for his/her benefit. They can share their problem, their ideas, and solution to some problems. In simple words, it is basically a platform in which anyone can come and share their problems and solutions. It is easy to manage. A team working on the same project can easily monitor the progress and can easily access their work anywhere.

·       Slack

It is a messaging tool that is intended to contact your internal team easily. As it gives you a platform through which we can communicate to our team members easily under one roof. It is not as hectic as sending emails and reading them. It directly comes as a message to you from the group created having your team members. It is great if you are having a team of more than 2 members. Searching for messages becomes an easy, fast medium, searching old messages.

·       IBM Cloud

It is the platform that enables us to use its various features such as Watson Studio which provides a platform where we can write our python code and observe our results in the form of heat maps, graphs, and tables. In this project, we used it and got our scoring endpoint. It is the URL that helps us to send payload data to a model or function development for analysis (such as to classify the data or to make predictions).

·       Node-Red

Node-Red helps us to create a front-end window on which we can get the data from the user such as his Year, BMI, Alcohol intake, etc. and it will then connect to the code written on Watson Studio via the scoring endpoint created after running the python code.

4.  Experimental Investigations

 The graphs of various Factors affecting the prediction of life expectancy are shown in the figure given below:

Curves of life expectancy v/s different factors

Heat map of different factors

Shown above is the heat map of the various factors affecting other various factors some of them have positive values some of them have negative but the thing we have to keep in mind is that we can’t neglect the factors having negative values because they will have the adverse effect which will affect the life expectancy. After some observations, I decided not to include 6 factors that are not affecting life expectancy much and will reduce the calculations and make our model less complex.

5.  Flow Chart

  1. Result

 After filling in all the necessary details asked in the UI form, we got the prediction of life expectancy. The accuracy of our model was 94.41%

Screenshot of the prediction of life expectancy obtained

Advantages and Disadvantages

 Advantages:

  • Easily identifies trends and patterns
  • Wide Applications
  • Handling multi-dimensional and multi-variety data
  • No human intervention is needed (automation)
  • Continuous Improvement

Disadvantages:

  • High error-susceptibility
  • Needs a lot of time to implement
  • Interpreting the results accurately
  • Data set collection is a complex task

Applications 

  1. The form created is easy to understand and is easy to fill by anyone.
  2. It can be used for monitoring health conditions in a particular country
  3. It can be used to get the data about the factor affecting Life expectancy the most in order to work in the direction of obtaining a high life expectancy
  4. It can be used to develop statistics for a country’s development process

Conclusions

This user interface enables any user to predict the life expectancy value of anyone on the basis of the details asked in the form.

Future Scope 

  1. Increase model accuracy
  2. Gives suggestions on how to increase Life Expectancy
  3. Mental health data was missing from the WHO data set which also plays the important role in affecting life expectancy
  4. The scalability and flexibility of the application can be

Energy Management System Python Project

ENERGY MANAGEMENT

  • This is a project on energy management.
  • The project helps to save energy.

Description

  • First, create an IBM cloud account with an e-mail address and password.
  • Then create an IoT platform and node-red platform.
  • We need to write a python code for it because it is a real-time example.
  • Create an MIT app.

First, create an IBM cloud account with an e-mail address and password

Go to google and search for IBM and create an account using your email address and log in to the page. we will get the interface as an IBM dashboard.

CREATING IBM PLATFORM

After creating an IBM account there will be a search option then we can able to see it. Type Internet of things there will be a platform called the internet of thing in that u can able connect the so many services in that internet of things and create a service in that it will ask u to launch it and for creating an internet of things u need some keys as API keys, Device connects and so many things will fill and u can able to see an option as the add device click on new device u can see the device has been created for that u need to keep the API keys, Device information safely in the note pad because it will help u at the need for connecting it.

WRITE PYTHON CODE

we are writing python code because we are going to deal with a real-time example so we need to use python. actually, our project is about how much electricity is causing monthly and its estimated cost
In this, we are writing about fan, light, washing machine, tv, and ac let s take some random values in that because we can’t able take the exact values, and then we need to add all of the to know the charge and then we need to find out the estimation money for it. after completion of this code, u can able to know the code is running.
we need to send it to the IoT platform so we need to install pip by command prompt and then write the code separately so u can able to run and send information to the IoT platform. For sending to the IoT platform we need to give information in a notepad.

python code:

python running code

Information on IoT platform

Creating node-red platform

For creating a node-red platform we need to search in IBM as a node-red app then u can able to see the node app then create it as the local u can create node-red is nothing but we will get the information in the form of a flow chart.
we need to install IoT in, IOT out will be in the node-red app itself and then u can able to use it for better ability and experience we will use the gauge tool and for doing it on the web we will use the HTTP in, HTTP response and then we will use the payload option to print in and I will show u the flow chat I had created and when we run the program u can see the outputs are coming in the debug option.

Create an MIT app.

Search for the MIT app and click on create apps.

First, we should design the app page with alignments given on the left side of MIT. with horizontal alignments drag them to the screen and edit those with suitable markings.
And next insert a text box into the screen. As we have taken energy management the as a fan, ac, light, tv, etc.
Now insert 5 text boxes to the screen and assign the markings. Take two buttons one as checked and another as not checked.

And the two text boxes with one as charge gives the charge of every applicant and another as cost, which gives the summation of all applicants.

This is done and next tap to blocks button. In that create the blocks with URL.

Paste the URL which we have I IBM as:

Now tap on the build option and get the QR code and scan the code you will receive an apk file and install the file and app.

Now the click on the checked button now the values, cost, and charges will be displayed on the screen in their respective blocks.

Restaurant E-Management System Salesforce Project

Restaurant E-management Workflow:

  1. A customer looks for the menu on the mobile device available on the table.
  2. The customer selects the menu items and confirms them.
  3. Customers can view the orders in the cart.
  4. The order will be displayed on the devices available in the kitchen.
  5. The customer has the option to modify the ordered item unless the chef starts preparing the item.
  6. The item will be marked as Pending until the chef starts cooking it.
  7. The chef starts cooking the food and marks the status as Preparing.
  8. Chefs prepare the food item and change the status to Ready.
  9. The servers will pick up the food from the counter and serves it at the appropriate table.
  10. Customers can order the food many times. The above process will be repeated.
  11. Also, customers can view the bill till now before generating the actual bill.
  12. When the customer finishes, he selects generate bill option and pays the bill.
  13. Customers will also have the option to fill in the survey.

System users

  1. Customer
  2. Chef
  3. Waiter (Server)
  4. Restaurant Manager
  5. Inventory Manager

Functionalities of the users

Customer:

The customer enters a restaurant. The manager will look for empty tables with a specified number of people. The table will be allocated to the customer. The customer will have a device on the table through which he can order the food items.

Customers can browse through the menu. He can choose categories from appetizers, entrees, and desserts. There is also a sub-category for vegetarian non-vegetarian and vegan. Menu items are classified on these criteria.

Main menu page where a user can browse through different categories. The default section is the Appetizers as highlighted above.

Customers can browse through another section. Here the customer is in the Entrée section.

Customers can select the menu items and use the ‘+’ & ‘-’ signs to increase/decrease quantity respectively. Add those to the cart using the ‘Add’ option. The order of items will be the order in which they are added to the cart on the right.

Clicking on Add button adds the items to the cart on the right side.

Customers can see the top-selling items in the restaurant in each of the sections with a star mark on them.

Customers can view the bill and cart on the right side of the screen. It will contain a list of items selected by the customer. Once the customer clicks on ‘Place Order’ the items get added to the ‘Billed Items’ section. Customers can add or remove items from the cart using the ‘Edit Order’ button. Customers can also clear the entire cart by using the ‘Reset Cart’ option.

Items are added to the cart and then placed order items are under the Billed Items section.

Customers can view the total bill for the ordered items. When the customer clicks the ‘Place Order’ button, the items from the cart are moved to the ‘Billed Items’ section. These confirmed items are now displayed on the chef’s screen for processing.

Chef’s screen as and when the order is placed by the customer.

The customer can edit these items before the chef clicks the ‘Accept’ button. Once the chef accepts the items for preparation, the customer cannot update those items. The tax will be added to the total bill and the new amount to be paid will be displayed at the end. Edit Modal allows to increase/decrease the quantity of the items or delete the items from the order.

The Edit modal opens up when the user clicks on the ‘Edit Items’ button.

Customers can see the delivery time for the first item to be served.

Before paying the bill, the customer can provide a tip. Customers can also provide feedback on the service and food.

Bill Page shows the amount to be paid, adds a tip, and allows the user to pay the amount.

Feedback form available to the customer.

Chef:

When the Chef logs in, he first selects the number of chefs in the kitchen at present. This will be used for the delivery estimation of an item.

The landing page of the chef

When the customer clicks the ‘Place Order button, the chef’s screen will get the list of items to be prepared. The order of items will be the order in which the order is placed. The chef’s screen displays the queue of items that were ordered. The chef accepts the order by clicking the ‘Accept’ button. From this moment, the customer cannot edit the accepted items.

Chef’s screen with some orders that have been accepted and are being prepared. Some orders waiting to be accepted.

When the item is cooked, he will update the item to a Ready state. At this time, this item will be added to the waiter’s screen. The chef can view the list of total items ordered in that restaurant.

Waiter:

This screen will be accessible to the waiter so that, she/he can change the status from occupied to ready once she/he finishes cleaning the table after the customer leaves. Also, she/he will be able to select the menu which is displayed to the next visiting customer.

Chef’s screen with some orders that have been accepted and are being prepared. Some orders waiting to be accepted.

This screen will display the list of items prepared by the chef and which are ready for pickup. Once the waiter picks up the item and serves it at the table, he/she will change the status of the item to Delivered using the ‘Delivered’ button in the Edit modal. Then the items will have the delivered e-stamp on them.

Waiter’s screen with the list of ready orders.

Items have the Delivered e-stamp on the items that have been delivered.

Once the customer finishes ordering, the waiter can mark the order as complete.

In the end, the waiter can proceed with payment from the customer and will mark the order as paid.

Front Desk Manager:

She/he can update the status of the tables in the restaurant. Also, she/he can assign an appropriate table to the customers depending on the availability and number of guests.

The table status lists for the restaurant

Restaurant Manager:

She/he can add, delete or modify the information about the food items. Also, she/he can modify the information about the restaurant.

The restaurant Manager can view the weekly, monthly and annual sales for his/her outlet using the filters in the report section. This can be done using the Reports section where we have several reports to show the statistics pictorially.

Sales reports are visible to the people at the managerial level.

She/he can view the current inventory position of the restaurant. Also, the restaurant manager can update the inventory items. She/he can view the forecast of items in the inventory that are to be replenished.

Inventory chart for a quick update on the items in the repository.

Higher Manager:

She/he can view restaurant-wise weekly, monthly, quarterly and annual sales of the restaurant. Also, she/he can view the most popular items, average bills, and least popular items for further actions in menu management across the chain as well as per restaurant.

Screens

Table Screen

This is the first screen. The restaurant manager gets the list of table details with seats available and status in his restaurant. The guests will be allocated an appropriate table. When the table is selected, the status is changed to Occupied.

Controller Name: TableController

Page Name: TestTables

Menu Screen

This page displays the menu items. On the upper side, special offers are displayed. Menus are divided into 3 sections namely appetizers, entrees, and desserts. In each section, users can select vegetarian, non-vegetarian, and vegan items. By clicking on the item, the customer can view the food details. By pressing Add button, the item will be added to the cart.

The cart is displayed on the right side. The items in the cart can be modified before the place order button is clicked. The customer can see the total amount to be paid along with the taxes. When the item is delivered, the waiter will mark the item as delivered.

Controller Name: MenuItemListController

Page Name: Menu

Bill Screen

This page gets enabled when all the items in the order are delivered. This page will display the name, quantity, and amount for each item. The total will be displayed below it. Bill Page also has the option to provide tips. This will change the total amount. By clicking on the done button, the order is completed and the order will be closed.

If the customer wants to order more items, then the Back to cart button needs to be clicked. This will take the customer to the menu page.

At the end of the page, customers can give feedback;

Controller Name: Bill

Page Name: Bill

Chef Screen

This page displays the list of the ordered items by customers. The chef will click Accept button when he starts cooking the ordered item. After this moment, the customer cannot modify the item count that the chef has started preparing. When the item is ready, the chef will click on the Ready button. This will notify the waiter screen that the item is prepared. Now the waiter will serve the particular item.

Controller Name: ChefListController

Page Name: Chef_Pending_Orders

Waiter Screen

This page displays the list of food items that are ready to deliver. The waiter will pick up the items and deliver them to the table number specified with the item. He will click on the Pickup button when he takes the item.

Controller Name: WaiterListController

Page Name: WaiterPendingOrders

Shelter Homes and Donations Management Platform Project using Salesforce CRM Software

Business Background:

This Salesforce CRM Project is an Integrated Donations Management System Platform, which brings together Shelter Homes and their donors to a single platform.

The application makes it easier for shelter homes to access a large base of donors and provides the donors with a convenient way to identify the requirements of social establishments around them.

The application allows shelter homes and donors to create requests or pledges, respectively, and then view these entries and respond accordingly.

This provides an effective medium to match the requirements at the shelter homes to availability with the donors in the community.

We essentially aim to bring a market-place-based model to donations management at shelter homes.

Project Scope:

We have identified several gaps in the way shelter homes Donations Management System to collect donations:

1.     Difficulty in communicating immediate requirements to the society

2.     Time taken to request, and receive donations can be too high

3.     Donations may not reach where they are required the most immediately

4.     Donors may find it difficult to find an organization that could use their help

5.     Lack of a common platform to enable engagement between the shelter homes and the society

The application aims to address each of these issues systematically. Specific functionalities from within the Salesforce CRM have been utilized to build a system that caters to the requirements of both, donor and shelter home perspectives.

The Donations Management application needs to adhere to the following project goals:

1.     Users are able to log in as donors/shelter homes using web integration. Donors can register as either individuals or organizations

2.     Users are able to create pledges/requests for a specific category using web integration.

3.     Users are able to create pledges/requests in response to specific requests/pledges using web integration

4.     Allow the creation of campaigns to facilitate donations for a specific purpose (for ex, preparation for upcoming storm warnings, etc.)

5. System-generated reports help match pledges/requests based on selected categories, and their status is updated as such

6.     Analytical reports on activities on the platform

7.     Scheduled report provides frequent updates on open requests/pledges.

Limitations:

In the scenario where users do not provide an existing pledge/request name, the matching needs to be done by the administrator. This causes a manual intervention and may cause delays in the matching process

Reports from the application provide data on requests and pledges that are currently open. This information needs to be hosted and updated online separately. There is no convenient way to integrate this into the application

Future Scope:

Several functionalities can be added to the Donations Management application to enhance user experience, and achieve greater integration:

  • Integration with Payment Gateway to enable cash donations
  • Web API to integrate with business websites, helping create a corporate partnership
  • Mobile application
  • Automated alerts on matching pledges and alerts
  • Greater integration with the transportation process, once pledges and requests are matched
  • Categorize Donor organizations based on business type for focused engagement
  • Implement Salesforce Communities to promote greater engagement
  • Access to the Blackbaud Community
  • Include a wider range of non-profit organizations

Infrastructure:

  • Considering the upfront cost of hardware, it is better to go for cloud-based service than on-premise. Cloud-based services are scalable as per requirement.
  • Software as a Service is preferred over Platform as a Service as the former needs licensing cost, and time software updates.
  • A cloud-based Customer Relationship Management (CRM) service will be more beneficial as it reduces development and deployment time.
  • Salesforce applications have the feature of API integration that can be used later in other applications.
  • The Analytics service to create dashboards will help to get insights into different transactions

Business Requirement:

The below points describe the overall business objective the application aims to fulfill:

  • Shelter Homes and Donors can register on a common platform
  • Pledges and Requests can be created via web integration by donors and shelter homes respectively
  • Ability to create campaigns to aggregate donations and run separate donation programs for donors or shelter home
  • Pledges and Requests can be viewed and responded to. For example, donors can create pledges to fulfill a particular existing requirement
  • Reports providing regular updates on open pledges/requests
  • Perform analysis on platform usage, and identify major trends (top donors, etc.)

Process Flow:

  • The user enters the ‘Welcome Page’ and chooses Member Type as ‘Donor’ or ‘Shelter Home’
  • User redirected to log in page for Donor or Shelter Home as per selection in the first step. New users can navigate to the Registration Page and complete registration. Donors can register either as an organization or an individual
  • Donors are immediately notified by email post account registration. Shelter Homes are verified for authenticity, until then, the Shelter Home account status is ‘Pending’
  • Admin verifies the Shelter Home registration and updates status to ‘Approved’. Shelter Home contact is notified via email, and can now start using the account
  • User creates new Pledge / Request. A Request / Pledge name can be provided on the Pledge / Request, respectively, using a Lookup field provided in the creation form
  • A new request/pledge is created, and the status is updated as ‘Matched’, if Pledge Name / Request Name is provided by the user
  • A new request/pledge is created, and the status is updated as ‘Open’ if Pledge Name / Request Name is not provided by the user
  • Matches with new pledges/requests are identified based on reports generated in the application
  • The status of matched pledges/requests is updated by the system admin with Salesforce access. The corresponding Donor / Shelter Home is notified of the change in status of their pledge/request
  • The report is generated with the latest updated data on open requests/pledges
  • Use Salesforce Reporting functionalities to identify Top Donors by the number of pledges, Top shelters by the number of requests, Top categories for which requests are created to enable targeted campaigns, and Shelter Homes with a high amount of open requests, to enable personalized assistance if required. These reports are generated and described in the ‘Reporting and Dashboards’ section

Management Dashboards

Apart from these transactional reports, there are various Management Reports, arranged into Dashboards, to provide a summary of the application.

Dashboard 1: Overview

The Overview Dashboard contains various reports providing important metrics regarding application usage.

The reports help us analyze:

1.     Top donors based on the number of pledges created

2.     Top shelter homes based on the number of requests created

3.     Number of Shelter Homes with pending verification vs number of verified Shelter Homes

4.     Distribution of donors by Individual and Organization Donors

Such details are important for Customer Management and Donor Management. For example, top Donors can be identified and personally acknowledged, which will help retain them on the platform.

Dashboard 2: Pledge Overview

This dashboard provides a brief summary of pledges logged in the system. The above reports provide important data including:

1.     Number of Matched vs Open Pledges

2.     Trend of Pledges created in the current month

3.     Categories Distribution for Open Pledges

These reports help identify trends of the pledges created. A systematic decrease in pledges can be detected and followed up by the management.

Dashboard 3: Request Overview

The dashboard provides a detailed summary of the Requests created in the system. The reports provide information regarding:

1.       Category distribution of Open Requests

2.     Number of Matched vs Open Requests

3.     Number of Open Requests by Shelter Home

4.     Number of Open Requests for each Category

These reports help us analyze which categories are more widely requested by shelter homes. This can help the platform organize targeted campaigns to satisfy the requirements.

Online Job Portal using Cloud Tech Stack

Topic Name: Online Job Portal

Objective

The online job portal system is between job seekers and job providers (companies). The Job seeker can easily find and apply for a job by login into the system. The Employer or company can quickly get an expert employee from our job portal site by posting a job.

Create a web application for a company that job seekers will use to apply to the job requirements.

We will create a front end where users will view jobs.

There will be a login page that also has register functionality.

The user will be taken to the home page after login, where they can view different jobs.

Modules

  1. Job seeker/Employee
  • able to view register/login
  • Search jobs
  1. Employer-
  • Users- view all registered users
  • Jobs – add jobs based on category
  • Delete jobs
  • Edit jobs
  • View jobs

Cloud Tech Stack

AWS Elastic Beanstalk

AWS Aurora

AWS S3

AWS Cloud Watch

Covid-19 Testing Management System Python Project

Covid-19 Testing Management System is a small project developed using Python programming. Here are the application features below.

Project features:

• Adding new testing centers
• Search for available testing centers by locality
• Update and delete testing centers
• Show all testing centers by city, state
• Shows the number and type of testing kits available at each center.

Software to be used to develop this application:

• Python
• SQL for creating a database
• Library to interface between Python and SQL
• Either Django (to create a web app) or a GUI library to create the UI (not decided yet)

Implementation

1. Login page (This has a simple login prompt designed using a GUI library that asks for the user id and password.)
2. Menu:
a. Add a testing center
B. Delete testing center
C. Edit the number of testing kits available
D. Search for the testing center by district/city/state
E. Show all testing centers
3. Separate sections for:
a. Adding a new center
b. Deleting center
c. Updating center information
d. Searching for center
e. Nationwide data

Covid-19 Testing Management System can be developed by using PHP & MySQL Server with different functionalities below.

User Characteristics

The Covid 19 Testing Management system has 2 types of users they are Admin and user(patient)

General Constraints

The tools and technologies that are used to develop this project are:
The language used in this project is PHP5.6 and PHP7.x.
The database used in this project is MySQL 5.x.
The web browsers that are used in this project are Mozilla, Google Chrome, IE8, and OPERA.

Operational Scenarios

Scenario A:
How your application starts
Our application covid19 testing management system starts by login into the application, if the user is a new user, the user needs to register by providing the needed credentials.
New users need to provide testing information. A registered user needs to provide test information.

Scenario B:
Usage Scenarios like Customer Check-out
When a customer visits our application, he/she needs to log in by providing their credentials according to their role i.e., admin and user.
If the user is new, he needs to register if he is an old user, he can directly enter the login details and login directly.

Scenario C:
Database

The data that we are going to store in the database
1) Admin Login
Username
Password

2) New admin login
Admin name
Username
Password

3) User login
Username
Password

4) New user login
Name
Phone number
Username
Password

5) User Registration
Name
Current address
Gender
D.O.B
E-mail id
Phone number
Age
Aadhar card number

Classification of American Sign Language using online RESTful application

  • INTRODUCTION

This document report provides the desired layout to develop an online application service that accepts Human Skeletal key points of a sign video and returns the label of the sign in a JSON response. The document contains information about the extraction of key points from the videos using Tensor Flow’s Pose Net library and four different deep learning models that can classify American Sign Languages into six different signs. i.e {buy, fun, hope, really, communicate, mother}. Moreover, it also contains information about hosting services using flask API on ‘PythonAnywhere’ and steps involving handling HTTP requests coming from different users.

  • TECHNICAL APPROACH

Firstly, we have accumulated all the raw video data sets which have been recorded as a part of Assignment-1 and extracted frames of the particular timeline. Then, we used Tensor Flow’s Pose Net library in order to extract key points from the images, which are considerably used as training data for models. We have tried three different approaches to preprocess data and picked the one which gives the best accuracy for the trained models.

Approach-1: Scaled down raw data using the Universal Normalization technique and extracted a few features like- Standard Deviation, Moving Mean of Window size 5, Zero Crossing Rate, Dynamic Time Warping distance, and built feature matrix. Then we applied PCA on the feature matrix and using K-fold Cross-validation we trained four deep learning models named Convolutional Neural Network, K nearest neighbor, Support Vector Machine, and Random Forest. The average accuracy of the given models lay between 60-65%.

Approach- 2: As a part of the second approach, we expelled some features by observing the movement of each body part in videos for different signs and made a feature matrix of only important features. Then we apply Standard Scaler and Min Max Scaler in order to normalize data and trained our models using the first approach.

Somehow, we were able to increase the average accuracy of the models by 10%.

Approach -3: We have observed in the second approach that, our model is only considering the static coordinates of each body part, so we subtracted each coordinate of different body parts from the static body parts and processed the data in the same manner. So, by doing this approach we got our highest average accuracy which lies between 85% to 90%. 

  • INITIAL FEATURE EXTRACTION 
  1. Zero Crossing Rate
  2. Moving Average Window
  • Standard Deviation
  1. Dynamic Time Warping Distance.

Zero Crossing Rate: The zero crossing rate is the rate of sign- changes along with a signal, i.e the rate at which the signal changes from positive to zero to negative or vice versa. Zero Crossing Rate can be used as a primitive pitch detection algorithm for signal processing.

Moving Average Window: Moving Average is optimal for reducing random noise while retaining a sharp step response. This makes it the premier filter for the time domain encoded signals

Standard Deviation: The standard deviation is a measure of how far the signal fluctuates from the mean. It also depicts how data disperse near the mean of particular data series.

Dynamic Time Warping Distance: DTW measures the similarity between two temporal series data. Any linear sequence data can be analyzed with DTW, it aims at aligning two sequences of feature vectors by warping the time axis iteratively until an optimal match between the two sequences is found.

Feature Engineering:

We have expelled a few features by observing the movement of each body part for different signs and made a feature matrix with only important features. Below is the list of features that we considered for training models.

[“nose_x”, “nose_y”, “leftShoulder_x”, “leftShoulder_y”, “rightShoulder_x”, “rightShoulder_y”,”leftElbow_x”, “leftElbow_y”, “rightElbow_x”, “rightElbow_y”, “leftWrist_x”, “leftWrist_y”,      “rightWrist_x”, “rightWrist_y”]

Here, we observed that the coordinates value of each body part shows a static position for a given time, so we have subtracted each body part’s coordinates value from the corresponding static body part’s coordinates. Here, we have considered “nose”  as a static body part and subtracted each body part with corresponding X and Y coordinates.

The above-mentioned approach would become simpler for the models to understand the movement of each body part, as we have a relative position for each body part, the model can easily predict certain gestures by examining the positive or negative sides of coordinates.

  • MODELS USED:
  1. K nearest neighbor
  2. Convolution Neural Network
  • Support Vector Machine
  1. Random Forest

K Nearest Neighbor: The K Nearest Neighbor classifier is one of the most simple machine learning algorithms that simply relies on the distance feature vectors. It classifies unknown data by finding the most common classes among k nearest examples. The majority vote of the class label is assigned to unknown data. As KNN is a lazy learning algorithm, it works more efficiently when our dataset has been distributed in multi classes.

Support Vector Machine: The core idea of Support Vector Machine is to find a hyperplane that separates two sets of objects having different classes. It uses a technique called kernel trick to transform data and based on this transformation it finds an optimal boundary. It is considered one of the most robust and accurate algorithms among other classifiers.

Random Forest: Random Forest is an ensemble classifier; it takes multiple individual models and combined them into a more powerful aggregate model. So, let’s say we have different individual models, then there might be the case that they work efficiently because some part of the data set would be overfitted to the model. So by combining them, we can reduce the chances of error. Random forest built upon by aggregating n possible decision trees which might be generated by randomly picking data set row as root. So, as the dataset would be increasing, the possibilities of generating random decision trees would also increase and aggregating different decision tree models lead to an increase in the efficiency of the aggregated model, too.

REFERENCES: