Skip to content

fac-31/Pro0217-BookRecommender

Repository files navigation

📚🐶 Stonewaters Library

Deployed at https://pro0217-bookrecommender.onrender.com/ using Render

Your local library simulation app, here for all your book recommendation needs!

😏 What you can expect...

  • Book recommendations based solely on your input, no prompts barred. Fukuyama fan? No problem. Visiting Vienna next month and need a heads-up on tourist traps? We've got you. A aeroplane afficionado with a penchant for Pepper Jack cheese? You've come to the right place.
  • A personal reading list, curated by your own good self by liking books our resident librarian Oskar brings back.
  • Smart recommendations generated based on the content of your reading list.
  • "Friends" feature, allowing you to add other users as friends (and snoop(y) on their reading lists too!)
  • A personal inbox, informing you of new friend requests received and keeping you updated on the status of friend requests you have sent.

🛠️ Tech Stack

  • Backend: Node.js with Express
  • API Integration:
    • OpenAI API for book recommendations
    • Google Books API for book covers
  • "Database": local JSON file served by JSON-Server
  • Data (User ID) Persistence: localStorage object
  • Input Validation: Zod schema validation

🚀 Commencing countdown, engines on!

  1. Quick, clone the repository!
git clone https://github.com/yourusername/Pro0217-BookRecommender.git
  1. Install all those dependencies...
npm install
  1. Create a .env file for your OpenAI API key, very important!
OPENAI_KEY=your_openai_api_key
  1. Check you've got an ample supply of Jacob's cream crackers...
npm run have-we-forgotten-the-crackers
  1. Fire up the server!
npm run start
  1. Navigate to a browser of your choosing, sit back and enjoy the ride! 😁

🎯 API Endpoints

See the full API documentation here.


Happy reading! Oskar 🐾

About

An app that recommends new reads!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •