|
import streamlit as st |
|
from datetime import datetime |
|
import logging |
|
from routes import ( |
|
translation_model, |
|
sentiment_model, |
|
routing_model, |
|
job_model |
|
) |
|
|
|
|
|
logging.basicConfig( |
|
level=logging.INFO, |
|
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', |
|
handlers=[logging.StreamHandler()] |
|
) |
|
|
|
|
|
st.set_page_config( |
|
page_title="Hostel Management System", |
|
page_icon="🏨", |
|
layout="wide" |
|
) |
|
|
|
def main(): |
|
st.title("🏨 Hostel Management System") |
|
|
|
|
|
page = st.sidebar.selectbox( |
|
"Select Service", |
|
["Translation", "Sentiment Analysis", "Grievance Routing", "Job Recommendation"] |
|
) |
|
|
|
if page == "Translation": |
|
translation_page() |
|
elif page == "Sentiment Analysis": |
|
sentiment_page() |
|
elif page == "Grievance Routing": |
|
routing_page() |
|
else: |
|
job_recommendation_page() |
|
|
|
def translation_page(): |
|
st.header("Translation Service") |
|
user_message = st.text_area("Enter text to translate") |
|
target_lang = st.selectbox("Select target language", ["English", "Spanish", "French", "German"]) |
|
|
|
if st.button("Translate"): |
|
if user_message: |
|
result = translation_model.process_message({ |
|
"user_message": user_message, |
|
"target_language": target_lang |
|
}) |
|
st.success(result.get("translated_text", "Translation failed")) |
|
|
|
|
|
|
|
if __name__ == "__main__": |
|
main() |