https://github.com/ysskrishna/shopzone
A full stack e-commerce application built with Next.js, FastAPI and Elasticsearch. It provides a seamless shopping experience with powerful search capabilities, sorting, filtering and an intuitive interface. The application is fully responsive and mobile-friendly, offering a consistent experience across all devices.
https://github.com/ysskrishna/shopzone
docker docker-compose elasticsearch fastapi kibana nextjs python radix-ui tailwindcss typescript
Last synced: 3 months ago
JSON representation
A full stack e-commerce application built with Next.js, FastAPI and Elasticsearch. It provides a seamless shopping experience with powerful search capabilities, sorting, filtering and an intuitive interface. The application is fully responsive and mobile-friendly, offering a consistent experience across all devices.
- Host: GitHub
- URL: https://github.com/ysskrishna/shopzone
- Owner: ysskrishna
- License: agpl-3.0
- Created: 2024-12-30T10:40:00.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-28T16:21:41.000Z (over 1 year ago)
- Last Synced: 2025-03-14T13:25:43.464Z (over 1 year ago)
- Topics: docker, docker-compose, elasticsearch, fastapi, kibana, nextjs, python, radix-ui, tailwindcss, typescript
- Language: TypeScript
- Homepage:
- Size: 63.5 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ShopZone
A full stack e-commerce application built with Next.js, FastAPI and Elasticsearch. It provides a seamless shopping experience with powerful search capabilities, sorting, filtering and an intuitive interface. The application is fully responsive and mobile-friendly, offering a consistent experience across all devices.
## Media
https://github.com/user-attachments/assets/c4714cf6-e8fe-498c-b092-d974642fbe45
### Landing Page

### Search Page

### Search Page Pagination

### Search Page With Filters

### Product Details Page

### Product Recommendations

### Elasticsearch server

### Kibana server

## Features
- **Real-Time Product Search**: Instantly fetch and display product results powered by Elasticsearch for high-performance search capabilities.
- **Advanced Filtering and Sorting Options**:
- Multiple value filters for categories and subcategories.
- Range filters for product price and ratings.
- Options to clear individual filters or reset all filters simultaneously.
- Sorting options include Relevance, Price (Low to High), Price (High to Low), and Top Rated.
- **Responsive Design**: Fully optimized for mobile, tablet, and desktop devices, ensuring a seamless user experience across all platforms.
- **Clean and Modern UI**: Built using **TailwindCSS** and **Radix UI** for a visually appealing and user-friendly interface.
- **Personalized Product Recommendations**: Tailored product suggestions based on user preferences and browsing history.
- **Fast and Optimized Performance**: Highly efficient, ensuring a smooth and lag-free experience even for large datasets.
- **SEO-Friendly Architecture**: Powered by **Next.js** with dynamically generated metadata for product pages to enhance search engine visibility.
- **RESTful API Backend**: Developed with **FastAPI**, ensuring reliable and scalable backend services.
- **Pagination Controls**: Seamless pagination with customizable page size options for improved navigation.
- **Containerized Deployment**: Easily set up and deploy the application with Docker for streamlined and consistent deployment.
## Tech Stack
- Next.js
- TypeScript
- TailwindCSS
- Radix UI
- FastAPI
- Elasticsearch
- Kibana
- Docker
- Docker Compose
- Python
## Installation
1. Clone the repository
2. Run `docker compose -f docker-compose-production.yml up` to start the elasticsearch, kibana, backend and frontend instances
3. Run `docker compose -f docker-compose-production.yml down` to stop the elasticsearch, kibana, backend and frontend instances
4. Run `docker compose -f docker-compose-production.yml up --build` to build and start the elasticsearch, kibana, backend and frontend instances
5. On first run, the backend will seed the data into the elasticsearch index. This may take a few minutes. Please be patient and do not close the terminal.
6. Frontend will be available at `http://localhost:3000/`
7. Backend will be available at `http://localhost:8081/`
8. Kibana will be available at `http://localhost:5601/`
9. Elasticsearch will be available at `http://localhost:9200/`
## License
Copyright (c) 2024 [Y. Siva Sai Krishna](https://github.com/ysskrishna)
This project is licensed under the AGPL-3.0 License - see the LICENSE file for details.