{"id":17007194,"url":"https://github.com/felicitybrammer/pet-matcher","last_synced_at":"2025-06-24T15:06:26.416Z","repository":{"id":44691349,"uuid":"449932782","full_name":"felicitybrammer/pet-matcher","owner":"felicitybrammer","description":"OkCreature is an interactive full-stack MERN application where users can match with pets who are up for adoption.","archived":false,"fork":false,"pushed_at":"2023-03-07T03:05:27.000Z","size":31379,"stargazers_count":1,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-19T19:05:58.954Z","etag":null,"topics":["expressjs","javascript","mongodb","node","react-hooks","react-router","reactjs"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/felicitybrammer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-20T02:52:35.000Z","updated_at":"2023-04-08T05:51:48.000Z","dependencies_parsed_at":"2024-11-28T21:52:01.592Z","dependency_job_id":null,"html_url":"https://github.com/felicitybrammer/pet-matcher","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/felicitybrammer/pet-matcher","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/felicitybrammer%2Fpet-matcher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/felicitybrammer%2Fpet-matcher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/felicitybrammer%2Fpet-matcher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/felicitybrammer%2Fpet-matcher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/felicitybrammer","download_url":"https://codeload.github.com/felicitybrammer/pet-matcher/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/felicitybrammer%2Fpet-matcher/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261700468,"owners_count":23196501,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["expressjs","javascript","mongodb","node","react-hooks","react-router","reactjs"],"created_at":"2024-10-14T05:25:02.850Z","updated_at":"2025-06-24T15:06:26.391Z","avatar_url":"https://github.com/felicitybrammer.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![logo](/client/src/assets/images/clear8.jpg) \n\n# OkCreature\n\n## A Personalized Pet Matching App\n\nSee it live here: https://okcreature.herokuapp.com\n\nA personalized matching app for pets and potential adopters. Users can take a quiz to match them with pets from the database based on lifestyle, household, preferences or ability to provide care.\n\n## My Role\n\nOne of my best team experiences! \nWe executed a well-planned project using agile methodologies and with frequent communications. My role was to build and test the back-end functionality, to create JWT authentication on the server and client side, and to integrate state management with React hooks.\n\n## Table of Contents\n- [Usage](#usage)\n- [Application Requirements](#application-requirements)\n- [Motivation for Development](#motivation-for-development)\n- [User Story](#user-story)\n- [User Workflow](#user-workflow)\n- [Technologies Used](#technologies-used)\n- [Challenges](#challenges)\n- [Successes](#successes)\n- [Directions for Future Development](#directions-for-future-development)\n- [Screenshots](#screenshots)\n- [Contributors](#contributors)\n- [Learn More](#learn-more)\n- [License](#license)\n\n## Usage\n### Web Application\n1. Install the npm packages using the command: \"npm install\" or \"npm i\"\n2. Start OkCreature application via \"npm run develop\"\n3. OkCreature will open a new new broswer window at https://localhost:3001\n\n### Server Side\n1. Navigate to server directory using the command: \"cd server\"\n2. Install npm packages via \"npm i\"\n3. Start up the server with \"npm run watch\"\n4. Go to https://localhost3001/graphql to test the mutations and queries\n\n## Application Requirements\n\n- Use React for the front end.\n- Use GraphQL with a Node.js and Express.js server.\n- Use MongoDB and the Mongoose ODM for the database.\n- Use queries and mutations for retrieving, adding, updating, and deleting data.\n- Be deployed using Heroku (with data).\n- Have a polished UI.\n- Be responsive.\n- Be interactive (i.e., accept and respond to user input).\n- Include authentication (JWT).\n- Protect sensitive API key information on the server.\n- Have a clean repository that meets quality coding standards (file structure, naming conventions, best practices for class and id naming conventions, indentation, quality comments, etc.).\n- Have a high-quality README (with unique name, description, technologies used, screenshot, and link to deployed application)\n\n## Motivation for Development\n\nAs we are currently in a pandemic, the rate of pets being bought and returned has grown substantially. These returned pets are not only sad and lonely, but are also back on the hunt to find a forever home. As each member in this group is a pet lover, we felt the need to create a webpage that can help bring pets and adopters together to fill this void!\n\n## User Story\n\nI am looking to adopt a pet but I don’t want to spend time searching and clicking through large databases. \nI want to be able to to enter my preferences and search criteria, and to have my results saved to my profile.\nI want to be able to come back to the webpage and have my results be saved in on my profile page.\n\n## User Workflow\n\nWHEN I log in to my profile\nTHEN I see a list of summary cards with photos for each pet\nWHEN I choose to take the matching quiz\nTHEN I have the option to select my preferences by checking boxes\nWHEN I submit my quiz \nTHEN my best matches are displayed\nWHEN I log out and log back in\nTHEN my matches are persistent\n\n## Technologies Used\n\n- MongoDb\n- Express\n- React\n- Node.js\n- GraphQL\n- Apollo\n- JavaScript\n- React-bootstrap\n\n## Challenges\n\n- New skills and technologies - we chose a challenging project idea and had to work hard to find ways to solve problems that we had not encountered in lessons.\n- Reading documentation and Stack Overflow - sometimes helpful and sometimes way too much information!\n\n## Successes\n\n- Planning: We planned extensively and did not move to work on the client side until our back end code was fully tested and complete\n- Collaboration: We worked together on all the initial code and planning\n- Communication: We communicated ALL the time\n- New Ideas: We got to try some new ideas and to try writing code that was different from the lessons\n\n## Directions for Future Development\n\nThis project has a lot of potential for development as this is only the MVP. \n\nWe would like to enhance the user experience by…\n\n* Allowing searches more pets by filtering search criteria\n* Ability to retake the quiz and update match results\n* The option to save pets to a list of favourites \n* Displaying matching percentages on result page\n* Allow selection of multiple answers per question*\n\nScalability would be an important focus of future development. Current matching functionality works with a smaller database of pets.\n\nWe would like to make this a Progressive Web Application by employing service workers AND provide users with the opportunity to make charitable donations to local animal shelters through our application via the Stripe payment platform.\n\n\n## Screenshots\n![home](/client/src/assets/images/home.jpg)\n![signup](/client/src/assets/images/signup.jpg)\n![landing](/client/src/assets/images/landing.jpg)\n![quiz](/client/src/assets/images/quiz.jpg)\n\n\n## Contributors\n### Please feel free to contact us with any questions\n\n* Felicity Brammer | \n  Contact email: felicitybrammer@gmail.com |\n  GitHub: [felicitybrammer](https://github.com/felicitybrammer)\n* Ravneet Panglia |\n  Contact email: ravneetpanglia@gmail.com |\n  GitHub: [rpanglia](https://github.com/rpanglia)\n* Makda Girmay |\n  Contact email: makdagirmay4@gmail.com |\n  GitHub: [maks-pixel](https://github.com/maks-pixel)\n* Michelle Nijjar |\n  Contact email: michellenijjar@hotmail.com |\n  GitHub: [mnijjar24](https://github.com/mnijjar24)\n\n## Learn More\n\nYou can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).\n\n## License\nThis project is currently unlicensed but will be soon \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffelicitybrammer%2Fpet-matcher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffelicitybrammer%2Fpet-matcher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffelicitybrammer%2Fpet-matcher/lists"}