Skip to content

Inner Worlds is an application to help a user keep a detailed dream journal, and provide data about their dreams.

Notifications You must be signed in to change notification settings

Inner-Worlds/inner_worlds_be

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation



Inner Worlds Back End

Mod 4 Capstone Project

Visit Inner Worlds today!


Table of Contents
  1. About The Project
  2. Getting Started
  3. Inner Worlds Schema
  4. GraphQL Endpoint Details
  5. Contributing
  6. Inner Worlds Team
  7. Acknowlegdements

About The Project

Inner Worlds is an application to help a user keep a detailed dream journal, and provide data about their dreams. This repository serves as a GraphQL API for our Front End Application.

The learning goals for this project were;

  • Demonstrate knowledge you’ve gained throughout Turing
  • Use an agile process to turn well defined requirements into deployed and production ready software
  • Gain experience dividing applications into components and domains of responsibilities to facilitate multi-developer teams. Service oriented architecture concepts and patterns are highly encouraged.
  • Explore and implement new concepts, patterns, or libraries that have not been explicitly taught while at Turing
  • Practice an advanced, professional git workflow including a Pull Request Review
  • Gain experience using continuous integration tools to build and automate the deployment of features
  • Build applications that execute in development, test, CI, and production environments
  • Focus on communication between front-end and back-end teams in order to complete and deploy features that have been outlined by the project spec

We hope your experience is out of this world!


Built With

RailsPostgreSQLGraphQLRSpecGithub-ActionsRenderShoulda-MatchersPumaVCRWeb-mockFaradayFigaroFakerRubocop

(back to top)

Getting Started

Prerequisites


Installation

Follow the steps below to install and set up this app.

  1. THIS REPO NEEDS A TWINWORD API KEY. Get a free API Key at https://www.twinword.com/api/topic-tagging.php
  2. Clone this Repository
    git clone https://github.com/Inner-Worlds/inner_worlds_be
  3. In your terminal, run the following commands;
    bundle install
    rails generate graphql:install
    bundle exec figaro install
    rails db:{drop,create,migrate,seed}
  4. Add your TwinWord API key to the application.yml file
    TOPICS_KEY: enter_your_key
  5. Run rails s in your terminal and visit http://localhost:3000/graphiql to explore the end points for yourself!

(back to top)


Schema


inner_worlds_schem

(back to top)


Testing

  • This project utilizes RSpec testing
  • After cloning this repo and following the steps above to install all necessary gems and API keys:
    • Run the entire test suite using the command bundle exec rspec

GraphQL Endpoint Details

  • Below are example Requests and Responses for each endpoint

Create a Dream - Request/Response

Successful

create_dream_successful

Unsuccessful
  • Record Doesn't Exist

create_dream_no_user

  • Missing Fields

create_dream_missing_fields

Get a User and their Dreams with details - Request/Response

Successful

get_a_user_success

Unsuccessful
  • Record Doesn't Exist

get_a_user_unsuccessful

Update a User's Dream - Request/Response

Successful

update_dream_successful

Unsuccessful
  • Missing Fields

update_dream_unsuccessful

Delete a User's Dream - Request/Response

Successful

delete_dream_success

Unsuccessful
  • Record Doesn't Exist

delete_dream_unsuccessful

Get a User's Dream Stats - Request/Response

Successful

stats_successful

Unsuccessful
  • Record Doesn't Exist

stats_unsuccessful

Add a Tag to a User's Dream - Request/Response

Successful

add_tag_to_dream

Add an Emotion to a User's Dream - Request/Response

Successful

add_emotion_to_dream

Get all Default Tags - Request/Response

Successful

default_tags

Get all Default Emotions - Request/Response

Successful

default_emotions

Delete a User - Request/Response

Successful

delete_user_successful

Unsuccessful
  • Record Doesn't Exist

delete_user_unsuccessful

Delete a User's Dream's Emotion - Request/Response

Successful

delete_a_dream_emotion_success

Unsuccessful
  • Record Doesn't Exist

delete_a_dream_emotion_unsuccessful

Delete a User's Dream's Tag - Request/Response

Successful

delete_a_dream_tag_success

Unsuccessful
  • Record Doesn't Exist

delete_a_dream_tag_unsuccessful


(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

Inner Worlds Team

Back End

Jade Stewart Bobby Luly Kassandra Leyba Weston Sandfort Sam Walker
GitHub
LinkedIn
GitHub
LinkedIn
GitHub
LinkedIn
GitHub
LinkedIn
GitHub
LinkedIn

Front End

Lauren Seward Daniel Curtin Lexye Jordan
GitHub
LinkedIn
GitHub
LinkedIn
GitHub
LinkedIn

(back to top)

Acknowledgements

(back to top)

About

Inner Worlds is an application to help a user keep a detailed dream journal, and provide data about their dreams.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages