Skip to content

📚 Booked app API built with Ruby on Rails, PostgreSQL database, and ActiveModel Serializer. Utilizes ActionCable, Google Books API, and JWT. Stores users, book lists, books, book clubs, and messages.

License

Notifications You must be signed in to change notification settings

aresnik11/booked-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Booked

Booked is a book app that allows users to search for books, add books to book lists, share book lists, and chat in online book clubs.

The backend repo is deployed via Heroku, and the frontend repo (here) is deployed via Netlify. Visit the site at https://booked.netlify.app.

Netlify Status

Booked Book Lists

Booked Books

Demo

Booked Demo

You can watch a live demo of the app here or visit the site at https://booked.netlify.app.

Technology Used

  • React
  • Redux
  • Websockets via ActionCable
  • Google Books API
  • Custom infinite scroll
  • React Router
  • Semantic UI
  • Custom CSS
  • JWT Authentication
  • Ruby on Rails
  • PostgreSQL database
  • ActiveModel Serializer

The GitHub repo for the frontend can be found here.

Features

Booked allows users to:

  • Create an account
  • Securely log in to an existing account
  • Create a new book list
  • Share a book list with another user
  • Delete a book list
  • Search for books by title, author, or genre - makes live calls to the Google Books API
  • Automatically load next 40 books from search when user reaches the bottom of the page
  • Click the back to top button to take the user back to the top of the search page
  • Add a book to one of their book lists
  • Remove a book from one of their book lists
  • Create a new book club
  • Chat with other users in real-time in a book club
  • Delete a book club
  • Securely log out
  • Delete their account

How To Use

Visit the site at https://booked.netlify.app.

To test on your own machine:

  1. While logged into a Google account, go to https://console.developers.google.com/apis/library/books.googleapis.com and click Enable
  2. Follow the subsequent steps to generate an API key
  3. Clone this repository
  4. Switch to Ruby version 2.6.1
  5. Make sure postgreSQL is running on your computer, if not, download and run it
  6. Create an .env file in the top level directory
  7. In the .env file, create a constant variable JWT_SECRET_KEY and set it equal to whatever you want your secret key to be. Ex:
JWT_SECRET_KEY=test123
  1. In the .env file, create a constant variable GOOGLE_BOOKS_API_KEY and set it equal to your API key
  2. In terminal run
bundle install
rails db:create
rails db:migrate
rails s
  1. Follow instructions here to run the frontend
  2. You will need to update config/initializers/cors.rb to accept origin requests from wherever your frontend will be hosted

Enjoy!

About

📚 Booked app API built with Ruby on Rails, PostgreSQL database, and ActiveModel Serializer. Utilizes ActionCable, Google Books API, and JWT. Stores users, book lists, books, book clubs, and messages.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published