diff --git a/Feedstack/.env.production b/Feedstack/.env.production index 2ce0431f05..7bf795039c 100644 --- a/Feedstack/.env.production +++ b/Feedstack/.env.production @@ -1 +1 @@ -REACT_APP_API_URL=https://your-backend-will-be-here.onrender.com/api \ No newline at end of file +REACT_APP_API_URL=http://feedstack-b2cc1.web.app/ \ No newline at end of file diff --git a/Feedstack/.gitignore b/Feedstack/.gitignore index bb4f9a9327..fde14e4606 100644 --- a/Feedstack/.gitignore +++ b/Feedstack/.gitignore @@ -105,3 +105,6 @@ env/ # OS .DS_Store Thumbs.db + +#media folder +/media/uploads \ No newline at end of file diff --git a/Feedstack/client/.gitignore b/Feedstack/client/.gitignore index 4d29575de8..24cdedf82f 100644 --- a/Feedstack/client/.gitignore +++ b/Feedstack/client/.gitignore @@ -20,4 +20,4 @@ npm-debug.log* yarn-debug.log* -yarn-error.log* +yarn-error.log* \ No newline at end of file diff --git a/Feedstack/client/firebase.json b/Feedstack/client/firebase.json index 340ed5b734..2edc664bec 100644 --- a/Feedstack/client/firebase.json +++ b/Feedstack/client/firebase.json @@ -7,6 +7,13 @@ "**/node_modules/**" ], "rewrites": [ + { + "source": "/api/**", + "run": { + "serviceId": "feedstack", + "region": "us-east4" + } + }, { "source": "**", "destination": "/index.html" diff --git a/Feedstack/client/src/components/Feedback.js b/Feedstack/client/src/components/Feedback.js index d6ae3cfc0e..42d5400c77 100644 --- a/Feedstack/client/src/components/Feedback.js +++ b/Feedstack/client/src/components/Feedback.js @@ -4,6 +4,8 @@ import axios from 'axios'; import MarkdownIt from 'markdown-it'; import popSound from '../assets/pop.mp3'; import API_URL from '../config'; +import {db} from "../firebase" +import {serverTimestamp, addDoc, collection} from "firebase/firestore" const md = new MarkdownIt({ html: false, // Disable HTML tags in source @@ -146,8 +148,14 @@ function Feedback() { setNewMessage(''); try { - // Log to console instead of Firebase - console.log('User message (Firebase disabled):', userMessage.content); + // Add user message to Firestore + const userMessageDoc = { + Message: userMessage.content, + Timestamp: serverTimestamp(), + Sender: "Participant" + }; + await addDoc(collection(db, `Participants/${docId}/ChatLogs`), userMessageDoc); + console.log('User message added to Firestore:', userMessageDoc); // Find the initial feedback about the design to maintain context const initialFeedback = chatMessages.length > 0 && !chatMessages[0].is_user @@ -176,16 +184,15 @@ function Feedback() { const botMessage = response.data.bot_message; - // Log to console instead of Firebase - console.log('Bot message (Firebase disabled):', botMessage.content); - + //Bot Message Check + console.log('Bot message:', botMessage.content); + const themeResponse = await axios.post(`${API_URL}/identify-theme/`, { message: botMessage.content, }); - + const newTheme = themeResponse.data.theme; const newColor = themeColors[chapters.length % themeColors.length]; - const summaryResponse = await axios.post(`${API_URL}/summarize/`, { message: botMessage.content, theme: newTheme @@ -194,15 +201,6 @@ function Feedback() { const { definition, relation, key_terms, summary } = summaryResponse.data; botMessage.keyTerms = summaryResponse.data.key_terms || []; setChatMessages(prevMessages => [...prevMessages, botMessage]); - - // Log to console instead of Firebase - console.log('Theme (Firebase disabled):', { - theme: newTheme, - definition, - relation, - key_terms, - summary - }); // Generate a temporary ID for the theme const tempThemeId = 'theme-' + Date.now(); @@ -427,10 +425,11 @@ function Feedback() { // Improved navigation arrows function const handleInstanceNavigation = (theme, direction) => { if (!theme) return; - + setChapters(prevChapters => prevChapters.map(item => { if (item.theme === theme) { + // Safely get instances array and current index const instances = item.instances || []; const currentInstance = item.currentInstance || 0; diff --git a/Feedstack/db.sqlite3 b/Feedstack/db.sqlite3 index d484391e9d..b2d66e9c94 100644 Binary files a/Feedstack/db.sqlite3 and b/Feedstack/db.sqlite3 differ diff --git a/Feedstack/feedstack_project/settings.py b/Feedstack/feedstack_project/settings.py index 9510294dfa..391e8724be 100644 --- a/Feedstack/feedstack_project/settings.py +++ b/Feedstack/feedstack_project/settings.py @@ -27,9 +27,20 @@ SECRET_KEY = os.environ.get('SECRET_KEY', 'django-insecure-srsjcch3)!h)2qd*3hd@a*3)2@lws#6e6v)mw01l%&t*k*3f1-') # SECURITY WARNING: don't run with debug turned on in production! + DEBUG = os.environ.get('DEBUG', 'True') == 'True' +ALLOWED_HOSTS = [ + 'localhost', + '127.0.0.1', + '.fly.dev', # Fly.io's default domain + '.web.app', # Firebase Hosting + '.firebaseapp.com', # Firebase alternate domain + '.feedstack-b2cc1.web.app', # Firebase domain + '.feedstack-b2cc1.firebaseapp.com', # Firebase alternate + '.feedstack-515733206423.us-east4.run.app', + '.render.com' +] -ALLOWED_HOSTS = ['localhost', '127.0.0.1', '.render.com'] # Application definition @@ -135,7 +146,6 @@ # https://docs.djangoproject.com/en/5.0/ref/settings/#default-auto-field DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' - -# CORS settings CORS_ALLOW_ALL_ORIGINS = True +USE_X_FORWARDED_HOST = True CORS_ALLOW_CREDENTIALS = True \ No newline at end of file diff --git a/Feedstack/media/uploads/Screenshot_2024-06-18_at_2.37.19PM.png b/Feedstack/media/uploads/Screenshot_2024-06-18_at_2.37.19PM.png deleted file mode 100644 index 974c916e66..0000000000 Binary files a/Feedstack/media/uploads/Screenshot_2024-06-18_at_2.37.19PM.png and /dev/null differ diff --git a/Feedstack/media/uploads/Screenshot_2024-06-18_at_2.37.19PM_R6uSHZV.png b/Feedstack/media/uploads/Screenshot_2024-06-18_at_2.37.19PM_R6uSHZV.png deleted file mode 100644 index 974c916e66..0000000000 Binary files a/Feedstack/media/uploads/Screenshot_2024-06-18_at_2.37.19PM_R6uSHZV.png and /dev/null differ diff --git a/Feedstack/media/uploads/Screenshot_2024-06-18_at_2.37.19PM_ndPutGC.png b/Feedstack/media/uploads/Screenshot_2024-06-18_at_2.37.19PM_ndPutGC.png deleted file mode 100644 index 974c916e66..0000000000 Binary files a/Feedstack/media/uploads/Screenshot_2024-06-18_at_2.37.19PM_ndPutGC.png and /dev/null differ diff --git a/Feedstack/media/uploads/Screenshot_2024-06-18_at_2.37.19PM_oSUjOsf.png b/Feedstack/media/uploads/Screenshot_2024-06-18_at_2.37.19PM_oSUjOsf.png deleted file mode 100644 index 974c916e66..0000000000 Binary files a/Feedstack/media/uploads/Screenshot_2024-06-18_at_2.37.19PM_oSUjOsf.png and /dev/null differ diff --git a/Feedstack/media/uploads/Screenshot_2024-06-18_at_2.37.19PM_rHN1ua9.png b/Feedstack/media/uploads/Screenshot_2024-06-18_at_2.37.19PM_rHN1ua9.png deleted file mode 100644 index 974c916e66..0000000000 Binary files a/Feedstack/media/uploads/Screenshot_2024-06-18_at_2.37.19PM_rHN1ua9.png and /dev/null differ diff --git a/Feedstack/media/uploads/design_image.jpeg b/Feedstack/media/uploads/design_image.jpeg index 3464b9570e..7f6678afd3 100644 Binary files a/Feedstack/media/uploads/design_image.jpeg and b/Feedstack/media/uploads/design_image.jpeg differ diff --git a/Feedstack/media/uploads/design_image.png b/Feedstack/media/uploads/design_image.png deleted file mode 100644 index 4f86996727..0000000000 Binary files a/Feedstack/media/uploads/design_image.png and /dev/null differ diff --git a/Feedstack/media/uploads/design_image_QDBJ4zO.jpeg b/Feedstack/media/uploads/design_image_QDBJ4zO.jpeg deleted file mode 100644 index 3464b9570e..0000000000 Binary files a/Feedstack/media/uploads/design_image_QDBJ4zO.jpeg and /dev/null differ diff --git a/Feedstack/media/uploads/design_image_d8ByhlI.jpeg b/Feedstack/media/uploads/design_image_d8ByhlI.jpeg new file mode 100644 index 0000000000..2b8b4b472f Binary files /dev/null and b/Feedstack/media/uploads/design_image_d8ByhlI.jpeg differ diff --git a/Feedstack/uploads/design_image.png b/Feedstack/uploads/design_image.png deleted file mode 100644 index 4f86996727..0000000000 Binary files a/Feedstack/uploads/design_image.png and /dev/null differ diff --git a/Feedstack/uploads/design_image_AilAlu6.png b/Feedstack/uploads/design_image_AilAlu6.png deleted file mode 100644 index 4f86996727..0000000000 Binary files a/Feedstack/uploads/design_image_AilAlu6.png and /dev/null differ diff --git a/Feedstack/uploads/design_image_VRBU8wC.png b/Feedstack/uploads/design_image_VRBU8wC.png deleted file mode 100644 index 4f86996727..0000000000 Binary files a/Feedstack/uploads/design_image_VRBU8wC.png and /dev/null differ diff --git a/Feedstack/uploads/design_image_X7h7KwN.png b/Feedstack/uploads/design_image_X7h7KwN.png deleted file mode 100644 index 4f86996727..0000000000 Binary files a/Feedstack/uploads/design_image_X7h7KwN.png and /dev/null differ diff --git a/Feedstack/uploads/design_image_chwbMck.png b/Feedstack/uploads/design_image_chwbMck.png deleted file mode 100644 index 4f86996727..0000000000 Binary files a/Feedstack/uploads/design_image_chwbMck.png and /dev/null differ diff --git a/Feedstack/uploads/design_image_oaHigNe.png b/Feedstack/uploads/design_image_oaHigNe.png deleted file mode 100644 index 4f86996727..0000000000 Binary files a/Feedstack/uploads/design_image_oaHigNe.png and /dev/null differ