Skip to content

Functional Requirements

Dmitrii Hromtsov edited this page Jul 17, 2020 · 66 revisions
Issues Functional Requirements
FR-1
As a person, I want to register as a user, so that I could use the system
  1. The form for registration should ask
    • Email
    • First name
    • Last name
    • Age
    • Telephone number
    • Company (probably from a drop-down, already provided from admin area)
    • Password
    • Confirmation of password
    • Photo (optional)
  2. After a successful registration the user is redirected to the main page.
  3. All the registered users belong to the 'User' group.
FR-2
As a person I want to login, so that I could use the system
  1. I can login by providing my email and password.
FR-3
As a user, I want to register my car(s)
  1. There should be a form that would allow registering a car/license plate.
  2. The form should ask for the following information:
    • Car's license plate;
    • Car's brand;
    • Car's model;
    • Car's color;
    • Car's photo (optional);
FR-4
As a user, I want to see my profile and registered cars with the ability to edit them
  1. The overview that displays the presentations has a filter (search bar) that allows filtering them by license plate, brand, model, color, status.
FR-5
As a user, I want to be able to see the full list of company's cars
  1. There should be a list of all cars with a short desription (license plate, brand, model, color, owner, telephone number).
  2. The list should be accompanied with statuses (IN/OUT).
  3. There may be a "number of free parking spots" beside the list, so that the user knows beforehand how many parking spots are free for his company (or totally).
FR-6
As a user, I want to be notified via email when there are no more parking spots
  1. When the last number of parking spots is decreased the email is sent to everybody that did not enter the company's property.
FR-7
As a user I want to change my password, so that I could use another one
  1. If a user has a car registered, ask him to provide a license number for one of his cars.
FR-8
As a system administrator, I want to be able to scan a license plate
  1. I can view different statuses after validation (ALLOWED/FORBIDDEN/UNKNOWN).
  2. I can view details about the owner, company, car after validation.
FR-9
As a system administrator, I want to be able to enter a license plate by hand
  1. I can view different statuses after validation (ALLOWED/FORBIDDEN/UNKNOWN).
  2. I can view details about the owner, company, car after validation.
FR-10
As a system administrator, I want CRUD operations on users, so that I could manage them
  1. I can view/filter/categorize users.
  2. I can add a user.
  3. I can edit a user.
  4. I ca delete a user.
  5. I can change the group a user belongs to: 'User' or 'Administrator'.
FR-11
As a system administrator, I want CRUD operations on cars, so that I could manage them
  1. I can view/filter/categorize cars.
  2. I can view the date when a car entered/exited, statistics per user etc.
  3. I can add a car.
  4. I can edit any car.
  5. I can delete any car.
FR-12
As a system administrator, I want CRUD operations on companies, so that I could manage them
  1. I can view/filter/categorize companies.
  2. I can add a company.
  3. Add company a logo (optional)
  4. I can edit any company.
  5. I can delete any company.
FR-13
As a user of the android application I want to see a pop up that forbids me to use the application as soon as I have no internet connection (3G/Wi-Fi)
  1. The pop up will have just 2 buttons Retry and Exit, on retry you will check the internet connection and on exit you will exit the application.
  2. The pop up should disappear as soon as I connect the internet on the phone and resume.
FR-14
As a user I system administrator I want to have a page with dashboard and metrics
  1. I want to see system info> name of app, description, version, java version, the state of application up/down, disk space, uptime, total memory, free memory, nr. of processors, nr. of http server requests.
  2. I want to see the number of all the people ever registered.
  3. I want to see the number of all the cars ever registered.
  4. I want to see the number of all the scans ever happened.
  5. I want to see a graph with daily number of cars entered/exited.
  6. I want to see a pie chart with hours (just hour without minutes) of entering/exiting.
  7. I want to see a pie chart with total rejected vs allowed cars.
  8. I want to see a graph with daily number of rejected/allowed cars.
  9. I want to see a pie chart with cars registered per company.
FR-15
As system administrator I want to be able to send 'Your presence is requested because of difficult parking situation' email on Web
FR-16
As a system administrator I want to be able to create announcements (banner) with 3 different priorities YELLOW, ORANGE, RED for users.
  1. During the creation of the banner an email will be sent with the corresponding priority and information.
  2. As a user I want to have a tab named Announcements behaving like a line feed from facebook.
  3. I want to see the most recent announcement on top, the oldest should be at the bottom.
  4. I want to be able to comment under any announcement.
  5. * I want to be able to react under any announcement.
  6. * I want to be able to search through announcements.
FR-17
As a user I want to have a tab named Announcements behaving like a line feed from facebook
  1. I want to see the most recent announcement on top, the oldest should be at the bottom.
  2. I want to be able to comment under any announcement.
  3. * I want to be able to react under any announcement.
  4. * I want to be able to search through announcements.
FR-18
As an system administrator I want to refresh the dashboard without reloading the page
  1. I want a button which allows me to refresh the dashboard data.
FR-19
As system administrator, I want to see the number of parking spots grouped by company on the dashboard
  1. I want to see total/free/occupied number of spots.
  2. I want see an indicator which is red when no more parking spots are available and green otherwise.
FR-20
As system administrator or user, I want to edit my profile
FR-21
As system administrator I want to upload and view parking plan on dashboard
FR-22
As an administrator, I want to be able to send an email to a user, if he has created a difficult parking situation

Clone this wiki locally