Coder Social home page Coder Social logo

porcelain-yelp-for-bathrooms's Introduction

Yelp For Bathrooms: May your poop be ever in your favor


This is an application made for iOS platform.

Development Libraries and Tools


  • Swift - Framework
  • CocoaPods - Dependency Manager
  • Synx - File manager
  • Balsamiq - Mockup Program
  • Draw.io - Diagramming platform
  • StarUml - Diagramming platform

Purpose and Installation Instructions

CocoaPods

This tool is used to download and manage dependencies used within the application. It uses a PodFile that can be modified to add more dependencies if needed. Thesee dependencies and CocoaPod related files are version controlled to get rid of the need of having to download the dependencies yourself on each computer.

Cocoapods Homepage

First time installation Instructions:

$ sudo gem install cocoapods

Use Instructions:

$ pod install

Run in your project directory after modifying Podfile to include dependencies that are wanted.

Synx

This tool is used to match the project folder to the xcode groups represented in the project nagivator. By default the file structure shown in the project explorer in Xcode does not modify the actual file structure stored in your drive. Use this whenever adding/modifying files in the project BEFORE merging into GIT.

Synx Github

First time installation Instructions:

$ gem install synx

If you run into permission error run as superuser (sudo)

Use Instructions:

$ synx ../<project name>.xcodeproj

Run synx on the project.xcodeproj file to reformat the file structure to the project nagivator structure.

Balsamiq

This tool is used to create mockups for Mobile applications.

Balsamiq Homepage

Git Workflow


When working on a part of the project make sure to:

  • ALWAYS create an ISSUE with the appropriate tag and add any relevant people as watchers.
  • ALWAYS work on a different local branch, DO NOT push any changes directly to master. Branch naming convention / ex. fiveletter/login_screen
  • ALWAYS create pull requests (PR) with an ISSUE attached to the PR.
  • ALWAYS squash commits before merging to MASTER. This will allow us to manage commits better on MASTER
  • ALWAYS rebase from latest MASTER before merging to MASTER.
  • ALWAYS get approval from at least one person before merging into MASTER

Following these guidelines will allow us to catch merge conflicts and reduce the amount of work we do when trying to resolve errors within MASTER.

Requirements for Yelp for Bathrooms (Name to be determined)


User Credentials

  1. Users can navigate through the app regardless of login credentials
  2. Users can not post any type of rating for a bathroom while not logged in
  3. Users will have the option to login from a SETTINGS page (USer profile button), the settings page link should be available all the time.
  4. Users will have to sign in using their Yelp credentials.
  5. Users will be able to rate bathrooms when they are signed in.
  6. Users will be able to create new bathroom locations when they are signed in.

Creating new bathroom entries

  1. Users will be able to create new bathroom locations.
  2. Users can only create new bathrooms if they allow access to their GPS data.
  3. Bathroom names shall be decided by the user per the following steps:
    • User clicks on NAME field
    • App brings them back to map and highlights businesses and landmarks associated with bathroom
    • User selects associated business or bathroom
    • If none the user wishes, user clicks OTHER and types in a name

Searching bathrooms

  1. Users shall be able to search an area for a bathroom
  2. Users may provide an address for which to view bathrooms in the surrounding area
  3. Users may view list of bathrooms around them.
  4. Users may view markers of bathrooms around them on a map.
  5. Users may filter searches for bathrooms based on flags.

Modifying Bathrooms

  1. Users shall be able to flag a bathroom as non existing.
  2. Users shall be able to flag a bathroom as hard to find.
  3. Users shall be able to flag a bathroom as paid.
  4. Users shall be able to flag a bathroom as public.
  5. Users shall be able to rate a bathroom with a star rating
  6. Users shall be able to comment on a bathroom if they provide a star rating for it.

Viewing Bathrooms

  1. Users shall be able to see full details about a bathroom in one screen.
  2. Users shall be able to see the location of a bathroom.
  3. Users shall be able to see the rating of a bathroom.
  4. Users shall be able to see the flags of a bathroom.

Non-user Requirements

  1. A bathroom listing with a ratio of non existing flags to reviews > 2 shall be marked as non-existent.
  2. A bathroom listing with a ratio of hard to find flags to reviews > 1 shall be marked as hard-to-find.
  3. A bathroom listing with a ratio of paid flags to reviews > .5 shall be marked as paid.
  4. A bathroom is by default flagged as public.

porcelain-yelp-for-bathrooms's People

Contributors

fiveletter avatar kammce avatar mitchswaldman avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.