Skip to content
Selman K. edited this page Mar 7, 2014 · 20 revisions

Index


Introduction

Deynek is an android application that help its users to find a parking spot in real-time. Application has two main functionality:

  1. Mark my location and let other users know that I will leave this spot in X mins.
  2. Find me a spot. This option shows parking spots in real-time that will be available soon. It is based on other user's notifications - users who marked their locations, and reported that they will leave in X mins.

How it works?

Finding a spot

Mike wants to go to his favorite place on Hyde Street in San Francisco Downtown. Oh wait, today is Friday, and it is impossible to find a parking spot there! Thankfully, he is using Deynek!

  • Mike goes to downtown, and when he gets close to the restaurant, he opens Deynek on his smart-phone.
  • He selects Find me a spot from the main screen.
  • Then the application shows nearest parking spots that will be available in couple of mins.
  • He picks the nearest one and goes to the spot using navigation. -- If the spot is already filled when he gets there, he checks available spots and tries again.
  • If he could successfully park his car, well, it is time to thank the other user who let Mike know that spot will be available soon.

Marking the spot

  • After Mike could find a spot, he marks his location before leaving the car.
  • He goes out, meet with his friends and spends couple of hours.
  • 5 mins before he goes back to his car, he opens Deynek. Type 5 mins and hits 'I will leave, Start the Timer!' button.
  • When he gets to his car, he sees that somebody is already waiting for him to leave.
  • At the same time, Mike gets a notification on his smart-phone; a thank you note from the other user, Marilyn. He smiles back to her. Who knows, maybe Mike found his true love, and this is just a start of things to come!

Mock-ups and Story Board

Story Board

Please note that each screen is marked from 1 to 11 and will be described in this section.

Click here to see the larger image: http://postimg.org/image/3v20mzoib/full/

story board

Login (1)

Users must login to use the application.

Create Account (2)

They can create an account here.

Main Screen (3)

User can select find me a spot option if looks for an available spot. If user has already parked and wants other users to know that there will be a spot in couple of mins, Mark my spot can be used.

Mark My Spot (4)

After parking the car, a user can mark his/her spot before leaving the car. This location will be used to notify other users before leaving the spot.

Location Saved (5)

Show confirmation message that location is saved.

Start Timer (6)

Allows user to start the timer before getting back to the car. Other users can see spot will be available soon, come by and wait for user to leave.

Leaving Spot (7)

User will see a timer, and if s/he doesn't want to wait till timer hits zero, there is an option 'I left' that immediately notify other users that spot became available.

Find a Spot (8)

A screen that helps users to find a spot.

Spot Details (9)

Users can see when the spot will become available by clicking on the spot. User can hit Park Here! to get the directions.

Directions (10)

After clicking on Park Here!, Deynek will show directions to help user to find the spot. If the spot is full when user gets there, another search can be made by clicking on Find me another spot button.

Parking Successful (11)

If everything goes well and user can park his car, user can thank the other user.

Requirements

Functional and Non-functional Requirements

  • User shall register to use the application.

  • User shall be able to mark the location after parking his car.

  • User shall start timer just before he leaves his spot.

  • User shall be able to stop the timer and leave the spot immediately by notifying the other users.

  • User shall be able to see spots that will be available in 1 to 12 mins.

  • Application shall navigate user to the target spot using GPS.

  • User shall be able to go back to see spots page if he realizes the requested spot is already filled.

  • After a successful park, user shall be able to thank the user that notified all the users.


  • No personal information but only the user names shall be shared across the application to avoid security and privacy issues.

High-level Architecture

  • Client: Android Application (Native)
  • Backend: Node.js
  • Database: MySQL