/SDGP_Group_14_Project_Trojans

BarkMeow is a pet care application specifically created for Sri Lankan pet owners

Primary LanguageDart

“BarkMeow”

A Pet Care application specifically created for Sri Lankan pet owners

barkmeow

@copyright SE-14 Team Trojans - Software Development Group Project- Informatics Institute of Technology affiliated with the University of Westminster, UK.

TEAM MEMBERS
  • S.I. Samaranayake(TL) - 20210302
  • B. P. Denith Pramuditha - 20210845
  • Y.Vithushan - 2019790
  • B.D.U.M. Bodhinayake - 20210288
  • R.M.G.M.S.B.Ranathunga - 20210125

Project Description

Pets play a significant role in a person's life. Pets can be an important and valued part of people's lives, providing companionship, love, and support. They can also have numerous physical and mental health benefits for their owners. Pet care is a vital aspect of responsible pet ownership and involves providing for the basic needs of a pet, including food, shelter, water, grooming, and medical attention. It also involves providing socialisation, exercise, and mental stimulation for the pet. Proper pet care is essential for the health and well-being of a pet and can help to improve their quality of life and lifespan. Based on the information gathered through interviews and surveys, it has been determined that most pet owners do not devote enough time to pet care in today's hectic lifestyle because it is no longer as simple as it once was. Lack of awareness regarding proper pet care can be another significant issue, as it can lead to poor health and well-being for pets. Finding a straightforward method for growing pets has therefore been one of the major challenges. Utilising innovative new technologies is the ideal solution for this type of issue. The main aim of this research is to create a pet care application specifically created for Sri Lankan pet owners that will possess all the required facilities and services to manage all pet-related activities. The initial objective of the suggested solution, BarkMeow, is to provide a non-exhaustive, unique experience with great features, including identifying a dog’s breed, connecting with pet-related communities, and managing pet records and activities efficiently through the application.

Functionality Diagram

rich diagram

Use Case Diagram

sdgp diagram drawio

Used Technologies and Softwares

Languages

  1. Python (V3) - For Machine Learning and Image processing purposes.
  2. Javascript(ECMAScript 2022) - Backend
  3. Kotlin - For Mobile application development
  4. Dart - For flutter development
  5. Java (V16) - For Mobile application development

IDEs and other Software

  1. Jupyter Notebook ( If you already installed Anaconda, you don't need to install Jupyter Notebook seperately ) - For machine learning purposes
  2. Android Studio - For Android app development.
  3. Visual Studio Code - For editing code.
  4. Pycharm - For programming with Python
  5. Git & Github Desktop - For version control.

Frameworks and Environments

  1. Flutter - UI toolkit for crafting beautiful, natively compiled applications for mobile, web, and desktop from a single codebase
  2. NodeJS - For the backend runtime environment, based on Chrome's V8 JavaScript engine.
  3. Parse server - Parse Server is an open-source development toolkit to build backends. The Parse Server self-hosted by the users can be the best platform to develop mobile applications and APIs.

API's

  1. Facebook API - To sign in with a Facebook account, read and write social media posts, and manage social media.
  2. Twitter API - For sign in with Twitter account
  3. Google Accounts Authentication API - For sign in with Google account
  4. REST API - The REST API lets you interact with Parse Server from anything that can send an HTTP request.

Libraries and machine learning frameworks

  1. TensorFlow - Framework to train deep learning models.
  2. OpenCV - These libraries can help to resize, normalise, and augment the images in the dataset.
  3. Matplotlib - Visualise and analyse the results of the deep learning model.
  4. NumPy - Numerical Computing.
  5. Scikit-learn - For machine learning tasks
  6. Tensorflow hub - an open repository and library for reusable machine learning.
  7. Tqdm - to get the progreesbar while model is training.
  8. Torchvision - Torchvision is a library for Computer Vision that goes hand in hand with PyTorch. It has utilities for efficient Image and Video transformations, some commonly used pre-trained models, and some datasets.
  9. Keras - Keras is a high-level, deep learning API developed by Google for implementing neural networks. It is written in Python and is used to make the implementation of neural networks easy. 10.ipynb - to access other jupyter notebooks.

Dataset Details

For this project, the public [https://www.kaggle.com/datasets/dharminshah/dogbreed] dataset was used.

This dataset contaions 133 different dog breed classes.

Parse server Configuration

You can use either a local Parse server or a back4app remote Parse serever.

To use a remote Parse server user sign up with [https://www.back4app.com/] using your Google or GitHub account. Back4app get started page will provide you the documentation to how to work with Parse sever. Use [https://www.back4app.com/docs/get-started/welcome] link to access the Parse serever documentation.

If you want to set up a local parse server,

  1. You should download the latest Parse server SDK and set up the environments.
  2. Parse server basically a NodeJS backend application. So you need to install NodeJs and some other packages.
  3. To setup a local Parse server follow [https://www.back4app.com/docs/local-development/parse-server-local] Guide.

Setup Flutter environment.

To install and setup Flutter for Windows, follow [https://docs.flutter.dev/get-started/install/windows] Guide.

To install and setup Flutter for macOs, follow [https://docs.flutter.dev/get-started/install/macos] Guide.

To install and setup Flutter for Linux, follow [https://docs.flutter.dev/get-started/install/linux] Guide.

After installing Flutter make sure you are correctly setup the Flutter environment with inserting 'flutter doctor -v' command to a Terminal.

If everything works fine, You need to open the Flutter project called 'barkMeow' and get the packages using 'flutter pub get'.

This will download all the dependencies of the project and make ready to use them.

Screenshots

Splash Screen

Onboarding Screens

Choose Sign-In or Sign-Up

Sign-Up Page

Sign-In page

Home Page

Menu

Pet Store

Pet Breed Prediction Screen

Notification Page

Profile Page

About Us Page

Functionality Demonstration Video

https://drive.google.com/file/d/1tT_QZyB11Wm4MMJwGZ_q6l1i2i3OCN1F/view?usp=sharing