Bookify
π Overview
Bookify is an user-friendly online book store built using the MERN stack (MongoDB, Express.js, React, Node.js). It provides a seamless experience for both readers and administrators. The system is designed to facilitate browsing, searching, and buying books.
π Key Features
Feature | Description |
---|---|
π User Authentication | Secure login and registration system using Firebase for user authentication. |
π Book Catalog | Users can browse and search for books by title, author, or genre. |
π Cart and ordering | Users can add books to their cart, order books, and track order history. |
π Admin Dashboard | Admins can add, update, delete, and manage book listings. |
π Data Storage | Store user data and book information in MongoDB. |
π οΈ Technologies & Tools
Technology | Purpose | Link |
---|---|---|
MongoDB | NoSQL database for storing books and user data | MongoDB |
Express.js | Backend framework for API development | Express.js |
React | Frontend framework for building the user interface | React |
Node.js | JavaScript runtime for backend development | Node.js |
Firebase | Secure user authentication | Firebase |
GitHub | Version control for team collaboration | GitHub |
Features
Homepage
The homepage provides an overview of the platform, showcasing featured books, top sellers, and new arrivals. It serves as the main entry point for users to explore the book collection.
Top Sellers Section Shows the top selling books at a certain period
Recommended for you shows curated books just for you
All Books Page
This page displays a comprehensive list of all available books. Users can browse through the collection, filter by categories, and search for specific titles or authors.
User Signup
New users can create an account by providing their details. This allows them to access personalized features such as adding books to their wishlist and placing orders.
User Login
Existing users can log in to their accounts to access their saved preferences, order history, and other personalized features.
Admin Dashboard
Admins have access to a dedicated dashboard where they can manage the book listings, including adding new books, updating existing ones, and removing books from the catalog.
Add to cart
Users can add books to their cart for purchase. The cart keeps track of selected items and allows users to proceed to checkout when they are ready to complete their purchase.
Checkout Page
The checkout page provides a summary of the items in the userβs cart and allows them to enter their shipping and payment information to complete the purchase.
Order Page
The order page allows users to view their order history, track the status of their current orders, and manage their past purchases.
Books Description Page
This page provides detailed information about a specific book, including its description, author, price, and reviews from other users.
Related Books Section
The related books section suggests books similar to the one currently being viewed, helping users discover more books of interest.
Review Section
Users can read reviews left by other readers and leave their own reviews for books they have read. This section helps users make informed decisions about their book purchases.
Installation
- Clone the repository:
git clone https://github.com/yourusername/bookify.git cd bookify cd backend npm install cd ../frontend npm install
- Set up environment variables: Create a .env file in the backend directory and add the following environment variables:
DB_URL="your_mongodb_connection_string" PORT=5000 JWT_SECRET_KEY="your_jwt_secret_key"
- Running the Application: ```bash
Start the backend server
cd backend npm run dev
Start the frontend development server
cd frontend npm run dev ```