The HPI Chatbot Frontend is a user-friendly interface for interacting with the Heat Pump Installer Chatbot, built using Streamlit and containerised with Docker for seamless deployment and scalability.
- Streamlit-based Frontend: Leverages Streamlit for an interactive and intuitive chatbot experience.
- Dockerized Deployment: Simplifies environment setup and ensures consistency across different platforms.
- Customisable: Easily configurable to integrate with various chatbot backends.
- Lightweight & Portable: Run anywhere Docker is supported.
Ensure you have the following installed:
The application uses environment variables for configuration. Create a .env
file in the project root based on the .env.template
file.
To start the application using Docker Compose:
- Build and run the Docker container:
docker-compose up --build
- Access the application in your browser at:
http://localhost:8501
To run the app without Docker Compose:
- Build the Docker image:
docker build -t hpi-chatbot-frontend .
- Run the container:
docker run -p 8501:8501 --env-file .env hpi-chatbot-frontend
To test the app locally:
-
Run the app without Docker:
streamlit run app/main.py
-
Ensure you have Python and the required dependencies installed:
pip install -r requirements.txt
For a production-ready deployment:
-
Build the Docker image:
docker build -t hpi-chatbot-frontend .
-
Push the image to a container registry (e.g., Docker Hub, AWS ECR):
docker tag hpi-chatbot-frontend <your-registry>/hpi-chatbot-frontend
docker push <your-registry>/hpi-chatbot-frontend
-
Deploy the image on a platform like Kubernetes, AWS ECS, or Azure Container Apps.
- Streamlit: For creating the frontend.
- Docker: For containerization.
- Python: Backend logic and integrations.
- Docker Compose: Simplified multi-container management.
We welcome contributions! Follow these steps to get started:
- Fork the repository.
- Clone your fork:
git clone https://github.com/your-username/hpi_chatbot_frontend.git
- Create a new branch for your feature:
git checkout -b feature/your-feature-name
- Commit your changes:
git commit -m "Add your message here"
- Push your branch and create a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
For support, open an issue in the GitHub repository.