Book library initially made using Vanilla CSS and JS as part of The Odin Project. Later upgraded to a full stack web app using Express JS and sqlite.
Frontend only demo: https://sibi361.github.io/lite-library/
DEMO : https://lite-library.onrender.com/
^This demo will take around 20 seconds to boot up
- Add books along with the author name, page count, etc.
- Books stored on server, available from any device
- Password-based User Auth
- Ability to delete, favourite books and mark their read status
- Mobile friendly UI
-
Clone the repository
git clone https://github.com/sibi361/lite-library.git
-
Generate a bcrypt salt and place it in
.env
asSALT
# https://blog.logrocket.com/password-hashing-node-js-bcrypt/ bcrypt .genSalt(saltRounds) .then(salt => { console.log('Salt: ', salt) return bcrypt.hash(password, salt) })
-
Generate a JWT secret token using the below snippet and save it as
JWT_SECRET
in.env
node -e "console.log(require('crypto').randomBytes(32).toString('hex'));"
-
Run the server at given port, for e.g. 8080
npm run start -- 8080
- Fix: liteShare buttons not working after tab change
- Feature: redirect to liteShare page after login if visitor was logged out
This project is licensed under the terms of the MIT License.
Books data credit: https://github.com/benoitvallon/100-best-books/blob/master/books.json