Sprint 1 - ISIS-3510-Grupo-35/Application-Backend GitHub Wiki
Table of contents
- Selected problem
- Proposed solution
- Revenue model
- Value proposal
- Problems - Alternatives - Solutions
- Context Canvas
- Personas
- Empathy maps
- Business questions
- VD Map
- Funtional scenarios
- Quality scenarios
- Ethical component reflection
Selected problem
We selected a problem we as students have experienced in the past and even more so in recent years, as the amount of university students reaches all time highs; parking lots around campus. It's becoming harder to find good parking lots where the price is reasonable and you feel safe leaving your car there. There are some prefered parking lots by students, which means that by 8am, all parking slots in this location are already taken, and have been for some time, with students arriving as early as 6am in order to park here. We noticed that if a student had class later in the day (at 11 am for example) it would be imposible for him to get a parking slot there and sometimes the alternative options people know about are already taken as well because of the amount of students, professors, faculty members and differente people gather on campus. So, how is someone supposed to know different parking lots available around campus, the amount of slots avaible at a certain time in campus, and how much they cost if its not trying them one by one? Author: Tomas Angel
Proposed solution
Our solution, is to create a mobile app in which a person can visualize ALL of the available parking lots around campus along witht he amount of slots avaible at the moment they search for options. We would also include a detailed description of the cost of the parking lot and the amount of time the daily fee covers for a person and how much it costs per minute. Alongside our solution, we would like to give students the option of booking a parking spot at a certain parking lot in a certain range of time. For example, I would like to mark on tuesday at the Santo Domingo building, and I would do so from 11am until 9pm. This booking would have to be payed up front to avoid people booking but never showing up. In a country such as Colombia, people aren't always true with their word, and so, if someone who booked a parking slot doesn't show up 15 minutes after the time he was supposed to be there, the slot will be open for someone else to grab it without having a refund option. Author: Tomas Angel
Revenue model
The revenue model for the app is centered around premium privileges, as its primary function is to simplify parking for regular campus visitors, including students and faculty. To access reserved parking spots, users will need to pay a fee for this privilege. Our model involves charging a nominal fee to users who wish to reserve a spot in advance at their preferred parking lot. Additionally, we plan to generate revenue through advertising partnerships with parking lot owners. The visibility of their parking lot in the app will be proportional to the amount they invest in advertising. Lastely, as we aim to have an app for the campus university, we could show ads of the restaurants in the area in order for people to find new places to eat. This three sources of income would be sufficient for the app to run, but our prime source would be to pay for a parking spot before hand. Author: Tomas Angel
Value proposal
Our app provides a convenient and efficient solution for campus parking by offering reserved spots for regular users, including students and faculty. Users benefit from guaranteed parking availability and the ability to plan their visit in advance, reducing the stress and time spent searching for parking. Additionally, parking lot owners gain targeted exposure through our platform, with advertising opportunities that enhance their visibility to potential customers. Author: Tomas Angel
PAS
Problem | Alternative | Solution | Author |
---|---|---|---|
I don't know other parking lots in the area | I can look on Waze for parking lots registered on the app | We would like to offer the user a map with ALL of the parking lots around campus, even the smaller ones with just a few spots available. | Tomas Angel |
I don't know if im paying for the cheapest parking lot around campus. | Ask around with friends or other people at university for the cheapest parking lot fee. | We would like to offer different the user a detailed description of the prices each parking lot has, along with the time frame in which the daily fee will cover you. Some parking lots will cover you for 8 hours, whether others will cover you for up to 12 hours. | Tomas Angel |
It bothers me to have to leave my car keys at parking lots. | I look for another parking lot that is less crowded, but if I don't have time, I reluctantly hand over the keys. | Develop a mobile app that allows customers to reserve parking spaces in advance while providing detailed information about each spot, including whether they will need to leave their keys. | Ingrith Barbosa |
When I wait in line for the parking lot, it might fill up before I get in, which bothers me because it wastes time and can make me late. | When this happens, I have no choice but to find another parking lot. | Implement an online reservation system that allows customers to book parking spots in advance. This will reduce the uncertainty for customers, minimize long lines, and help manage the flow more effectively by controlling capacity before customers arrive. | Ingrith Barbosa |
I don't know if there are available parking spaces at the SD or should I go directly to City U. | Go first to the SD as it is my preferred. If there are no parking spaces, go to City U and waste 15 minutes in the traffic jam and also arrive late to class. | Implement an app with live tracker of the available parking spaces in the parking lots, so with this functionality when people are arriving they can take a path based on tha availability of the parking lots. | Juan Manuel Pérez Sánchez |
It bothers me when I arrive to the parking lot and there is a huge line of people waiting for paying. | There are no alternatives, you need make the line and pay beacuse in most of the parking lots there is only one paying spot. | Implement a functuality that recognizes when I am near my parked car, and asks if I am leaving for paying through the app. | Juan Manuel Pérez S |
At times, when I park early in the morning, and return in the evening my car is blocked by others who left keys, this causes delays to my university exit | Currently I must contact with the parking lot management to tell them a car is blocking my exit, tell which car it is and wait for them to move that car and any other that may be blocking my exit | I could reserve a parking spot that has no chance of being blocked, or since I reserve my spot through a fixed period of time, parking lot management, knowing I'll exit soon can fix the problem before it exists and act before classes end and a lot of people are asking for cars to be moved, due to blocked exit | Felipe Nunez Pinillos |
When I arrive at the parking lot during peak hours, it’s challenging to find a convenient parking spot, leading to frustration and wasted time as I circle around the university looking for a spot. | I could arrive much earlier to ensure a better spot, but this isn't always practical due to my schedule, or perhaps I could wait in line instead of circling around, but I will still lose my time | Check in an application if the parking lot I usually use is available, if it's not, I can check all the other parking spots in the area, to react immediately to this situation and know where I will find a spot instead of circling around | Felipe Nunez |
Context canvas
Author: Juan Manuel Perez
Personas
User personas
Persona with an irregular schedule
Made by: Tomas Angel
Persona with a regular schedule
Made by: Felipe Nunez
Persona for business owners
Made by: Ingrith Barbosa
Analytics persona
Analytics persona
Author: Tomas Angel
Empathy maps
Empathy map for a parking lot owner
Made by: Ingrith Barbosa
Empathy map for a university employee
Made by: Ingrith Barbosa
Empathy map for a university student
Made by: Tomas Angel
Empathy map for a irregular university visitor
Made by: Juan Manuel Pérez
Business questions
- Type 1: What percentage of users experience failures when trying to reserve a parking spot during the day?
This is a Type 1 question as it is directly related to crashes, bugs, performance, and stability issues of the application. Author: Ingrith Barbosa - Type 2: At what time does the parking lot fill all of its availble spots? This question aims to gather information in order for the app to make recomendations of other parking lots for users parking later than this hour. There could also be a notification informing people at what time are most of the parking spaces being filled depending on the day of the week. Author: Tomas Angel
- Type 2: How many people are benefiting from last minute free slots at parking lots during normal business hours? As part of our solution, parking spots that were reversed but the person didn't show up within the first 15 minutes of the established time of the reserve will be free for anyone to grab. With this question, we would like to know how many people use the notification system informing theres a free parking spot in normal business hours from 8AM until 5PM. Is it a feature people are using to make a reservation? Or do they just keep looking around in case they don't find any available slots? Author: Tomas Angel
- Type 2: Which parking spots have a rating higher than 4.5 around a given location?
This is a Type 2 question as it is useful for users and is answered directly within the app. To answer it, a filtering process must be performed by the analytics engine. Author: Ingrith Barbosa - Type 2: In which parking lots around the user's location is it necessary to leave keys?
This is a Type 2 question as it is of interest to users and should be answered by querying the analytics engine to identify parking spots that meet the given condition. Author: Ingrith Barbosa - Type 3: At what distance from the nearest parking spot the user check the app's live tracker for available parking spaces?. This information is useful because it can add another functionality of notifications when users are on their way and need to park so they can decide the paths to take.
- Type 3: What percentage of users utilize the app's online reservation system to book parking spots in a day? This information is useful to analyze if the users are using the functionality or if it should be removed.
- Type 3: What percentage of daily reservations are paid using the QR code?
This is a Type 3 question as it is of interest to the development team, helping them determine if this feature of the app is useful or needs modifications. To answer this, the analytics engine needs to find the requested percentage. Author: Ingrith Barbosa - Type 4: What days are most of the people going to university with a car? The idea of this question is to gather as much information of the days in which most people (teachers, faculty members, students, others) go to campus. This could help distribute classes more evenly throughout the week and avoid a very high volume of people at university some days more than others. Author: Tomas Angel
- Type 5: Which parking lots around campus are most frequently booked during peak hours (e.g., 6:30 am to 9:30 am), and how can we optimize pricing or introduce incentives to encourage students to use alternative parking lots during these times?
New Questions
-
Type 1: How often do users experience slow load times when searching for available parking spots? This targets performance issues related to the speed of retrieving parking spot data, a crucial aspect of user experience that can indicate server or database lag.
-
Type 3:How frequently do users update or modify their reservations? This question is aimed at analyzing user engagement with the flexibility of the booking system, providing insights on whether additional features or adjustments are needed to improve usability.
-
Type 4: What is the pattern of parking lot occupancy throughout the day, and in what order do parking spaces tend to fill up? This question helps identify trends and behaviors related to how parking spots are occupied over time, which can inform strategies for managing parking availability and user experience.
-
Type 5:"How can user engagement data (frequency of app use, reservation patterns, parking lot preferences) be analyzed alongside app performance metrics (load times, errors) to determine the most profitable features to promote through premium services or advertising partnerships, while also improving overall app stability and user satisfaction?" It ties app telemetry (Type 1) — specifically performance metrics like load times and errors — to direct user experience improvements (Type 2) by identifying how these issues affect overall satisfaction and engagement. It further touches on feature analysis (Type 3) by analyzing user engagement and reservation patterns to determine which features should be prioritized or promoted. Lastly, it incorporates benefits from data (Type 4) by leveraging this engagement data to uncover opportunities for monetization through premium services or advertising, thus covering several critical business decision areas.
VD Map
Author: Felipe Nunez
Funtional scenarios
ID | Scenario | Author |
---|---|---|
1 | A university student with a regular schedule opens the parking management app on their phone while heading to campus for their classes. They need to find a nearby parking spot quickly to avoid being late. The app displays a map with nearby parking lots and real-time availability information. The student selects a parking lot from the list, and the app shows the number of available spots, helping the student find a convenient parking option before their next class starts. | Juan Manuel Pérez |
2 | A student with a regular schedule who doesn't want to make the huge line for paying. They select the payment option, enter payment details, and complete the transaction. The app processes the payment, updates the spot’s status, and provides a receipt, allowing the student to reduce time in a queue. | Juan Manuel Pérez |
3 | A university staff member with an regular schedule uses the app to reserve a parking spot. They choose a parking lot with available spaces, select a time slot, and enter payment details. The app confirms the reservation by marking the spot as unavailable for the selected time and sends a confirmation notification. This ensures the staff member has a guaranteed spot. | Juan Manuel Pérez |
4 | A university visitor with an irregular schedule needs to find parking information. They open the parking management app to check the locations of available parking spots and their prices. As the visitor is not familiar with the parking options at the university and is trying to plan their visit. The app responds by displaying a map with the locations of various parking lots, along with detailed pricing information for each lot. This allows the visitor to select the most convenient and cost-effective parking option based on their unpredictable schedule. | Juan Manuel Pérez |
5 | The business owner needs to update the pricing for their parking lot. They access the pricing management section of the app, enter new pricing information, and save the changes. The app updates the pricing details across all user interfaces and confirms the update with a notification. | Juan Manuel Pérez |
6 | The business owner needs to track and receive payment for reservations made at their parking lot while managing the risk of no-shows. They access the reservations management section of the app, navigate to the "Payments" tab, and review the list of completed reservations along with their payment statuses. The app displays a summary of payments received, including transaction details and amounts, and highlights reservations where the client did not show up. | Juan Manuel Pérez |
7 | The analytics persona needs to analyze trends in user behavior over the past month. They access the analytics dashboard, select the appropriate time range and data parameters, and generate the report. The app collects this data continuously from user interactions, reservations, payments, and real-time parking availability updates. | Juan Manuel Pérez |
8 | A student with a regular schedule needs to check the status of their parking reservation before heading to campus. They open the app and navigate to the “My Reservations” section. The app displays the reservation details, including the reserved time slot and parking lot location, allowing the student to confirm their reservation and plan their arrival accordingly. | Juan Manuel Pérez |
Quality scenarios
Scenario # | Title | Quality attributes involved in the scenario | App status and context | Changes in the context | System reaction to the changes in the context | Author |
---|---|---|---|---|---|---|
1 | Running out of battery | Battery consumption, resilience, performance | The user is using the app to navigate to a parking lot and has been relying on real-time updates for availability. The phone is actively connected to GPS. | The phone’s battery is running low (5%), and the user doesn't have a charger on hand. They need the app to continue functioning in order to find a parking spot quickly. | The app switches to a low-power mode, reducing background processes like constant GPS updates. Instead of real-time updates, it pulls parking availability data every few minutes to conserve battery while keeping the essential functions operational. | Tomas Angel |
2 | Internet connection drop during payment | Eventual connectivity, resilience, security | A user is trying to complete a payment for a reserved parking spot while connected to campus Wi-Fi. | The user suddenly loses Wi-Fi connection, causing the payment process to be interrupted. The user is still on the move, trying to park. | The app securely saves the payment data locally in an encrypted cache. When the connection is restored, it resumes the payment process from where it left off, ensuring no double charge or payment loss. | Tomas Angel |
3 | Low luminosity for accessibility | Accessibility, usability, GUI responsiveness | A user is using the app to check parking availability late at night, and the phone’s brightness is automatically set to low to conserve battery. | The app interface becomes difficult to read due to the low luminosity. The user is visually impaired and struggles to navigate the small text and buttons. | The app detects low screen brightness and automatically switches to a high-contrast mode with larger text. It also activates a voice-over option to assist the visually impaired user, improving accessibility in dark environments. | Tomas Angel |
4 | High traffic and data overload | Scalability, performance, resilience, availability | It's the first day of the semester, and many users are using the app simultaneously to book parking spots near campus. The app is managing thousands of parking lot requests in real-time. | The server begins receiving an overwhelming number of requests, leading to potential lag and delayed responses. | The system auto-scales its server capacity to handle the surge in traffic, balancing the load across multiple servers. The app maintains performance by prioritizing critical operations (e.g., booking, payment) while temporarily pausing non-essential background tasks (e.g., feedback submission, ad loading) to ensure availability. | Tomas Angel |
5 | Expansion of the application to the entire city | Scalability, performance, and availability. | The application currently only includes parking lots from Universidad de los Andes and its surroundings, with an average of 1,000 daily users. | The application expands to the entire city, increasing the number of available parking spots and active users by 500%. | The application supports the increase in reservations and simultaneous users, and all functionalities operate correctly. | Ingrith Barbosa |
6 | Reservation during system update | Availability and resilience | The application is being updated during low-traffic hours, between 2:00 and 4:00 a.m. | A user attempts to make a reservation at 3:00 a.m., while the server system is being updated. | The application remains accessible, with a load-balancing system that redirects the user to a backup server. If full functionality is not available, the user is informed about the maintenance and is given the option to receive a notification when the system is back online. | Ingrith Barbosa |
7 | System crash due to failure | Availability, recoverability and fault tolerance | The application is functioning normally during peak hours when many users are attempting to make reservations. | A failure in the main server causes a system crash while users are making reservations. | The system automatically detects the failure and switches to a secondary server in less than 30 seconds. Pending transactions are restored without data loss or duplication of charges. | Ingrith Barbosa |
8 | Attack during a payment. | Security | A user attempts to make a payment through the application to reserve a parking spot. | An attacker tries to intercept the credit card data. | The payment data is encrypted using SSL/TLS, and the application uses a certified payment provider to secure transactions. Any attempt to intercept or modify the payment data is blocked. | Ingrith Barbosa |
Ethical component reflection
You can watch our video here