Skip to content

jialixiang/pets.local

Repository files navigation

pets.local

pets.local provides a soft real-time, location-based matching service for Customers who are looking to find a new Pet.

Tech Stack

  • Ruby on Rails
  • PostgreSQL
  • Vue.js
  • Docker
  • Circle CI

Entity Associations

entities

API

  • POST /pets
    Add a new pet to the system, with all the properties described above

  • GET /pets/{id}
    Fetch the pet by ID

  • GET /pets/{id}/matches
    Get an array of "matching" customers for the given pet

  • POST /customers
    Add a new customer to the system (Together with their preferences for pets)

  • GET /customers/{id}
    Fetch the customer by ID

  • GET /customers/{id}/matches
    Get an array of "matching" Pets for the given customer

  • POST /customers/{id}/adopt?pet_id={pet_id}
    The Customer adopts the given Pet (The Pet and Customer should no longer appear in /matches queries)

Build the Project

docker-compose run web rails new . --force --database=postgresql --webpack=vue --skip-coffee
docker-compose run web yarn install
docker-compose run web rake db:create
docker-compose run web rake db:migrate
docker-compose run web rake db:seed
docker-compose up

Visiting http://localhost:3000

TODOs

  • Finish Real-Time Subscription
  • Pet Matching based on Location

About

A basic system for matching Pets and Customers

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published