- About Listen Up
- Deployed Sites
- Learning Goals
- Setup
- Tech Stack
- Database Scheme
- API Queries/Mutations
- APIs Used
- Backend Contributors
- Frontend Contributors
Our backend is the core of the sound-guessing game that powers the app. It holds and manages data on the various sounds that the user can play, and responds to requests from the front end to generate decks of sounds and track scores on the leaderboard.
When the front end requests a new game, the backend randomly selects 8 sound cards from the available pool of sounds and combines them into a deck. This ensures that each game is unique and challenging.
Once the deck is created, the front end can request sounds from the deck until it is empty. The backend keeps track of the user's score after the game, so they can compare their scores across other players and their past games.
Overall, our backend provides a seamless and engaging user experience, with a variety of sounds and challenging gameplay that keeps users coming back for more.
- Working with separate frontend and backend teams using agile methodologies
- Self teach and implement GraphQL
- Utilize PR templates and comments as part of managing git workflow
- Implement Continuous Integration & Continuous Delivery
- Focus on open and frequent communication across teams via Slack, Zoom, Miro board, & Github Project Board
This project requires Ruby 2.7.4
- Fork and clone this repository
cd
into the root directory- Run
bundle install
- Run
bundle exec figaro install
- In
app/config/application.yml
add your API keyYou can sign up for a freesound.org API key hereFREE_SOUND_KEY: <API KEY GOES HERE>
- Run
rails db:{drop,create,migrate}
to setup the databases
- To run the test suite: Run
bundle exec rspec
- To load data into the development database via csv files: Run
rake csv_load:all
- If you wish to use your own data you can enter your own data in the csv files located in
db/data/sound_cards.csv
anddb/data/wrong_answers.csv
- If you wish to use your own data you can enter your own data in the csv files located in
- To load data into the development database via google sheets: Run
rake sheets_load:all
- If you use Google Sheets you will also need to create a Google API key and add that to
app/config/application.yml
asGOOGLE_API_KEY: <API KEY GOES HERE>
- Additionally if you want to create your own questions you will need to follow the format of the Sound Cards and Wrong Answers sheets and add your id into the URI in
app/services/sheet_service.rb
in theget_sheets
method.
- If you use Google Sheets you will also need to create a Google API key and add that to
- To enter queries via Postman: In the terminal run
rails s
and use the URL http://localhost:3000/graphql - To enter queries in GraphiQL: In the terminal run
rails s
and navigate to http://localhost:3000/graphiql in your browser
As a graphQL API all requests should be sent as post requests to /graphql
with the header "Content-Type": "application/json"
, click on a link below to see examples of query/mutation
Ryan Canton | Sam Cox | Joe King |
Angie Wirth | Matt Rowan | Natalie Kinsaul | Robert Aiken | Zac Walters |