CyberImpXIII / hratx41-lost-and-hound

A web-app to help reunite dog owners with their lost dogs

Home Page:https://www.lost-and-hound.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Lost and Hound

About

Lost and Hound is a web app that aims to reconnect lost dogs with their owners. The app aggregates disparate sources of lost dog data and displays it on a single page so that owners don't have to search across multiple websites. Additionally, the app helps finders of lost dogs connect with their owners.

A user first selects whether they have either lost or found a dog, and then is presented with an up-to-date list of dogs matching their particular search. The user is then able to filter the results by location and description. If a user finds a match, they are able to contact the original poster and/or share a "flyer" via Facebook.

Lost and Found also has its own database where users can post both lost and found dogs which will be included in the search results.

Contributors

Jacob Nelsen-Epstein

Surya Fotedar

Hunter Mason

Eric Anthony

Ken Marut

Chad Cramer

Tech Stack

Lost and Hound was built primarily with ReactJS on the front end and Node/Express on the backend. Other key technologies used are listed below:

Technical Challenges/Research

Some unexpected challenges we ran into while building this app were

  • Getting data from different websites to match the same schema
  • Jest -> configuration, snapshots, writing good quality tests

It was common for website/robots.txt files to prohibit web scraping, which initially was our plan for generating data on lost dogs. Sometimes you just can not legally scrape a website and there is no way around it. In some cases you may need to be granted permission, but either way it is very important to first check out a websites robots.txt page and understand their parameters.

Client Deliverables

Our team strived to meet the expectations of our primary user by organizing deliverables into user stories listed below:

User Stories

  • As a user I should be able to select a lost/found dog's lost/found date so that I can retrieve the appropriate data matching that description

  • As a user I should be able to select a lost/found dog's size so that I can retrieve the appropriate data matching that description

  • As a user I should be able to select a lost/found dog's location so that I can retrieve the appropriate data matching that description

  • As a user I should be able to select a lost/found dog's color so that I can retrieve the appropriate data matching that description

  • As a user a should see a list of lost/found results in chronological order that matches the search criteria so that I can get the most recent and relevant data

  • As a user I should be able to submit dog description data so I can forward that information to the community/internet

  • As a user who has found a lost dog, I want to be able to see relevant ad information for products and resources so that I can prevent this problem in the future

  • As a user, I should be able to contact the OP for a post so that I can inform them that I have found / lost this dog

  • As a user I should be able to see the top 10 results of my search query and then see more when I scroll to the end, so that I can see a continuous list of dogs

  • As a user, if my search query is taking longer than 1 second, I should see visual feedback of my search result so that I can know that the website is working

Minimum Viable Product (MVP)

The MVP of the app has an interactive search that allows the display of lost or found dogs from other sources and then find a list of lost/found dogs based on location. The user can also share a specific posting on Facebook.

How the App Works:

Git Workflow

Our team utilized the Gitflow workflow. . The master branch only contained working code, while our develop branch served as an integration branch for all features. We meticulously kept track of all changes and reviewed all code before pulling back into develop. Though the process was rigorous and time-intensive, it ensured that we had working code at all times.

Additionally, our team utilized the Agile workflow with Trello to keep track of tickets. All work that was performed was specifically associated with a ticket. Every morning, we tracked the progress of tickets and updated our Trello board.

About

A web-app to help reunite dog owners with their lost dogs

https://www.lost-and-hound.com


Languages

Language:JavaScript 84.2%Language:CSS 13.1%Language:HTML 2.7%