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.
shopzone_demo.mp4
- 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.
- Next.js
- TypeScript
- TailwindCSS
- Radix UI
- FastAPI
- Elasticsearch
- Kibana
- Docker
- Docker Compose
- Python
- Clone the repository
- Run
docker compose -f docker-compose-production.yml up
to start the elasticsearch, kibana, backend and frontend instances - Run
docker compose -f docker-compose-production.yml down
to stop the elasticsearch, kibana, backend and frontend instances - Run
docker compose -f docker-compose-production.yml up --build
to build and start the elasticsearch, kibana, backend and frontend instances - 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.
- Frontend will be available at
http://localhost:3000/
- Backend will be available at
http://localhost:8081/
- Kibana will be available at
http://localhost:5601/
- Elasticsearch will be available at
http://localhost:9200/
Copyright (c) 2024 Y. Siva Sai Krishna
This project is licensed under the AGPL-3.0 License - see the LICENSE file for details.