Giter Club home page Giter Club logo

mybudget's Introduction

MyBudget


Cross Platform Application made by Tashko Pavlov && Nikola Stanojkovski


MyBudget is a mobile application that tracks all financial transactions for a given user and helps people save money by keeping track of their expenses.

We live in a world where money is the most crucial factor for surviving. How many times have you asked yourself, "Where did all my money go?". Don’t worry, you are not the only one, since we all have many obligations throughout the day so we can earn our salary and create a normal life for ourselves. After finishing all your work, the only thing you don't want to do is organize your financial spending.
For this particular reason, we created an app that will assist you in organizing and tracking your expenses, reviewing them in a sorted and grouped manner, as well as creating visualizations with that data.

The technology used to implement the system is Flutter as a main mobile application framework, and the Firebase service as a main back-end tool for authentication, non-relational database and file storage. Tesseract OCR is used as a neural net (LSTM) based OCR engine used for recognition of the bills through taking a picture from the user's camera.

The folder MyBudgetApplication constains the fully documented code for the application.


The application has the following 14 screens for version 2.0.0:

  • Login screen, authenticates a user with a valid email address and password, and then redirects him to the Home screen where he can see his expenses. The screen also offers the option for Facebook and Google OAuth authentication.
  • Registration screen, creates a new user with a valid email address, username and password, and then redirects him to the Login screen for authentication.
  • Home screen, displays the complete list of expenses for the currently logged in user along with the 'Edit' and 'Delete' functionality for each of them, as well as the button for adding a new expense manually or through taking a picture.
  • Line Chart screen, displays line chart statistics for the expense spendings in dollars throughout the last few months.
  • Pie Chart screen, displays pie chart statistics for expense spendings broken down into categories, allowing the user to discover on which things he spends the most money on.
  • New Expense screen, creates a new expense for the currently logged in user and adds it to the list, with a valid price in $, date and time in the device’s local format, notes about the expense, category, which can be chosen from a dropdown of constants and the location where it was made.
  • Camera Capture screen, opens the front camera on the user's smartphone and displays a button in the bottom corner that allows him to take a picture. To gain access to the camera, the user must grant permission to the application.
  • New Automatic Expense screen, displays the expense details which were extracted from the taken picture on the Camera Capture screen and enables the user to modify the information, if needed.
  • Expense Details screen, displays the information of the given expense with a valid price in $, date and time in the device’s local format, notes about the expense, category, which can be chosen from a dropdown of constants and the location where it was made.
  • Profile screen, displays the currently logged in user’s information such as username, email address, monthly, yearly and daily spendings, a possibility for input of the monthly income, as well as the profile picture.
  • Contact screen, displays the contact information for the company, including the official email address, the pages across the social media such as Facebook, Instagram and LinkedIn, as well as its location.
  • Our Location screen, displays a ‘Google Maps’ widget with a marker to the company’s headquarters.
  • Help screen, displays a visual series of steps that demonstrate how one user should use the application properly.
  • Settings screen, displays 4 toggles which enables the user to personalize his preferences:
    • 'Enable monthly notifications' toggle
    • 'Enable yearly notifications' toggle
    • 'Update profile' toggle
    • 'Theme Dark' and 'Theme Light' toggle

mybudget's People

Contributors

nikolastanojkovski avatar taskop123 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

mybudget's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.