Skip to content

corbinmgraham/DoggyMatch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DoggyMatch

Welcome to DoggyMatch!

Playdates for dogs! Browse our simple UI and find the perfect match for your dog. This is a safe and friendly platform where owners can connect and find pets just like theirs.

Not a dog owner? No problem! Become a moderator and browse our cute friends without needing one of your own. You will also have the ability to report accounts for administrators to review and remove.

About

DoggyMatch Title               DoggyMatch Icon ©DoggyMatch

DoggyMatch: Playdates for dogs!

DoggyMatch is a way to connect with other owners on our safe and friendly platform to find the perfect playdate for your dog. Using our DoggyMatch algorithm, you'll find the perfect dog. Sign up and sign in to match with other users and send them a chat to plan a play date.

DoggyMatch is a safe to use platform. Users of DoggyMatch and its services will be able to view dogs and contact owners if the dogs are a match. Use of non-dog images is not allowed. We have three types of users. Each user type serves its own role in the DoggyMatch ecosystem which allows for our services to run. Our users are either Dog Owners, Moderators, or Admin. The Dog Owner is in charge of uploading pictures of their dog and giving it a description so that they can find other dogs to match with theirs. Moderators can view Dog Profiles and see specific ones more often based on their preferences. Moderators can also report pages for inappropriate content which the Admin can choose to remove. The admin see the most reported to least reported accounts which means that they can see accounts which have not yet been reported if they have already reviewed all which have been reported.

DoggyMatch has 3 specific features which make it stand out! The first and most overlooked is preferencing. The preferences you set will allow you to find the perfect playdate for your dog. As a moderator, you can set preferences so that specific breeds or types of dogs will show up more often for you. These preferences will show up most often and slowly work towards least preferernced. Admin see most reported down to least reported but must have access to seeing all acounts so that they can report ones which may have gone unlooked. Not just anybody can be an admin so they must go through a verification process.

This app is for Dog Owners and Dog Lovers! Anybody who cares about dogs will easily love this new app that allows them to see dogs so easily! DoggyMatch is one of a kind. There is no other app available to match dogs for playdates. This exclusivity has allowed us to give users the first look at what a playdate experience should be.

Installation

DoggyMatch

  • Clone the repository
  • Download Android Studio
  • Download Android Emulator
    • Set your emulator to Nexus 5
  • Build and run project

Connecting to Server

  • After cloning the repository, you may access the server files in /Backend
  • Compile and run the server but change the route (In DoggyMatch) to localhost.

Features

Launch

Launch Feature

The Launch page is elegently designed to allow users the flexibility of choice between continuing in their matching journey and starting fresh!

Sign In

Sign In Feature

Sign in and revisit past memories with matches and make some future ones with more dogs. Making the choice to sign in is not a final decision! Use the Sign Up button to start again!

Sign Up

Sign Up Feature

Signing Up as a Dog Owner Dog Owners are given a few pages of selections and entries. You'll be asked to provide basic user information to generate a profile like all user types. If you signify yourself as an owner, we'll ask for some more information about you for safety purposes when meeting with other owners. These can be retrieved by contacting DoggyMatch Customer Service. Then we will ask for information about your dog. Fill out as much as you can or want, these will influence the preferences of others and allow you to be prioritized on their Doggy-MatchFinder. Finally, set your preferences so you can find the right dogs for your lonely pup.

Signing Up as a Viewer Dog lover or dog hater, who doesn't love seeing cute pups! Why scroll on social media when you can see cute dogs and all of their information! Provide basic account information (this will be used to Sign In again if you use another device or Sign Out) and select Viewer as your account type. When you do this, you won't be asked to provide any other information, yours is only used for account privacy and security. You can see all of the dogs on DoggyMatch and since all viewers can see all owners and their information, they can report accounts for innapropriate content with our quick REPORT button.

Signing Up as an Admin Contact DoggyMatch to be added to our Administrative Service. These users are given a small financial incentive to remove accounts for inappropriate content. Once a moderator has reported it, the Admin can remove the account completely. It will be on a temporary ban after being reported until it is either taken down or misreported.

Match

Match Feature

The Match feature allows for owners to find dogs compatible with theirs. They can view other profiles and if both users decide that dog will be a match, they will be able to chat.

Matching is the most essential function of the app and is what makes a DoggyMatch a DoggyMatch!

Match with other owners and set up playdates for your dog through our chat.

       Specific Features: DoggyMatch Algorithm, Importing Image from Server, Downloading Profile

Chat

Match Feature

Chat with your matches! If you and the other owner liked each others dogs, then a chat will automatically be generated. When the chat is generated, you can set up a playdate and add it to your calendar!

       Specific Features: WebSocket, Mapping Messages to Users

Profile

Profile Feature

View your profile or modify it.

Documentation

JavaDoc for Frontend

JavaDoc for Backend

Background

3_RK_1 DoggyMatch Submission

COM S 309 Group 3_RK_1: Software Development Practices: an introduction to Git, Springboot, Android Studio, Mockito Testing.

Project Outcomes: Learning to use tools useful to software development experience.

Team

Corbin Graham

Frontend Developer, Product Design

       Experience: COM S 227, COM S 228

       Classification: Sophomore

       Outcomes: Git, JSON, Mockito, Android Studio, API Libraries, Design Patterns

Mark Gores

Frontend Developer, DBC

       Experience: COM S 227, COM S 228, COM S 311

       Classification: Junior

       Outcomes: Git, JSON, Android Studio, API Libraries, Mockito

Diego Saavedra

Backend Developer, Algorithms

       Experience: COM S 227, COM S 228

       Classification: Sophomore

       Outcomes: Git, Spring boot, Mockito

Peyton Arbuckle

Backend Developer, MySQL and REST

       Experience: COM S 227, COM S 228

       Classification: Sophomore

       Outcomes: Spring boot, Mockito, WebSockets


BE Documentation by Diego Saavedra
FE Documentation by Mark Gores
MD/Images by Corbin Graham