DEFINED BY YOU.
Suburban Dictionary is a simple clone of Urban Dictionary. It allows users to login or register for an account to create new definitions, and vote on definitions that others have already made.
User Login, Registration, Logout
Users are able to register an account by choosing a username, inputting their email, and selecting their password. They are able to then login using their username and password. Once logged in, users can logout by clicking on the "logout" button in the navbar.
Users are able to add a new definition via a form submission. Users input the term that they want to define, create definition for it, and use it in a sentence. Afterwards, they are redirected to the page for the term that they have defined.
Displaying Definitions of Terms
Users are able to view the submitted definitions of terms. By default, these terms are sorted by recency in order to bring fresh content to the user. In addition to displaying the name, definition, and examples of the term, it also displays the author, date of submission, and user votes. If the author and the user are the same, the edit and delete buttons are also displayed.
Searching for a Term
Users are able to use the search bar at the top of each page to find a term. If only one result if returned for the search query, the user will be automatically redirected to the term's page. If multiple results are found, they are taken to a search results page in which they can find the term they are looking for.
Voting on Definitions
Users are able to vote on terms to either show approval or disapproval of a definition. This allows other users to gage the quality of definitions.
If a user feels like their definition could be better defined, or an example sentence that they provided was inadequate, they are able to edit their definition.
If a user feels like their definition is inadequate or not well received, and they are unable to edit it to make it better, they are able to delete it. When the delete button is pressed, a popup message is displayed in order to confirm that the user actually wants to delete the definition. It gives the user a chance to cancel the action if they don't actually want to delete the definition and allows them to delete it if the action was purposeful.