View Demo
·
Report Bug
·
Request Feature
EnoBot is a web application designed to predict the flavor profile of wines based on user inputs like wine type, grape variety, and region. The app provides wine recommendations and food pairings using data fetched dynamically from OpenAI API.
Note: This project is a work in progress. Future plans include making EnoBot a robust application for wine education and wine enthusiasts. The bot can also be trained to use inventory data from wine retailers or specialized information from wineries, including chemical composition, to predict wine quality.
- Introduction
- Project Structure
- Setup and Installation
- Usage
- Functionality
- Technologies Used
- Future Implementation
- Deployed Version
- Author
- Contact
The project is divided into two main folders:
- enobot-client: Contains the frontend code.
- enobot-server: Contains the backend code.
Before you begin, ensure you have the following installed:
- Node.js
- npm (Node Package Manager)
- Git
- AXIOS
- DOTENV
- REACT-ROUTER-DOM
- REACT-SELECT
- SASS
Clone project to local machine
git clone git@github.com:bmarmolejo/brainstation-capstone-project.git
Navigate to the enobot-client directory:
cd enobot-client
Install dependencies:
npm install
Set Up Environment Variables
Create a .env file in both the enobot-client and enobot-server folders based on the .env.example files provided.
Example for enobot-client:
REACT_APP_API_URL=http://localhost:5173
Example for enobot-server:
PORT=8080
OPENAI_API_KEY=your_openai_api_key
mv .env.sample .env
Run application
npm start
- Start the client and server as described in the setup section.
- Access the client application at http://localhost:5173.
- The server will be running on http://localhost:8080.
- Predict wine flavor profiles.
- Provide wine recommendations.
- Suggest food pairings.
- Friendly and casual response tone.
- Uncommon wine and grape variety recognition.
- React
- Node.js
- Express
- OpenAI API
- Axios
-
Advanced Wine Recommendations: Enhance the recommendation engine to provide more personalized wine suggestions based on detailed user preferences, including taste history and feedback.
-
User Profiles: Introduce user profiles where users can save their wine preferences, tasting notes, and favorite wines. Profiles will also display users' wine-tasting activity and history.
-
Social Sharing: Enable users to share their wine predictions and recommendations on social media platforms, fostering community engagement and attracting more users to the app.
-
Wine Inventory Integration: Develop a model for wineries and wine retailers to include their inventory in the app. This will allow EnoBot to provide specific wine recommendations based on the available stock. For wineries, the model can be trained with data on chemical composition and other factors to predict wine quality.
-
Friends and Community: Enable users to connect with other wine enthusiasts within the app. Users can add friends, share recommendations, and view friends' wine-tasting activities.
-
Expert Reviews and Testimonials: Integrate expert wine reviews and user testimonials within the app. Users can read and write reviews for wines they have tried, providing valuable feedback for other users.
-
Event Notifications: Implement a feature to notify users about wine-tasting events, workshops, and promotions based on their location and preferences. This will help users stay informed and engaged with the wine community.
If you have any questions or feedback, please reach out to bmarmolejo@gmail.com.