Equilibrium API

contributors last update forks stars open issues license



(Want to hire the devs that worked on this project? Click this link to jump to our project contributors!)

Welcome, and thank you for visiting our API, where "it's okay to not be okay". This repo is the Back End part of a project built by students at Turing School of Software and Design. The project itself is an original web app designed by combined Front End and Back End teams and its purpose is to help individuals seeking information on mental health resources in the Denver, CO area, especially those seeking low-cost/sliding scale Therapist options. We made the decision to seed the database with Lord of the Rings characters in lieu of the real information of therapists in the Denver area. Were the app to go live, we would replace the dummy data after seeking the necessary permissions of all parties to be involved. Disclaimer: the Lord of the Rings characters are the intellectual property of their creators, the Equilibrium team does not claim any rights to the characters.

Visit our Front End Site!

Our Back End is hosted here (it's not much to look at without the FE, but here it is anyway):



Built With:

  • Ruby 2.7.4
  • Rails 5.2.8.1
  • GraphQL
  • PostgreSQL
  • Heroku



Setup

If you'd like to demo this API on your local machine:

  1. Ensure that you have the prerequisites or equivalent
  2. Clone this repo and navigate to the root folder cd iotnbo_be
  3. Run bundle install
  4. Run rails db:{drop,create,migrate,seed}
  5. (Optional) To run the test suite, run bundle exec rspec
  6. Run rails s

You should now be able to hit the API endpoints using Postman or a similar tool.
Default host is http://localhost:3000/graphql



Database Schema

Screen Shot 2022-12-03 at 11 23 41 AM



Endpoints

GraphQL

The GraphQL endpoints supply information based on all therapists or an individual therapist. The query should be sent in the body. Below are some examples of queries that can be used.

  • POST https://equilibrium.herokuapp.com/graphql
    • Get All Therapists
      • query {
          therapists {
            id
            address
            phoneNumber
            name
            labels
            imageUrl
            bio
            practice {
              id
              name
              websiteUrl
            }
          }
        }
        
    • Get Therapist by ID
      • query {
          therapist(id: id) {
            id
            address
            phoneNumber
            name
            labels
            imageUrl
            bio
            practice {
              id
              name
              websiteUrl
            }
          }
        }
        

Please follow this link to watch a demonstration in Postman of additional endpoints that have been built out for our database.



Contributors

Back End Team

Candace Eckels: GitHub | LinkedIn Taryn Orlemann: GitHub | LinkedIn Thomas Hayes: GitHub | LinkedIn
Candace Eckels GitHub Taryn Orlemann GitHub Thomas Hayes GitHub

Front End Team

Ali Nix: GitHub | LinkedIn Dana Chapman: GitHub | LinkedIn Emily Miles: GitHub | LinkedIn Will Hobson: GitHub | LinkedIn
Ali Nix GitHub Dana Chapman GitHub Emily Miles GitHub Will Hobson GitHub

Instructor/Project Manager

Kathleen Brandt: GitHub | LinkedIn
Kat Brandt GitHub