Perusable is a demonstration application showcasing the integration of full-text search capabilities using both Postgres and Elasticsearch within a Django framework. This application focuses on providing a seamless search experience for wine enthusiasts, allowing them to explore and discover wines from around the world.
-
Full-Text Search: Utilizes the power of Postgres and Elasticsearch to enable efficient full-text search functionality.
-
Wine Database: Curates a comprehensive database of wines, including information about regions, grape varieties, vintages, and more.
-
User-Friendly Interface: Offers a user-friendly interface created with React for searching and browsing wines, making it easy for users to find the exact wines they desire.
-
Django: The web framework for building the application’s backend, managing data models, and handling user requests.
-
Postgres: Serves as the primary relational database management system for storing wine-related data and metadata.
-
Elasticsearch: Provides powerful full-text search capabilities, enhancing the search experience by enabling fast and accurate retrieval of relevant wine information.
To run the Perusable application locally, follow these steps:
-
Clone this repository to your local machine.
-
Create a virtual environment.
-
Install the required dependencies listed in the requirements.txt file.
-
Run the containers for the database and application using docker compose.
-
Create the migrations.
docker-compose exec server python manage.py makemigrations catalog
-
Run migrations to create the necessary database schema.
docker-compose exec server python manage.py migrate
-
Populate the database with sample wine data.
-
Start the Django development server.
-
Access the application in your web browser and start exploring wines!