Skip to content

The BookStore is a multi-vendor online bookstore built using Laravel. It allows users (customers) to browse and purchase books from multiple sellers (publishers). The system supports book management, order processing, discounts, coupons, and user authentication with role-based access control.

Notifications You must be signed in to change notification settings

HeshamAdel0007/BookStore

Repository files navigation

BookStore

The BookStore is a multi-vendor online bookstore built using Laravel. It allows users (customers) to browse and purchase books from multiple sellers (publishers). The system supports book management, order processing, discounts, coupons, and user authentication with role-based access control.


Database


Test API

you can use this NextJS project to test api

Key Features

  • Multi-Vendor Support: Publishers can manage their own books independently.
  • Book Management: Add, update, delete, and restore books.
  • Category Management: Organize books into categories.
  • Order Management: Create and manage orders, apply discounts, and handle coupons.
  • Authentication & Security: User login, registration, password reset, and email verification.
  • Role-Based Access Control: Different roles for admins, publishers, and customers.

Modules

  • Functionality: Handles user authentication, registration, password reset, and email verification.
  • Features:
    • Login for publishers and customers.
    • Password reset via email.
    • Email verification.
    • Role-based access control (admin, publisher, customer).

  • Functionality: Manages books, including adding, updating, deleting, and restoring books.
  • Features:
    • Soft delete and restore functionality for books.
    • Manage book details such as name, price, stock quantity, ISBN, publication date, etc.
    • Link books to categories and publishers.
    • Manage book cover images.

  • Functionality: Manages categories for organizing books.
  • Features:
    • Create, update, and delete categories.
    • Each category can have multiple books.
    • Automatic slug generation for categories.

  • Functionality: Manages publishers (sellers) and the books they publish.
  • Features:
    • Register and manage publisher accounts.
    • Add and edit books for each publisher.
    • Soft delete functionality for publishers.

  • Functionality: Manages customer orders.
  • Features:
    • Create and update orders.
    • Apply discounts and coupons to orders.
    • Calculate the total cost of orders.
    • Create and update discounts.
    • Generate unique coupon codes.
    • Validate coupon codes.

  • Functionality: Manages admins, publishers, and customers.
  • Features:
    • Add, update, and delete users.
    • Soft delete and restore users.
    • Manage roles and permissions.

Helper

The Helpers class is a utility class designed to simplify the process of returning standardized JSON responses and logging errors in Laravel applications.

Middleware

The CheckUserTokenAbility middleware is responsible for verifying that incoming requests have the appropriate token abilities based on the URL path. It maps specific URL prefixes to guard names and checks if the authenticated user's token has the required abilities for the corresponding guard.

License

The Laravel framework is open-sourced software licensed under the MIT license.

About

The BookStore is a multi-vendor online bookstore built using Laravel. It allows users (customers) to browse and purchase books from multiple sellers (publishers). The system supports book management, order processing, discounts, coupons, and user authentication with role-based access control.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published