Needle V2 is a faceted search system build with Laravel marked up with Blade template. All search request perform with ajax so there is no redirecting or refreshing the page, it return the result very quickly. All codes are support any version of Laravel.
Why Needle V2?
All codes are very simple and nested properly. It’s very easy to modify. All of the search keys are returning form database so no need to add too many search options or checkbox in html just add your products to database and the search panel will update itself. Any kind of website can use this faceted search system. ex: any kind of eCommerce, Hotel Booking, Automobile Showroom etc.
Crawl efficiency & SEO performance
This can be an enormous challenge for eCommerce sites, which can have hundreds – or even thousands – of pages which are similar versions of the same product/category. With multiple possible combinations of attributes (color, sizes, material, etc.) for each product on the site, Googlebot could waste a ton of your crawl bandwidth crawling in and out of navigational filters.
Needle uses Ajax to perform search and navigate to page. The main benefit of using AJAX for faceted navigation is that a new URL is not created when a user is on a page and applies a filter or sort order. The entire process happens client-side with JavaScript, without involving the web server.
Server Requirements
You will need to make sure your server meets the following requirements:
- PHP >= 7.3
- BCMath PHP Extension
- Ctype PHP Extension
- Fileinfo PHP Extension
- JSON PHP Extension
- Mbstring PHP Extension
- OpenSSL PHP Extension
- PDO PHP Extension
- Mbstring PHP Extension
- Tokenizer PHP Extension
- XML PHP Extension
Other Framework
- Bootstrap 4.0.0
- jQuery 3.2.1
- jQuery UI 1.12.1
- Normalize.css 7.0.0
Update Log
2022.11.14 - Upgraded to Bootstrap 5 2022.10.30 - Upgraded to Laravel 9 2022.01.13 - Bugfix on products-colors relation. 2021.08.24 - Add new range slider (touch compatible). 2021.08.14 - Add intermediary table for "Products" and "Colors". From now on a product can have multiple colors. 2021.01.19 - Remove "Load More >>>" button if there is no more items. 2020.11.04 - Upgrade to Laravel 8.0 2020.07.28 - Upgrade to Laravel 7.22.2 2020.04.30 - Bugfix on "ajax product loading" while refreshing browser. 2019.04.09 - Responsive Design 2018.12.27 - Compatible with IE11 & Edge 2018.12.27 - Move product listing view code to New Blade File from Controller (Easier to modify product listing design than before) 2018.12.27 - Improve ajax pagination 2018.06.15 - Add "Clear all filters" button 2018.06.15 - Replace custom pagination with laravel-bootstrap default pagination (more efficient, less bug) 2018.06.15 - Improve code quality. Reduce search time and page loading time. 2018.03.24 - Category, Brand, Color, Type and Offers can be search by the "Search Box" 2018.03.07 - Ensure compatibility with Laravel 5.6 2018.02.10 - Display available product quantity on search list 2018.01.22 - Upgrade search engine 2017.12.06 - Bug fix: '500 server error' on `offers` selection 2017.11.09 - Bug fix: Stop previous Ajax request if new request starts. (effective on large database or low bandwidth) 2017.11.01 - Bug fix on "Load more >>>" of "Type" filter 2017.11.01 - Add meta tags to improve SEO and control Spider Crawler 2017.10.23 - Collapsible search option 2017.10.23 - Add "Load more >>>" in search option 2017.09.17 - Initial Upload