Skip to content

The Bookshelf website is a comprehensive book management platform that allows users to effortlessly organize and explore a vast collection of books.

Notifications You must be signed in to change notification settings

Darshan1904/Bookshelf

Repository files navigation

Bookshelf Website

The Bookshelf website is a comprehensive book management platform that allows users to effortlessly organize and explore a vast collection of books. Users can filter books based on their genre and sort them based on their price. They can also search for a particular book using its title and add books to their favorites list. The website includes an admin user role that has additional privileges, such as adding new books, deleting books, updating book prices, and adding new admins.

Features

  • Book Organization: Users can effortlessly organize and explore a vast collection of books on the website.
  • Genre Filtering: Users can filter books based on their genre, making it easier to find books of interest.
  • Price Sorting: Books can be sorted based on their price, allowing users to view books in ascending or descending order of price.
  • Book Search: Users can search for a particular book using its title, helping them quickly locate specific titles.
  • Favorites List: Users can add books to their favorites list, enabling them to easily access their preferred titles.
  • Admin Privileges: Admin users have additional privileges, including adding new books, deleting books, updating book prices, and adding new admins.

Technologies Used

The Bookshelf website is built using the following technologies:

  • Node.js: A JavaScript runtime environment that enables server-side scripting and allows the website to handle server-side operations efficiently.
  • Render: A platform for hosting and deploying web applications, utilized for hosting the Bookshelf website.
  • MySQL Database: A relational database management system used to store and manage book data efficiently.
  • Express.js: A web application framework for Node.js, used to develop the server-side functionality of the Bookshelf website.
  • Tailwind CSS: A utility-first CSS framework that provides pre-defined styles and components for designing the website's user interface.
  • Planetscale: A database platform that offers scalable and reliable MySQL databases, used to store and manage book data securely.
  • EJS Template Engine: A template engine for Node.js that generates dynamic HTML pages based on predefined templates, employed to render dynamic content on the Bookshelf website.

Usage

To use the Bookshelf website, follow these steps:

  1. Visit the website at bookshelf-3uq7.onrender.com.
  2. Explore the vast collection of books by browsing through various genres or using the search functionality.
  3. Filter the books based on your preferred genre or sort them by price to narrow down your choices.
  4. Click on a book to view its details, including the title, author, description, and price.
  5. Add books to your favorites list by clicking on the "Add to Favorites" button.
  6. If you are an admin user, log in using your credentials to access additional privileges.
    • Add new books by providing the necessary details, such as title, author, genre, description, and price.
    • Delete books from the collection by selecting the appropriate option.
    • Update book prices to reflect any changes.
    • Add new admins by entering their credentials and assigning them the admin user role.
  7. Enjoy managing and exploring your book collection effortlessly!

Development

If you wish to contribute to the development of the Bookshelf website, follow these steps:

  1. Clone the repository from GitHub to your local machine.
  2. Install the required dependencies using npm install.
  3. Set up the MySQL database and ensure the connection details are correctly configured.
  4. Modify the necessary files, such as routes, controllers, and views, to implement new features or fix issues.
  5. Test the changes locally using npm start and verify that the website functions as expected.
  6. Create a pull request on the GitHub repository to submit your changes for review and inclusion.

Future Enhancements

The Bookshelf website has the potential for several future enhancements, including:

  • Book reviews and ratings.
  • Integration with external APIs to fetch additional book information, such as cover images or user reviews.
  • Social sharing features to allow users to share their favorite books on various platforms.
  • Advanced search options, such as filtering by author or publication date.

Conclusion

The Bookshelf website provides users with a comprehensive platform to effortlessly organize and explore their collection of books. With features such as genre filtering, price sorting, search functionality, favorites list, and admin privileges, the website offers a seamless book management experience. Built using Node.js, Render, MySQL Database, Express.js, Tailwind CSS, Planetscale, and the EJS template engine, the website is a powerful tool for book enthusiasts. Explore your favorite books and enjoy managing your collection with ease using the Bookshelf website!

About

The Bookshelf website is a comprehensive book management platform that allows users to effortlessly organize and explore a vast collection of books.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published