You are on page 1of 9

Nutriotional Advice Chatbot

Group Members:-
1. Noman Zahoor (53062)
Noman.53062@iqra.edu.pk

2. Mir Arbaaz Hanif (53418)


Mir.53418@iqra.edu.pk

3. Qadeer Ahmed Shaikh (53060)


Qadeer.53060@iqra.edu.pk

4. Sanjay Kumar Oad (53029)


Sanjay.53029@iqra.edu.pk

Research Approach
Model:
The methodology that will be used is Agile. It is a method that prioritizes flexibility and rapid
iteration in the development process. It is well-suited for the development of an Nutritional
advice AI-Chatbot because it allows the team to quickly respond for changes and new
requirements when the project progress.
Model Diagram:
Model Steps
Requirement Gathering:
This phase involves gathering and arranging the requirements, and brainstorming on how we can
achieve our goal keeping in view of user requirements and user needs. Most of the Nutritional
advice chatbot that are already available in the market like SlimMe etc. Are not providing
multilingual support we tried to also implement multilingual support.

Design:
The goal of the design phase is to create precise specifications that place emphasis on the
physical response to the user's information technology requirements. The system specifications
and logical descriptions of the entities, relationships, and attributes of the data that were outlined
during the requirements analysis phase are further refined and allocated into system and database
design specifications that are arranged for implementation within the confines of a physical
environment.

Development:
Tech-Stack / Framework
This section includes the reason behind choosing tech-stack for our AI-chatbot App, database
and application.
NLP Tensorflow:
TensorFlow NLP (Natural Language Processing) is a powerful framework for building and
training deep learning models specifically tailored for natural language understanding and
processing tasks. TensorFlow NLP offers several advantages over other NLP models and
frameworks. Here are some key advantages of TensorFlow NLP:

1. Broad Range of Pre-trained Models: TensorFlow NLP provides a wide array of pre-trained
models for various NLP tasks such as text classification, named entity recognition, machine
translation, sentiment analysis, and more. These pre-trained models serve as a starting point and
can be fine-tuned or used directly to accelerate development and improve performance.

2. Flexibility and Customizability: TensorFlow NLP allows developers to build and customize
models according to their specific requirements. It provides a high level of flexibility, allowing
users to define their own architectures, specify hyperparameters, and incorporate domain-specific
features. This flexibility empowers developers to create highly tailored models that deliver
optimal performance.

3. Scalability and Performance: TensorFlow NLP leverages TensorFlow's underlying


computational graph framework, which provides scalability and efficient execution on both
CPUs and GPUs. This enables the training and deployment of models on large datasets,
delivering high-performance results even on complex NLP tasks.

4. Integration with TensorFlow Ecosystem: TensorFlow NLP seamlessly integrates with the
broader TensorFlow ecosystem, which includes various libraries and tools for data manipulation,
visualization, model serving, and deployment. This integration simplifies the development
process and enables smooth workflow transitions between different components of an NLP
pipeline.

5. Support for Transfer Learning: Transfer learning is a technique widely used in NLP, and
TensorFlow NLP supports it effectively. Transfer learning allows models trained on large-scale
general datasets (such as Wikipedia or Common Crawl) to be fine-tuned on smaller, task-specific
datasets. This approach enables the development of accurate models with fewer training data
requirements, saving time and resources.
6. Community and Documentation: TensorFlow NLP benefits from a large and active
community of developers. This community actively contributes to the framework's development,
provides support, and shares valuable resources, tutorials, and best practices. Additionally,
TensorFlow NLP has comprehensive documentation, making it easier for developers to get
started and navigate the framework's functionalities.

7. Deployment Flexibility: TensorFlow NLP models can be deployed on a variety of platforms


and environments. They can run on servers, cloud-based infrastructures, mobile devices, and
even in-browser using TensorFlow.js. This flexibility allows developers to deploy their models
in the most suitable environment for their specific use case.

While TensorFlow NLP offers numerous advantages, it's important to consider the specific
requirements and constraints of your NLP project. Other factors such as available resources,
model size, and the need for domain-specific features may influence the choice of NLP
framework. Nonetheless, TensorFlow NLP's versatility, performance, and integration capabilities
make it a compelling choice for building sophisticated and high-performing NLP models.
React-Native:
React Native is a popular framework for developing mobile applications. It offers several
advantages over other frameworks, making it a preferred choice for many developers. Here are
some key advantages of React Native:
1. Cross-platform development: React Native allows developers to build mobile apps for
multiple platforms, including iOS and Android, using a single codebase. This approach
saves development time and resources, as developers don't have to write separate code for
each platform.
2. Code reusability: With React Native, a significant portion of the codebase can be shared
between different platforms. This reusability reduces duplication of effort and ensures
consistent functionality across platforms.
3. Native-like performance: React Native leverages native components, which enables it to
deliver high-performance apps with smooth animations and responsive user interfaces.
By using native rendering, React Native bridges the gap between native and hybrid app
development, resulting in a native-like experience.
4. Hot Reloading: React Native offers a feature called Hot Reloading, which allows
developers to instantly view the changes made in the code without restarting the
application. This feature speeds up the development process and enhances productivity.
5. Third-party library ecosystem: React Native benefits from a vast ecosystem of third-party
libraries and plugins. These libraries provide ready-to-use components, tools, and
integrations, allowing developers to extend the functionality of their apps and integrate
with various services easily.
6. Faster development cycles: React Native's component-based architecture, along with its
extensive library support, facilitates rapid development cycles. Developers can leverage
pre-built UI components and modules to accelerate the development process, reducing
time-to-market.
7. Developer community and support: React Native has a large and active developer
community, offering a wealth of resources, tutorials, and community-driven solutions.
This support network ensures that developers can find help and guidance when facing
challenges during the development process.
While React Native has numerous advantages, it's important to note that it may not be the best
choice for every mobile app project. Factors such as app complexity, performance requirements,
and specific platform features should be considered when selecting the most suitable framework
for a particular project.

JavaScript:
TypeScript is essentially a superset of JavaScript that has optional typing and compiles to regular
JavaScript. Alternatively, TypeScript is merely JavaScript with static typing enabled whenever
you need it. The following justifications are given for using TypeScript in our project.
TypeScript code is more dependable and simpler to refactor than JavaScript. This makes it
considerably simpler for developers to avoid mistakes and perform rewrites.

Data Storage:
User-Data Store:
we will store the sugestion of diet suggestion and exercise suggestion in data store then we use
this data to remind user for activity and diet.
Usage of Database:
We are using NoSQL Database to store things . NoSQL databases also known as "not merely
SQL" differ from relational databases in the way they store data. We will use MongoDB as a
database as it enables user to store unstructured data.
Testing Phase:
These section summaries our testing strategies as well as the general testing strategy and
difficulties that must be addressed in order to conduct tests correctly and effectively.
System Test and Procedure:
Nutritional advice chatbot will test by following plan and strategies.

Testing strategy:
It describes the entire plan for software testing. Regression Averse Testing and Dynamic
Strategies will be used. Regression testing guarantees that recent code modifications maintain the
integrity of the remaining code and prevents software regression. The reasons for these changes
usually fall into four broad categories:

 New functionality. Regression testing is most frequently performed. The old and new
code must work together flawlessly. When writing new code, developers tend to focus
less on how it will interact with already written code. Regression testing will be used to
identify any potential problems.

 Functionality revision. Developers occasionally change the functionality already in


place and eliminate or modify certain functionalities. Regression testing determines the
feature which was deleted or changed in such circumstances without impairing the
functionality.

 Integration. Regression testing in this situation ensures that the software product
operates faultlessly of following integration with another product.

 Bug fixes. Unexpectedly, developers' attempts to fix the discovered bugs which may
result in the creation of new bugs. Re-testing and regression testing are necessary when
correcting bugs because they demand altering the source code. Regression Averse
Strategy was chosen since our modules are interdependent, necessitating the testing of all
connected modules for any new requirement.

Unit testing:
It describes the approach and quick technique for unit testing. This provides a list of the parts
that were subjected to unit tests. Individually testing each block, function, method, or "unit" of
code is the practice known as unit testing. An output is produced using a preset set of inputs, and
it is then compared to the predicted result. We ensured that our smart contracts are secured.

Integration testing:
The approach and process for integration testing are described. The sequence of integration by
System function is covered in this section. Testing where software elements are logically
integrated and tested collectively. Multiple software modules created by various programmers
make up a typical software project. This level of testing aims to identify issues with how various
software modules interact when they are combined.
1. After finalizing our application UI screens, backend APIs and contracts. We integrated
them together and performed integration testing.
2. We applied all the validations and all the exceptional use case.

Functional Requirements:-
1. AI-powered Nutritional chatbot:
An AI-powered Nutritional chatbot that uses natural language to understand user input and
provide personalized Nutritional recommendations.

2. Activity and Diet monitoring:


Nutritional Chatbot monitors users daily activity routine and diets in order to maintain
user health record.

3. Activity and Diet Reminder:


Nutritional Chabot schedule monthly diet and exercise plan for user and daily reminds
users by notification or alerts.
4. Multilingual Support:
The chatbot app should support multiple languages to cater to users who may speak
different languages.

5. User profiles:
User profiles that include information on the user’s age , gender ,height ,weight and
other preferences. This information could be used to generate more personalized
recommendation.

6. Voice Assistance Support:


Nutritional Chabot support voice assistant commands to interact with users easily and
more friendly.

Non-Functional Requirements:-

1. Usability: The chatbot should have a user-friendly interface and provide intuitive
navigation, making it easy for users to interact and receive nutritional advice.

2. Reliability: The chatbot should operate reliably without unexpected downtime, ensuring
that users can access the service consistently.

3. Performance: The chatbot should respond promptly to user queries, providing timely
nutritional advice and recommendations. It should handle multiple concurrent users
without significant delays or performance degradation.

4. Scalability: The chatbot should be designed to handle an increasing number of users over
time without compromising its performance or responsiveness.

5. Security: The chatbot should incorporate appropriate security measures to protect user
data and ensure the confidentiality and integrity of personal information shared during
interactions.

6. Privacy: The chatbot should adhere to privacy regulations and not collect or store any
personally identifiable information without explicit user consent. It should clearly
communicate its privacy policy to users.

7. Accuracy: The chatbot's nutritional advice should be based on reliable and up-to-date
information from trusted sources. It should strive to provide accurate recommendations
and information to users.

8. Adaptability: The chatbot should be capable of adapting to different user profiles and
dietary preferences, providing personalized nutritional advice that aligns with individual
needs and goals.

9. Natural Language Processing (NLP): The chatbot should leverage advanced NLP
techniques to understand user queries accurately and provide meaningful responses. It
should be able to handle variations in sentence structure, synonyms, and colloquial
language.
10. Maintenance and Support: The chatbot should be easily maintainable, allowing for
updates and bug fixes. It should also provide adequate support channels for users to
address any issues or inquiries related to the chatbot's functionality.

11. Multilingual Support: If intended for use in multilingual environments, the chatbot should
support multiple languages, allowing users to interact and receive nutritional advice in
their preferred language.

12. Compliance: The chatbot should comply with relevant legal and regulatory requirements,
such as data protection laws and regulations regarding the provision of nutritional advice

Key Milestones and Deliverables:


Elapsed time
S.
since start of Milestone Deliverable
No.
the project
Finalization of project idea and
1. Week 01 – 04 Project idea, idea finalization
report
Project proposal title,
2. Week 05 – 08 Completed all these tasks
introduction and literature review
Research approach, use cases and
3. Week 09 – 12 In process
ERD Diagram
4. Week 13 – 16 Project prototype, project budget Pending
5. Week 17 – 20 model canvas, Poster Pending
6. Week 21 – 24 Requirement and design Pending
7. Week 25 – 28 Development Pending
8. Week 29 – 32 Development Pending
Development, deployment and
9. Week 33 – 36 Pending
testing
10. Week 37 – 40 Review of web application Pending

You might also like