Skar Book Reviews is a web application that allows users to manage and track their book reviews. The application enables users to create, read, update, and delete book entries, with automatic book information retrieval and a visually appealing interface.
- Book Entry Creation: Add new books with ISBN, personal rating, and review notes
- Automatic Book Information Retrieval: Fetches book details (title, author) from Open Library API
- Dynamic Book Cover Images: Displays book covers using Open Library's cover API
- Sorting Capabilities:
- Sort books by rating
- Sort books by recency
- Sort books by title
- Responsive Design: Mobile-friendly layout with modern UI
- CRUD Operations:
- Create new book entries
- Read existing book reviews
- Update book reviews
- Delete book entries
- Backend:
- Node.js
- Express.js
- Database:
- PostgreSQL
- Frontend:
- EJS (Templating Engine)
- Bootstrap
- Custom CSS
- External APIs:
- Open Library API
- Node.js (v14 or later)
- PostgreSQL
- npm (Node Package Manager)
- Clone the repository
git clone https://github.com/your-username/skar-book-reviews.git
cd skar-book-reviews
- Install dependencies
npm install
- Database Setup
- Create a PostgreSQL database named
BookReview
- Run the following SQL to create the books table:
CREATE TABLE book (
id SERIAL PRIMARY KEY,
isbn VARCHAR(255),
title VARCHAR(255),
author VARCHAR(255),
review TEXT,
date DATE,
ratings INTEGER
);
- Configure Database Connection
- Update database credentials in
app.js
:
const db = new pg.Pool({
host: "localhost",
port: 5432,
user: "your_username",
password: "your_password",
database: "BookReview"
});
- Start the Server
npm start
- Home Page: View all book reviews
- Create Button: Add a new book review
- Sort Dropdown: Organize book reviews
- Edit/Delete Buttons: Modify existing reviews
The application is fully responsive and works seamlessly on:
- Desktop browsers
- Tablet devices
- Mobile phones
- Blurred glassmorphic design
- Book-themed background
- Hover effects on book review cards
- Customized scrollbar
- Input validation
- Parameterized database queries
- Error handling for API calls
- User authentication
- Advanced search functionality
- Reading status tracking
- Export/import book reviews
- Improved UI design
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request