Code Monkey home page Code Monkey logo

hratx41-lost-and-hound's Introduction

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.

hratx41-lost-and-hound's People

Contributors

masonhn avatar friedpies avatar anthon78 avatar stevefotedar avatar cpcramer avatar scottkelder avatar

Watchers

James Cloos 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.