dumiya123 / SDGP_Group_41_Boolean_Autocrats

SaveNest is a A budget planning app that can actively manage a user's budget.
MIT License
5 stars 1 forks source link

“SaveNest”

A Streamlined Finance Management Mobile Application: Accessible for Finance Enthusiasts

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


Savenest
TEAM MEMBERS
  • Dumindu Induwara Gamage(TL) -20221168
  • Rajeen Balasooriya -20220175
  • Savin Pathirana -20222009
  • Sakith Dissanayaka -20221409
  • Himan Welgama -20221109
  • Kavindu Hasaranga Yapa -20210673

Project Description

Overview:

Living in a country with economic problems makes it difficult to save money and manage daily expenses, as prices are constantly changing. This requires frequent adjustments to budgets, which can be time-consuming and discouraging. Many people are too busy to keep their budgets up to date, which leads to poor spending habits. People often lose sight of their financial priorities when they are spending money, which can lead to them taking out loans and other forms of debt. In summary, the following are the challenges of saving money in a country with economic problems. SaveNest is a cutting-edge budget planning mobile application designed to empower users with efficient financial management, allowing them to achieve their financial goals and aspirations. In today's fast-paced lifestyle, managing finances can be challenging, and SaveNest aims to simplify this process by providing a user-friendly platform tailored for budget planning.Through this application, users can easily manage their budget efficiently.

Functionality Diagram

Savenest

Key Features

The application empowers users to select a merchant with an active online store where they regularly purchase goods. When the price of an item changes on the merchant's website, the application promptly sends a notification to the user, alerting them of the increase and suggesting that they adjust their budget plans accordingly, taking into account the fluctuating economic landscape of the country.

Many individuals often find it cumbersome and time-consuming to manually update their budget plans based on their expenses. Nevertheless, our application "Save Nest" streamlines this task by seamlessly integrating with APIs, leveraging advanced machine learning algorithms. This allows the application to automatically update spending information by extracting relevant data from photos of bills, providing users with a more efficient and user-friendly experience

The application requires users to define their spending priorities when creating a budget plan. For instance, if a user designates education as their top priority, followed by clothing, the application will send an alert in the event that the user exceeds their usual spending limit on clothing. This alert serves as a reminder to the user about their more crucial financial commitments in the education category. Additionally, it includes a motivational quote, encouraging them to refrain from overspending on lower priority items.

Use Case Diagram

Savenest

Used Technologies and Softwares

Languages

  1. Python (V3.12.1) - For Machine Learning purposes.
  2. JavaScript (ECMAScript 2023) - Backend (for accuracy reflecting the current official version)
  3. React-Native - For Mobile application development
  4. 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 separately) - 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. React Native - JavaScript framework for building beautiful, native mobile apps for iOS and Android 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. Google Accounts Authentication API - For sign in with Google account
  3. Twitter API - For sign in with Twitter account
  4. REST API - The REST API lets you interact with Parse Server from anything that can send an HTTP request.
  5. Yahoo Finance API - This API is used to get data related to stocks for the machine learning algorithm.
  6. Asprise API - This API is used for the OCR function.

Database

  1. SQL(MySQL, PostgreSQL)

Libraries and machine learning frameworks

  1. Matplotlib -Data Visualization
  2. NumPy -Numerical Computing
  3. Scikit-learn -For the machine learning tasks
  4. ipynb - to access other jupyter notebooks.

Setup React Native Environment

This guide outlines two approaches to setting up your React Native development environment:

Step 1 : Using Expo (Simpler, Ideal for Beginners and Rapid Prototyping)

Setup:

  1. Install Node.js and npm: Download and install Node.js from https://nodejs.org/en/. npm comes included with Node.js.
  2. Install the Expo CLI: Open your terminal and run npm install -g expo-cli.
  3. Create a new project: In your terminal, navigate to your desired project directory and run expo init my-app (replace my-app with your project name).
  4. Start the development server:
    • In your terminal: Run npm start to start the Expo development server.
    • In Expo Go app: Scan the QR code displayed in your terminal or manually add your project URL.

Step 2 : Using React Native CLI (More Control, Suitable for Complex Projects)

Setup:

  1. Install Node.js and npm: Same as for Expo.
  2. Install the React Native CLI: Run npm install -g react-native-cli.
  3. Setup development environment:
    • Android:
    • iOS:
      • Download and install Xcode from https://developer.apple.com/.
      • Configure a developer account and create a signing certificate and provisioning profile.
  4. Create a new project: In your terminal, run npx react-native init my-app.
  5. Run the app:
    • Android: Run npx react-native run-android.
    • iOS: Connect your iOS device and run npx react-native run-ios.

Additional Notes

Contributing

Contributions are welcome! Please follow our contribution guidelines to get started.

License

This project is licensed under the MIT License.

Acknowledgements