Welcome to Booker, a simple books library manager to keep track of the books you are reading/finished reading.
I imported the main dataset of books and covers info (25000+ book) from Kaggle, cleaned the csv file to my preference (link to original dataset: https://www.kaggle.com/datasets/lukaanicin/book-covers-dataset/)
What i've used to build this app: -nodeJS / ExpressJs -EJS for rendering -PostgreSQL for data storage and manipulation
So make sure you have those installed on your machine, you can download them easily (google search).
After you clone this repo locally, you should have this look:
I'm using PostgreSQL with pgAdmin4, supposing you have those on your machine, your next steps are:
You can name the database whatever you want, just make sure you use the same name when setting up the connection to the DB using NodeJS.
In the query.sql file you will find the SQL queries you need to create the tables, don't change anything about them as that might lead to some problems we don't want.
After you create those Tables, we want to import the main-data.csv into your books table.
Steps:
Click on import/Export Data
Make sure you set the File name to the path where you're main_dataset.csv file is located.
You're options should look like this
Next we just need to set the columns we want to import (name,author,image,img_paths)
And finally, this is optional, to remove duplicated books from the database (there are some), you can run the third query from query.sql in your postgres database.
Go into index.js to setup the connection to the postgres DB.
The Image here represents the 8th line of code in index.js file, make sure to remove the comment (/* and */) and set the user, database, password according to what yours are.
Run $ npm i express body-parser pg in your terminal, make sure you're in the project directory.
and final step run $ node index.js and go to your http://localhost:3000/