A CRUD app that allows users to track books read and information in an Apple Music / Spotify UI design.
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
So many books, so little time! I find new books to read faster than I can read them. Keeping track of all of them and remembering the order I want to read them can be cumbersome (plus I'm very forgetful and can't remember the books that I've read).
I created this app based around creating and organizing "book playlists" similar to how Apple Music and Spotify shows your queued songs.
Tech used:
The Book data comes from the Google Books API and the NYTimes Books API. Books added to your playlist are saved to MongoDB.
This API can be accessed via https://bookly.cyclic.app/ or as a local copy. To get a local copy up and running follow these simple example steps.
-
Create new MongoDB project and connect to your new project
-
Create a .env file and add your MongoDB connection string to it (DB_STRING)
-
Create Google and NYTimes Developer acccounts, and generate API keys
-
Clone the repo
git clone https://github.com/github_username/repo_name.git
-
Install NPM packages
npm install
- Run server
node server.js npm run dev // nodemon command
- Navigate to server
`localhost:8000`
- Create books page displaying all finished books
- Create Discover books feature (Search Page)
- Refactor using MVC structure
- Rate finished books and add book notes
- Sorteable playlist (drag and drop and sort) feature
- Login
- Create multiple different playlists
See the open issues for a full list of proposed features (and known issues).
My biggest take away is how important it is to define a project MVC and UI/UX design prior to building out and developing any full stack web application. There were several times throughout the build process where I needed to go back and review the logic of my project design, to which there was none. In the future, I'll make sure to write out and define my project MVC, and using Figma to craft my project design to prevent the need to backtrack.
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".
Distributed under the MIT License. See LICENSE.txt
for more information.
Your Name - @devdanielk - [email protected]
Project Link: https://github.com/danjkim21/bookly-app
Live Link: bookly-crud-app.herokuapp.com/