A property management solution

A web application that helps owners and managers with communication, documentation, and management of costs and profits.

Link to Jaana:

https://jaana-app.herokuapp.com/dashboard

The Problem

There are many responsibilities that come with property management. Some responsibilities include:

  • Keeping track of cleaning, utility, and furnishing costs.
  • Investing in new amenities to potentially help increase profit.
  • Monitoring and accepting guest check-ins and new reservations.
  • Observe ways in which they can decrease their expenses and increase their revenue.

Our Solution

To create a web application that can enable property managers and owners better budget and track expenses. Our Project Goals are:

  • Provide an easy system to create and update property information.
  • Provide a fast and easy way to upload documents and record expenses.
  • Provide a mechanism to help property owners and managers better manage property expenses.

Highlights

Property Analytics

A Dashboard that enables you to track the performance of each property relative to your other properties and a table of each property expense.

Documents

A Documents Page where you can upload and store documents to a database where you can view, sort, and search for certain documentation.

Profit and Loss Reports

The Profit and Loss Report Form enables users to download expense reports in a certain date range, so they can better budget and track their monthly, quarterly, and yearly expenses.

Optimize

Our Property Information view provides you with a property expense recording mechanism to help you manage, budget, and minimize utlity, maintenance, and amentity costs.

Meet Our Client

Chris Grove

Professor | Stock Trader | Real Estate Investor

Our client, Chris Grove, is a property owner with property listings on nightly rental applications such as AirBnB, Vrbo, and other rental applications. Chris and his property manager is looking for a software that can help them document, record, and manage the revenue and expenses of each of their properties. They are also looking for an application that can help provide price recommendations based on the profitibility of a specific location to ultimately help optimize revenue and look for potential property investments.

Jaana Screenshots

Timeline

Project Proposal and Product Charter Sprint 0
Context Diagram and Business Event Table Sprint 1
Low-Fidelity Prototypes Sprint 2
High Fidelity Prototypes Sprint 3
Finalizing Prototypes and Future Plan Sprint 4
Start Project Implementation Sprint 5
Start UI Development Sprint 6
Routing, Specific UI Functions, and Database Sprint 7
Functions Development and Database Connections Sprint 8
Functions Finalization and Testing Sprint 9
Project Wrap-up Sprint 10
Sprint 0: Project Proposal and Product Charter
  • Our Goal: Find a client with a project idea and compose project proposal and product charter.
  • Our Plan:
    • Contact potential clients in search of project proposals that is of interest to the team.
    • Meet clients to further discuss project requirements.
    • Compose project proposal and product charter.
    • Check-in with advisor and client for feedback.
  • What We Accomplished This Sprint: Our team was able to successfully find a client and project for this sprint and obtain some basic background information about our client and the project expectations and specifications.
Sprint 1: Context Diagram and Business Event Table
  • Our Goal: To better understand the business problem and scope of our project.
  • Our Plan:
    • Construct a draft of the context diagram and business event table
    • Present deliverables to our client for further feedback.
    • Present deliverables to our advisor for feedback.
  • What We Accomplished This Sprint: We were able to:
    • Better understand the business problem that our application is attempting to solve.
    • Define the different entities and use cases of our application.
    • Determine specific actions and events that will lead to a specific output or know what input features are needed to produce a specific output.
Sprint 2: Low-Fidelity Prototypes
  • Our Goal: To produce low-fidelity prototypes of our application for the purpose of being able to better see what we had in mind for the implementation of the application's user interface.
  • Our Plan:
    • Split up each entity in the Context Diagram and assign each team member with a separate entity.
    • Work together to produce the low-fidelity prototypes using Drawio, Paint, and Adobe XD.
    • Presented prototypes to client for feedback and to get further clarification on some desired features.
    • Presented prototypes to advisor for more feedback and advice.
  • What We Accomplished This Sprint: For this sprint, we were able to obtain a better picture of what our application would look like. We also received clarification on some application features that will help us later when we construct our backlog.
Sprint 3: High Fidelity Prototypes
  • Our Goal: To convert our low-fidelity prototypes to high-fidelity prototypes, create a product backlog, and draft a plan for the rest of the semester.
  • Our Plan:
    • Move, organize, and combine all of our low-fidelity prototypes using Adobe XD.
    • Decide on a color scheme and apply it to all of our prototypes.
    • Add user stories and buckets onto our Flying Donut backlog while we are creating the high-fidelity prototypes.
    • Meet with client and advisor for feedback on prototypes and backlog.
  • What We Accomplished This Sprint:
    • Finished implementing all high-fidelity prototypes.
    • Finished creating buckets for each main feature and drafting out our product backlog.
    • Creating a plan for the rest of the semester.
Sprint 4: Finalizing Prototypes and Future Plan
  • Our Goal:
    • Finalize our high-fidelity prototypes, logo, product backlog, determining technology/stack, and plan for rest of the semester.
    • Finish developing our project website and doing our oral presentation slides.
    • Finish end-of-semester deliverables: Product Backlog Document and Prototype Document.
  • Our Plan:
    • Split tasks equally amongst team members.
    • Finish all (or most) of the tasks before client meeting and present finished tasks to our client for feedback.
    • Finish presentation slides and all tasks before advisor meeting to get feedback.
    • Present our project to the class and wrap up for the rest of the semester.
  • What We Accomplished This Sprint: We were able to successfully complete all project deliverables before our presentation date and now have a better idea on what we would like to start doing for our next sprints.
Sprint 5: Start Project Implementation
  • Our Goal:
    • To start utilizing the technology (or stack) our team decided on and building the foundation of our project.
  • Our Plan:
    • Research about how to utilize the technology that we are going to use to develop the application.
    • Begin building the foundation of the Owner view (both frontend and backend).
  • What We Accomplished This Sprint:
    • We completed research on how to start a React project.
    • Completed basic UI of notification settings, signup and login pages, a general navigation bar, and a profile settings page.
Sprint 6: UI Development and Start Routing
  • Our Goal:
    • Start and setup UI from the different pages of high-fidelity prototypes.
    • Optimize existing UI.
  • Our Plan:
    • Putting settings under one tab.
    • Create UI for notifications.
    • Implement for the user to organize notifications.
    • Create the UI for the financial reports page.
    • To create a home page to introduce Jaana.
  • What We Accomplished This Sprint:
    • Completed moving notification settings to main settings.
    • Completed Notifications UI with read functions.
    • Finished financial reports UI with display previews, filtering, multiple file type download options.
    • Completed home page UI with details and descriptions describing Jaana.
Sprint 7: Routing, Specific UI Functions, and Database
  • Our Goal:
    • To finish basic UI, start UI on specific functions, and to research and start a database.
  • Our Plan:
    • Route all the new UI pages correctly.
    • For everyone to research database and relate it to functions and different pages.
    • Create a database to hold user information and their property data.
    • To finish UI functions and start new ones related to property data.
    • Implement Google Single Sign On to create an account with Jaana and login.
    • To create an edit functionality for profile and property data.
  • What We Accomplished This Sprint:
    • Generating financial reports based on filters.
    • Implemented Google's Single Sign On to Jaana.
    • Created specific property URL.
    • Finished correct routing between pages.
    • Created the UI of a documents page.
    • Finished comments UI with functions to have users comment, handle front end, and connection to database.
    • Implemented being able to add and remove individual properties, view the properties individual information, and edit that information in the UI.
    • Researched and started database with mock data for testing.
    • Implemented a yearly cost summary UI to add costs to a property and being able to edit those costs.
    • Added UI to be able to edit the information on the account and the profile picture.
Sprint 8: Functions Development and Database Connections
  • Our Goal:
    • To add more functions to existing UI.
    • Create new UI.
    • Make connections from front-end UI to back-end database.
  • Our Plan:
    • Make working functions from previous UI.
    • Create new UI for new functions.
    • Link those functions and data displays to the database.
  • What We Accomplished This Sprint:
    • Researched and created working drag and drop box.
    • Created separate user views based on manager or property owner role.
    • Optimized notification settings UI.
    • Finished profile settings edit button functions to change profile settings with alerts added.
    • Connected remove property UI to backend with a verfication alert.
    • Created a filter dropdown for cost table to backend.
    • Added manager specific functions to yearly cost summary and implemented an option to select what year.
    • Optimized Google's Single Sign On implementation.
    • Added a image gallery carosel to individual property pages with images within the database.
    • Optimized UI formats of multiple pages to reduce redundancy.
Sprint 9: Functions Finalization and Testing
  • Our Goal:
    • To finish current functions.
    • Connect Remaining functions with the database.
  • Our Plan:
    • Fix UI bugs and errors that occur.
    • Complete Dashboard UI and database link.
    • Finish connect remaining functions to the database.
    • Reformat certain functions and UI for easy use and redundancy avoidance.
  • What We Accomplished This Sprint:
    • Updated Notifications system and added SMS and email options.
    • Implemented a Line Chart to show cost over dates, a Pie chart to show percentages of expenses, a Bar Chart to show the profit of each property, and a general cost table of all expenses of each property managed or owned to the dashboard. Each of these items were also linked to the database.
    • Implemented helper text for drag and drop zone.
    • Connected the Settings page to the database.
    • Implemented proper property information display under Manager's managed properties.
    • Fixed amenities information in add and edit functions.
    • Linked property information to database to add new property and update property information.
    • Finished Comment function link to database and the Comment Pop up.
    • Researched other options for reporting values of profit in a downloadable form.
    • Completed function to download a profit/loss form with backend calculation and link to database.
Sprint 10: Project Wrap-up
  • Our Goal:
    • Complete finishing touches to functions and prepare for deployment.
    • Test Jaana through Cypress testing software.
  • Our Plan:
    • Implement final functions and database links to unlinked functions and displays.
    • Debug any remaining errors.
    • Research and implement Cypress.
  • What We Accomplished This Sprint:
    • Successfully implemented Cypress with Jaana passing custom tests.
    • Fixed a set timeout error.
    • Updated Home page to current implementations and formats of Jaana.
    • Added and implemented Cost requests and a system of approval of those requests.
    • Finished connecting Dashboards charts to database and calculations.
    • Added a filter function to profit/loss report form to show a certain range of dates on the form.
    • Completed implementing Comment functions in the cost history to delete comments and edit comments.
    • Updated Database for certain values and calculations.
    • Finished implementing AWS Deployment/Backend for front-end, back-end, and database.
    • Fixed various display bugs.
    • Finished and implemented Documents page UI and backend with connection to database.
    • Finished and implemented Notifications updates to the database and SMS notifications.
    • Implemented Managers view of thier Owners' properties.
    • Fixed database issuse with functions and displays related to database.
    • Optimizing necessary code.

Meet the Parsers4Hire Team

Anureet Kaur

The Mom

Ashley Thor

The Lazy Panda

Chase Allen

The Only Hope

Jericho Rivero

The Shy One

Ong Thao

The Nerd

Warren Wnuck

The Chill One

Fall 2020 Advisor: Professor Abida Mukarram
Spring 2021 Adviser: Professor Admed Salem