Skip to main content

Features and Requirements

High Level Requirements Overview

To begin using the platform, users will need to register online accounts through the "Create Account" option. Once the account creation process is complete, users can manage their tools and determine their availability and daily rates for public use. To facilitate tool searches, users can employ specific keywords such as "Table saw" or "Miter Saw" to browse available low-cost, locally owned tools. Furthermore, search results can be filtered by tool type and mile radius to refine the search.

When a user selects a tool for purchase or rental, they can communicate with the owner to agree on a date and price. The platform will facilitate the return process by setting an agreed-upon window for tool return.

For users seeking to sell or lend their tools to others, the listing process involves providing tool information and uploading images of the tool. Once another user requests the tool, the owner will receive a notification.

Functional Requirements

  • The system shall require registration using a login system, this will be with a username and password

    • Login security will use a login system like Okta’s auth0 login security https://auth0.com/login-security

      • Auth0 can handle bot detection, brute force attacks, and other security related issues without the need of a credit card on the developer's part

      • This component implements best practices for mobile logins and is easy to set up to ensure security is at the forefront of the website

  • The system shall require a home page which will contain many functional components which allow a user to interact with the site

    • Contains ability to upload a new listing of a tool

    • Contains a user’s profile which has a menu for settings, logout option, and view profile

    • The home page mainly consists of a list of tools available to rent within the default parameters. These parameters can be changed, and a map will reflect where the available tools are located

  • The system shall allow users to list a new tool

    • Details associated with the listing that must be completed before posting live to the public area... description, picture (at least 1), general location (zip code)

    • Details associated with the listing that are optional to add are... monetary rate for tool rental, monetary value for tool purchase, more than 1 picture

  • The system shall contain a list of tools nearby to rent and an interactive map to show associated locations of the tools

    • Ability to select an available tool to rent or purchase

    • Ability to navigate the minimap

    • Manually adjust radius/distance by entering in values to parameters

    • Clicking on a listing will pop up larger on the screen to indicate that is the tool in that location

    • The search/filter function applies to the map and list of tools to rent/purchase by different criteria

    • Search filters include: within # miles, tool category, tool maker, and user rating

  • The system shall have a menu of properties/settings

    • By clicking account settings, users can change:

      • Personal details

      • Delete Account

  • The system shall contain a navigation bar at the top with the following menus/sub-menus

    • Home

    • General

    • Login / Sign Up

    • Add Tools

    • Your Tools

    • Your Listings

    • Your Reviews

    • Messages

    • About

  • The system shall show no listings if none are found that meet the filter criteria, the listing details page of a selected tool contains suggestions of other tools with similar criteria

    • The user will only receive tool recommendations if there are tools that match the Category/Maker/Distance of the tool selected by viewing the listing details page

    • The user will receive recommended tools that are similar to the filter criteria but may not 100% match

    • The user will have reccomendations displayed under another tool's listing detail information

  • The system shall have a “Your Listings” page which will be accessible through the navigation bar after the user signs in and is also located in the navigation bar.

    • Your Listings page will contain two sections

      • Your Listings (Active)

      • Your Listings (Inactive)

    • Your Listings Active will have details regarding your tools available for rent/purchase. Details will include (Tool Name, Type, Description, Cost, Availability, Owner)

      • Listing details will show either available, or the location of the tool if the tool is currently in use by another registered user (not available)
    • Your Listings (Inactive) will have similar details regarding your tools, but will be highlighted with a red background. Details will include (Tool Name, Type, Description, Cost, Availability, Owner)

  • The system shall allow users to rate users with a star system ranging from 1 to 5

    • A rating of 1 star would imply the reviewer of the tool (or user) did not have a positive experience and would not recommend it to a friend

    • A rating of 5 stars would imply the reviewer of the tool (or user) did have a positive experience and would recommend the tool (or user) to a friend

  • The system shall allow users will have access to contact information of other users

    • Users will be able to contact owners directly from a listing details page

    • Users can use the built-in messaging system to contact the owner of the tool and set up a date, time, and transaction information in order to recieve their requested tool

Nonfunctional Requirements

  • Tool-Shed will have a simple, easy to understand user-interface throughout

    • Multiple listings will be contained in the map portion of the main page, each listing is interactive

      • Clicking on each listing from this map will take you to a more detailed view of the specific listing, refered to as the listing details page

      • From this listing details page, users will be shown a breakdown of all of the information associated with the tool and listing (photo, YouTube video, description, maker, etc.)

    • The listings shown on the initial search map will provide only necessary information to determine if it may be a good candidate for purchase/rent

      • Information shown includes the name and description of the tool which is associated to the listing
  • The Tool Shed web app should load listings in under 20 seconds

  • Users must have verifiable identification

  • Users can only have one account

  • User login information will be secure via Okta’s auth0 login security

  • The Video Library will be moderated so that there will only be relevant videos

  • Will use a PostgreSQL server to store information

  • The mapping/search navigation system will only show relevant United States information

  • Meeting locations must be in a map-friendly format (Street, Zip, State) format

  • Videos added to a tool must be from YouTube

  • Descriptions can be no longer than 250 characters