Skip to content

Commit

Permalink
update readme file
Browse files Browse the repository at this point in the history
  • Loading branch information
salehhashemi1992 committed Mar 17, 2024
1 parent 0347582 commit 82a2bd1
Showing 1 changed file with 30 additions and 7 deletions.
37 changes: 30 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,24 +11,47 @@

</div>

This Laravel package abstracts the database layer using repository pattern with enhanced capabilities for filtering and searching. It simplifies the common tasks of data manipulation, along with advanced features for applying custom filters and search criteria.
This Laravel package simplifies and streamlines data access by implementing the repository pattern.
It provides a powerful abstraction layer for your database interactions,
enhanced with flexible filtering, searching, and criteria-based querying.

![Header Image](./assets/header.png)

## Features
* Repository Abstraction
* Dynamic Filtering
* Criteria-Based Filtering
* Search Functionality
* Modular Repository Interface
* Ease of Integration
* **Repository Abstraction:** Decouples data access logic from application code.
* **Dynamic Filtering:** Apply filters to refine database queries.
* **Criteria-Based Filtering:** Define reusable criteria for common query constraints.
* **Search Functionality:** Implement custom search logic based on user input.
* **Modular Repository Interface:** Enforces consistency and maintainability.
* **Ease of Integration:** Seamlessly integrates with Laravel applications.
* **Development Tools:** Automate repository, interface, and filter creation with the `make:repository` command.

## Installation
To install the package, you can run the following command:
```bash
composer require salehhashemi/laravel-repository
```

## Development Tools

The package includes a helpful command to speed up your development workflow:

* **`make:repository`** This command automates the creation of the following components for a specified model:

* Repository Class
* Repository Interface
* Filter Class

**Usage Example:**

```bash
php artisan make:repository User
```
or
```bash
php artisan make:repository App\Models\User
```

## Example Usage
Practical example of how to use this package to manage and interact with a Post model.

Expand Down

0 comments on commit 82a2bd1

Please sign in to comment.