1. Homepage
  2. Programming
  3. SOEN490 Capstone Software Engineering Design Project: Budget Lens

SOEN490 Capstone Software Engineering Design Project: Budget Lens

Engage in a Conversation
CanadaConcordia UniversitySOEN490Capstone Software Engineering Design ProjectBudget LensPythonJava

Budget Lens CourseNana.COM

2. Project description and requirements CourseNana.COM

After a terse two years since the beginning of the COVID-19 pandemic, it is inevitable that inadvertent disruptions have been introduced to the way many businesses operate. Consequently, supply-chain and logistics have been impacted, which have subsequently worsened inflation [1]. One of the accruing costs of businesses is the cost of manufacturing receipts; retailers in the United produces over 4 billion pounds of CO2 and 302 million pounds of solid waste every year [2]. CourseNana.COM

Moreover, these oftenly foot-long papers that are left pressed onto the corners of shopping bags are also costing us our health. They are not only receipts, but they are thermal papers laced with a chemical called bisphenol A - more commonly abbreviated as BPA. BPA has been proven to transfer from thermal paper to the skin [3]. CourseNana.COM

Additionally, physical receipts tend to fall victim to negligence and human error. Over 37% of customers reportedly throw away or lose paper receipts, and they have counted an average of at least 5 times a month where they lost or threw out a receipt that they intended to keep [5]. Those away over time. This, commensurate with technological advances being enforced in everyday life, surfaced the awareness to shift to digital receipts. CourseNana.COM

That being said, physical receipts are very far from being obsolete. While some places offer digital corporations, are still the main method of transaction documentation. As consumers, we are left scouring for our receipts, which are both physically and digitally obtained. Therefore, another problem arises - budgeting with this duality. CourseNana.COM

Therefore, we birthed Budget Lens to tackle the aforementioned problems, with our long-term goal focused on eradicating the use of thermal physical papers entirely - and conserving this explosive physical receipts into one medium, and assist with budgeting by allowing CourseNana.COM

Requirements CourseNana.COM

A. Users - making a space for a user to store their data into. CourseNana.COM

1. Create user accounts for consumers.
2. Users can add other users of the app as their friend and friend requests can get
CourseNana.COM

accepted/rejected.
3. Invite friends to join the app.
CourseNana.COM

B. Importing physical receipts into the app - transforming users’ physical receipts into digital ones to combat human error and health risks, and improve portability and accessibility. CourseNana.COM

  1. Scan/upload the picture of a physical receipt as input from the user.
  2. View/store the physical receipt digitally in the user’s account.
  3. Each item on the receipt is categorized in the user’s account. Therefore, similar items on
  4. Supports receipts in English.
  5. Reads common receipts printed at retail stores in Montreal.

C. Manually inputting receipts into the app - to uplift the morales’ of users to not miss an expense and maintain consistency with their budgeting, users can manually enter the receipt if they don’t have a copy for whatever reason. CourseNana.COM

D. Migrating digital receipts into the app - importing digital receipts into the app to standardize referring to receipts in one medium. CourseNana.COM

10. Users can forward their electronic receipts from their email to store in the app. E. All receipts - improving searchability and categorization of receipts. CourseNana.COM

  1. Search receipts by date, time, and location.
  2. Stores receipts and its items on the app for an infinite duration of time, until deleted by the user.

F. Splitting expenses - for those who share expenses with others, users can share the expenses with others who have the app or can precisely register how much they spent from the bill for their own budgeting. CourseNana.COM

  1. The user can directly share expenses or split a receipt. This can be with a friend on the app or individually to accurately denote how much the user spent from the total amount on the receipt.
  1. The user can also split a receipt without needing to have the other person on the app. The user simply specifies how much they paid from the bill, and that exact amount will be reflected onto his budget with the corresponding receipt items.

G. Item categorization - helping users categorize their spending to simplify budgeting. CourseNana.COM

  1. Flag receipts for any potential important date, such as return date or end of warranty date for each receipt item.
  2. Send notifications to the user when the flagged date nears. The default reminder is 14 days prior, but can be customized to user preference.
  3. The app can learn and remember from those inputs and apply it in the future when a user submits a similar receipt item.
  4. (Maybe) Send reminders when the app thinks there is a refill needed for an item.

H. Budgeting - calculating spending patterns to provide to users as data that reflects their consumer behavior. CourseNana.COM

  1. Based on the user’s spending behavior, the app estimates how much (in terms of $) the user will spend in the coming week/month - forecasted budget.
  2. Displays to the user when they are going over/under their forecasted budget/desired budget.
  3. Users can set financial goals - for example, paying off debt/buying a house - and the app can forecast a budget with their spending behavior that is most ideal to achieving their goal.

3. Tools and Technology CourseNana.COM

Technology/To ol CourseNana.COM

Justification CourseNana.COM

Development Platform CourseNana.COM

PyCharm, Android Studio, VS Code CourseNana.COM

PyCharm was used as the main code editor for the SOEN 390 project and it was fairly easy to use with great integration solutions when used with the Django framework. CourseNana.COM

VS Code can also be used for Django development based on user preference. It has an extensive plugin library allowing it to be on par with PyCharm for backend development. CourseNana.COM

Android Studio will be used to develop the mobile application. It is based on IntelliJ IDEA, but focuses more on Android development. All of us have had experience with IntelliJ, so there should not be a massive learning curve for Android Studio. CourseNana.COM

Programming Language CourseNana.COM

Django, Kotlin CourseNana.COM

Front-End
Kotlin - All of us have experience in Java CourseNana.COM

through University. Kotlin uses the JVM and is interoperate with Java. The learning curve is very minimal and is the best option to develop an Android application. CourseNana.COM

Back-End
Django (Python) - Django is a web CourseNana.COM

framework. Most of us have experience using Django for creating web apps in previous projects. One big feature we wanted was ORM as it gives the ability to write queries to reduce development time and cost. Python is also an easy language to pick up for those with less experience. CourseNana.COM

Agile Project management CourseNana.COM

Asana CourseNana.COM

Asana allows for an easy way to create user stories and track bugs. Most of us have used Asana during our job internships. It is easy to learn and integrates well with Github. CourseNana.COM

Source code management CourseNana.COM

Github CourseNana.COM

We’ve all used Github in all our projects throughout our University degree and are very familiar with how it works. CourseNana.COM

Unit testing CourseNana.COM

Django (unittest library), JUnit CourseNana.COM

Django uses a Python library, unittest, to unit test code easily. CourseNana.COM

Android Studio has JUnit to test unit tests locally on the project. CourseNana.COM

System testing CourseNana.COM

Github Actions, Django REST Framework API Test CourseNana.COM

Github Actions can be used to run these unit tests when code is pushed to Github to ensure they all pass. CourseNana.COM

Django has a rest framework with built in test case classes to test any REST API routes. CourseNana.COM

Database CourseNana.COM

PostgreSQL, Android Room CourseNana.COM

PostgreSQL
The backend will use PostgreSQL to handle CourseNana.COM

large amounts of potential data and is highly scalable. Combined with Django ORM, it does not require heavy sql syntax to write code making it easier on people who are not familiar with it. CourseNana.COM

Android Room
The mobile app will utilize Android Room CourseNana.COM

which will function as a cache layer allowing the application to view data even while offline. CourseNana.COM

UI prototyping CourseNana.COM

Figma CourseNana.COM

Figma was used during SOEN 357, so some team members are familiar with how it functions which is an advantage. If some team members do not remember or are completely new to how it works, the learning curve is very small. CourseNana.COM

Code quality/ Linter CourseNana.COM

Pylint-django, Android Studio Github Actions CourseNana.COM

Django has a library called pylint-django which is a static analyzer for code to ensure a code standard.
Android Studio can use a gradle wrapper to invoke lint to ensure a code standard.
CourseNana.COM

We’ve all used linters built into our IDEs, but these ones described will ensure a universal code standard throughout the project using Github Actions. CourseNana.COM


CourseNana.COM


CourseNana.COM

4. Preliminary risk analysis CourseNana.COM

  1. Limits risk: Merchants may resist and block usage of this app and its implementation in certain scenarios since it is not in their best monetary interest to give up the sole control of their side of the bargain. Furthermore, we have to communicate with the merchants on time when the usage is blocked, and see what they can solve on their side.
  2. Data Hijacking: There is a possibility of ill-intentioned actors/hackers trying to penetrate our infrastructure and hijack our users’ data. In this case, we must make sure all the sections of our app are end-to-end encrypted so that in the rare case of such an attack, the customers’ data aren’t at risk.
  3. Technology Risk: The precision of the result from the scanner might be hard to control due to the different clarity of the receipts. While implementing the scanner, we have to fold cross validation method as an optimizer to help the app itself learn how to distinguish and read the receipts with acceptable accuracy.
  4. Communication Risk: As we have eleven members in total in this project development, it will be a challenge to ensure that we have a regular meeting time every week. Failure to communicate effectively and promptly may result in lost data or incorrect information,
  5. Device Risk: Outmoded devices may face software compatibility issues in contrast to recent models. Consequently, this may affect the accuracy of the scanner in recognizing the minimum standard of the devices’ versions to ensure the clarity of the receipts’ pictures. By doing so, we could make sure the accuracy of the result is not being affected.

Risk CourseNana.COM

Probability of Loss CourseNana.COM

Size of Loss (weeks) CourseNana.COM

Risk Exposure (weeks) CourseNana.COM

access limits CourseNana.COM

30% CourseNana.COM

6 CourseNana.COM

8 CourseNana.COM

data hijacking CourseNana.COM

80% CourseNana.COM

12 CourseNana.COM

15 CourseNana.COM

technical difficulties CourseNana.COM

25% CourseNana.COM

5 CourseNana.COM

12 CourseNana.COM

communication risks CourseNana.COM

25% CourseNana.COM

6 CourseNana.COM

8 CourseNana.COM

device risks CourseNana.COM

25% CourseNana.COM

4 CourseNana.COM

5 CourseNana.COM


CourseNana.COM


CourseNana.COM

5. Competitive solutions CourseNana.COM

Search terms: Receipt Scanner, Expense Manager Total competitors examined: 6 CourseNana.COM

Splitwise CourseNana.COM

Pros: CourseNana.COM

●  Organized expense sharing CourseNana.COM

●  Easy and quick addition of expenses CourseNana.COM

●  Focus on individual use rather than business use CourseNana.COM

Cons: CourseNana.COM

●  Presence of ads in the core features CourseNana.COM

●  Paywall: must pay to scan receipts, remove ads, have access to expense history charts and graphs, etc. CourseNana.COM

●  Lack of budget planning and expense forecasting in both the core and paid features CourseNana.COM

Fetch CourseNana.COM

Pros: CourseNana.COM

●  Easy and good receipt scanning feature for both paper and electronic receipts CourseNana.COM

●  Unified ecosystem for the implementation of retail/culinary monetary value/rewards CourseNana.COM

Cons: CourseNana.COM

●  Only available in the US CourseNana.COM

●  Only supports two languages: English and Spanish CourseNana.COM

EcoReceipt CourseNana.COM

Pros: CourseNana.COM

●  Easy and good digital receipt sharing CourseNana.COM

●  Focus on individual use rather than business use CourseNana.COM

●  Digital receipt scanning through QR codes CourseNana.COM

Cons: CourseNana.COM

●  Only useful when dealing with merchants with digital receipts CourseNana.COM

●  Lack of paper receipt sharing and scanning which is the problem at the root/center of this app CourseNana.COM

●  Lack of accurate AI budget forecasting CourseNana.COM


CourseNana.COM


CourseNana.COM

6. Product Owner and Stakeholder CourseNana.COM

Product Owner CourseNana.COM

The product owner of this application is Amir Sadeghi since he was the one who proposed this idea to the team in the first place. He has invested these last 5 years in building and evolving this idea to this point. According to him, he has done numerous case studies and networking sessions with other industry professionals to give life to this idea. He is a software developer with 8 years of experience in the industry and is currently working as a software developer at GoTo (formerly LogMeIn) on various products, including voice and meeting experiences. CourseNana.COM

Stakeholder CourseNana.COM

The stakeholder of this project is Michael Madan. Michael Madan is currently the Central Technology Director of Square Enix Montreal. He has over 20 years experience in software development. In his career, he has experienced different roles in the production of software applications such as developer, software development consultant, analyst, architect, and development manager. Therefore, he has a full-scale understanding from different perspectives of the whole software development process working in teams which is a useful skill to be able to translate to a group of our size. CourseNana.COM

Get in Touch with Our Experts

WeChat WeChat
Whatsapp WhatsApp
Canada代写,Concordia University代写,SOEN490代写,Capstone Software Engineering Design Project代写,Budget Lens代写,Python代写,Java代写,Canada代编,Concordia University代编,SOEN490代编,Capstone Software Engineering Design Project代编,Budget Lens代编,Python代编,Java代编,Canada代考,Concordia University代考,SOEN490代考,Capstone Software Engineering Design Project代考,Budget Lens代考,Python代考,Java代考,Canadahelp,Concordia Universityhelp,SOEN490help,Capstone Software Engineering Design Projecthelp,Budget Lenshelp,Pythonhelp,Javahelp,Canada作业代写,Concordia University作业代写,SOEN490作业代写,Capstone Software Engineering Design Project作业代写,Budget Lens作业代写,Python作业代写,Java作业代写,Canada编程代写,Concordia University编程代写,SOEN490编程代写,Capstone Software Engineering Design Project编程代写,Budget Lens编程代写,Python编程代写,Java编程代写,Canadaprogramming help,Concordia Universityprogramming help,SOEN490programming help,Capstone Software Engineering Design Projectprogramming help,Budget Lensprogramming help,Pythonprogramming help,Javaprogramming help,Canadaassignment help,Concordia Universityassignment help,SOEN490assignment help,Capstone Software Engineering Design Projectassignment help,Budget Lensassignment help,Pythonassignment help,Javaassignment help,Canadasolution,Concordia Universitysolution,SOEN490solution,Capstone Software Engineering Design Projectsolution,Budget Lenssolution,Pythonsolution,Javasolution,