import streamlit as st | |
from pymongo import MongoClient | |
import os | |
from dotenv import load_dotenv | |
# Load environment variables from a .env file | |
load_dotenv() | |
# MongoDB URI and Database name (retrieved from environment variables) | |
MONGO_URI = os.getenv("MONGO_URI", "mongodb://localhost:27017") # Fallback to local MongoDB if not set | |
DB_NAME = os.getenv("DB_NAME", "poultry_farm") # Fallback database name if not set | |
# Initialize MongoDB client | |
client = MongoClient(MONGO_URI) | |
# Access the database | |
db = client[DB_NAME] | |
# Collections (define and expose MongoDB collections to be used in the system) | |
users_collection = db.users # User collection | |
logs_collection = db.logs # Logs collection (e.g., health logs, usage logs) | |
inventory_collection = db.inventory # Inventory collection for feed, medicines, etc. | |
health_collection = db.health # Health collection for poultry health records | |
usage_collection = db.usage # Assistant usage tracking collection | |
# Test the database connection and display the information in Streamlit | |
try: | |
# Print a list of databases to ensure connection is successful | |
databases = client.list_database_names() | |
st.write(f"Databases in MongoDB: {databases}") | |
st.write(f"Connected to MongoDB database: {DB_NAME}") | |
except Exception as e: | |
st.error(f"Error connecting to MongoDB: {e}") | |