From 0c9ea7fa1b882512aeba02d838f8c58074689c04 Mon Sep 17 00:00:00 2001 From: haniyeh Date: Wed, 6 Aug 2025 15:58:34 +0430 Subject: [PATCH 1/4] make a changes --- app/static/about.css | 101 ++++++++++++++++++++++++++---------- app/static/img/logo.jpeg | Bin 0 -> 60740 bytes app/static/js/about.js | 8 --- app/templates/about.html | 29 ++++++----- app/templates/login.html | 4 ++ app/templates/question.html | 2 +- 6 files changed, 96 insertions(+), 48 deletions(-) create mode 100644 app/static/img/logo.jpeg delete mode 100644 app/static/js/about.js diff --git a/app/static/about.css b/app/static/about.css index 4a4a1bc..fee4c0c 100644 --- a/app/static/about.css +++ b/app/static/about.css @@ -1,6 +1,6 @@ body { - font-family: 'Vazirmatn', sans-serif; - background-color: #20c997; + font-family: "Vazirmatn", sans-serif; + background-color: #4ea3d4; margin: 0; padding: 0; color: #fff; @@ -10,28 +10,35 @@ body { max-width: 1000px; margin: 40px auto; padding: 30px; - background-color: #ffffff11; - border-radius: 20px; - box-shadow: 0 8px 30px rgba(0,0,0,0.2); + background-color: #ffffff59; + border-radius: 60px; + box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2); text-align: center; } -h1, h2 { - margin-bottom: 20px; +h1, +h2 { + font-size: 50px; } .project-description { - font-size: 20px; + font-size: 30px; font-weight: 500; line-height: 1.8; + margin: 30px; } .team-wrapper { display: grid; - grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); - gap: 30px; - justify-items: center; - margin-top: 30px; + grid-template-columns: repeat(2, minmax(0, 300px)); + gap: 50px 130px; + justify-content: center; + margin-top: 10px; +} + +.team-wrapper > .team-member:last-child { + grid-column: 1 / -1; + justify-self: center; } .team-member { @@ -40,42 +47,77 @@ h1, h2 { overflow: hidden; background: white; box-shadow: 0 6px 15px rgba(0, 0, 0, 0.2); + width: 300px; + height: 300px; } .profile-pic { width: 100%; - height: 250px; + height: 100%; object-fit: cover; display: block; + transition: transform 0.5s ease; } .overlay { position: absolute; bottom: 0; - width: 100%; - background: rgba(0, 150, 136, 0.85); + left: 0; + right: 0; + height: 100%; + background: rgba(0, 150, 117, 0.692); color: white; - padding: 12px 10px 10px; text-align: center; + transform: translateY(60%); + opacity: 0; + transition: transform 0.5s ease, opacity 0.5s ease; + font-size: 2rem; + display: flex; + flex-direction: column; + justify-content: space-between; + padding: 30px 15px 20px; +} + +.team-member:hover .overlay { + transform: translateY(0); + opacity: 1; +} + +.team-member:hover .profile-pic { + transform: scale(1.05); } .member-title { - font-size: 14px; + font-size: 25px; font-weight: bold; - margin-bottom: 8px; line-height: 1.4; + margin-top: 110px; + z-index: 2; } .social-icons { display: flex; - justify-content: center; - gap: 10px; + justify-content: space-between; + gap: 20px; + width: 100%; + max-width: 300px; + margin-top: auto; + font-size: 3rem; + opacity: 0; + transform: translateY(10px); + transition: opacity 0.4s ease, transform 0.4s ease; +} + +.team-member:hover .social-icons { + opacity: 1; + transform: translateY(0); } .social-icons a { color: white; - font-size: 18px; transition: transform 0.3s ease; + display: inline-flex; + align-items: center; } .social-icons a:hover { @@ -84,16 +126,21 @@ h1, h2 { .secondary-button { padding: 10px 20px; - background-color: white; - color: #20c997; - border-radius: 10px; + background-color: rgba(250, 250, 250, 0.945); + color: #06348a; + border: rgb(13, 96, 190) solid 4px; + border-radius: 20px; font-weight: bold; text-decoration: none; - transition: background-color 0.3s ease; + transition: background-color 0.5s ease; + float: left; + position: absolute; + top: 1450px; + left: 900px; } - .secondary-button:hover { - background-color: #f1f1f1; + background-color: #096dca; + color: #fafafa; } .button-container { diff --git a/app/static/img/logo.jpeg b/app/static/img/logo.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..7db5b200d2430382a24fa8f2bc37bea7dfa537cc GIT binary patch literal 60740 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 - document.querySelectorAll(".toggle-social").forEach(button => { - button.addEventListener("click", () => { - const icons = button.nextElementSibling; - icons.style.display = icons.style.display === "flex" ? "none" : "flex"; - }); - }); - */} diff --git a/app/templates/about.html b/app/templates/about.html index 741631b..aec6440 100644 --- a/app/templates/about.html +++ b/app/templates/about.html @@ -6,6 +6,8 @@ + + @@ -13,18 +15,19 @@

درباره پروژه

این پروژه در مرکز نوآوری هوش مصنوعی، به دست گروهی کوچک اما پرتلاش توسعه یافته است. انگیزه‌ی آغاز آن، دغدغه‌ی بسیاری از افراد در زمینه‌ی روش تحقیق و گردآوری داده‌ها بوده است؛ دغدغه‌ای که ما را بر آن داشت تا راه‌حلی هوشمندانه و نوآورانه برای تسهیل این مسیر ارائه دهیم. - - + +

+

اعضای تیم

+ -
azizi - +
bakaei
-
دکتر محمد هادی بکایی - مشاور فنی
+
دکتر محمد هادی بکایی
مشاور فنی
+ -
rezaei
-
دکتر غلامحسین رضایت - مشاور فنی
+
دکتر غلامحسین رضایت
مشاور فنی
+ -
parvaresh
-
مهندس علیرضا پرورش - توسعه‌دهنده بک‌اند
+
مهندس علیرضا پرورش
توسعه‌دهنده بک‌اند
+ -
gorji
-
مهندس حانیه گرجی - توسعه‌دهنده فرانت‌اند
+
مهندس هانیه گرجی
توسعه‌دهنده فرانت‌اند
+ + diff --git a/app/templates/login.html b/app/templates/login.html index 3e80bee..45bcbd4 100644 --- a/app/templates/login.html +++ b/app/templates/login.html @@ -7,6 +7,10 @@ rel="stylesheet" href="{{ url_for('static', filename='login.css') }}" /> + + + +
diff --git a/app/templates/question.html b/app/templates/question.html index e5eade5..412e365 100644 --- a/app/templates/question.html +++ b/app/templates/question.html @@ -9,7 +9,7 @@ /> - + From 18d1d422357591db6e4ed3cc5753637190cd48c6 Mon Sep 17 00:00:00 2001 From: haniyeh Date: Wed, 6 Aug 2025 16:51:10 +0430 Subject: [PATCH 2/4] changes --- app/static/about.css | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/app/static/about.css b/app/static/about.css index fee4c0c..f01a3a4 100644 --- a/app/static/about.css +++ b/app/static/about.css @@ -7,6 +7,7 @@ body { } .card { + position: relative; max-width: 1000px; margin: 40px auto; padding: 30px; @@ -125,6 +126,10 @@ h2 { } .secondary-button { + position: absolute; + bottom: 100px; + left: 90px; + padding: 10px 20px; background-color: rgba(250, 250, 250, 0.945); color: #06348a; @@ -133,11 +138,8 @@ h2 { font-weight: bold; text-decoration: none; transition: background-color 0.5s ease; - float: left; - position: absolute; - top: 1450px; - left: 900px; } + .secondary-button:hover { background-color: #096dca; color: #fafafa; From 018cf7afd85fbe5aa1c803e58b64eee23ebf5248 Mon Sep 17 00:00:00 2001 From: haniyeh Date: Wed, 6 Aug 2025 17:46:49 +0430 Subject: [PATCH 3/4] new changes --- app/static/about.css | 11 +++++++++++ app/static/js/about.js | 17 +++++++++++++++++ app/templates/about.html | 6 +++++- 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 app/static/js/about.js diff --git a/app/static/about.css b/app/static/about.css index f01a3a4..68ffbac 100644 --- a/app/static/about.css +++ b/app/static/about.css @@ -148,3 +148,14 @@ h2 { .button-container { margin-top: 40px; } +.about-section.hidden { + opacity: 0; + transform: translateY(50px); + transition: opacity 1s ease, transform 1s ease; +} + +.about-section.show { + opacity: 1; + transform: translateY(0); +} + diff --git a/app/static/js/about.js b/app/static/js/about.js new file mode 100644 index 0000000..4a07c6e --- /dev/null +++ b/app/static/js/about.js @@ -0,0 +1,17 @@ +document.addEventListener("DOMContentLoaded", () => { + const aboutSection = document.querySelector(".about-section"); + + const observer = new IntersectionObserver((entries) => { + entries.forEach(entry => { + if (entry.isIntersecting) { + entry.target.classList.add("show"); + observer.unobserve(entry.target); // فقط یک‌بار اجرا بشه + } + }); + }, { + threshold: 0.3 // وقتی 30٪ دیده شد اجرا بشه + }); + + observer.observe(aboutSection); + }); + \ No newline at end of file diff --git a/app/templates/about.html b/app/templates/about.html index aec6440..5b5b7fa 100644 --- a/app/templates/about.html +++ b/app/templates/about.html @@ -11,7 +11,7 @@ -
+
+ From fc26fb902b9e21c79d529fbedeead020c763861c Mon Sep 17 00:00:00 2001 From: alireza parvaresh Date: Fri, 8 Aug 2025 10:24:44 +0330 Subject: [PATCH 4/4] fix and table | add summery page --- app/__pycache__/routes.cpython-312.pyc | Bin 3910 -> 5025 bytes app/routes.py | 29 ++- app/static/question.css | 293 +++++++++++-------------- app/static/summary.css | 87 ++++++++ app/templates/question.html | 212 +++++++++++------- app/templates/summary.html | 36 +++ questions.json | 215 +++++++++++++++--- run.py | 2 +- 8 files changed, 587 insertions(+), 287 deletions(-) create mode 100644 app/static/summary.css create mode 100644 app/templates/summary.html diff --git a/app/__pycache__/routes.cpython-312.pyc b/app/__pycache__/routes.cpython-312.pyc index b8235b34b9fe3eeb2d8b3d7b956b2229e1f428b3..db9072ff9bba1d67744f85da5141dd8ae69fb120 100644 GIT binary patch delta 1529 zcmZWo|4Um}6uC zUh0H`DI2tMH;k+>`i4%wb3w)+4^u&3t7PS+C{QkChtYETH=`BrvU@=1R%xl9i0Kl2b&S<3)m_ z={1(PQR`rwHm?HI;vg(w@fnc}U(Il@kaXq0$V%vh1JUa&fx;|lqaIgzROo-w>Pf+H z)r@A0Y41%W%s8T#EmsT!8qzY%=nb10)A5qmkH7Ga!fM>fsW>Et&e`0QF_uOK?bzm1 z36z}FZT9_1BW1fxWZ1&31ezE#k?l%pbGC~@SptnHI4!=e^%2#0gN7=Vf^nTxGDawEl#zTD6! zH}mbQ(UmiWy2!S4swk@uV)tYDwu0QUdVO2&+*O;FV@t6eHL|5f*4hhdPwrx|qo)$r zRSw*9aIITv>uT~V=6^^E+>%cHf`5}NwGRY_ped2(JZ+N)d)cQ^cCZ&CImuljws-Ka za-coq?lf85F9RF1rhg% z5h6~5Zbi2dCDLXQ`Su8N_^Ff)8L9ltGf9-1h(KGI*5Z^}5s|WS-a`|dr@~DIZO(X` z2%FcYrV?rWkawJMkveE0yKee+!bD?}X)``MhLUkDZO$eP)99cGTGFJfE)lInFk2{h zU|b>gQ3`lS#D`!{a4%v+Ho_-0X~E`AHc*rUzXOgFbFkerBy* zEBLx|e9;}+akp-{TZ{gNeA|krSl4vGxx(H*fy*QAb0qc;1xStgH#d8Reinx}*@FOI)WUFs|SQCFp&ZsC41YZ}6Iuz8r=8GZ$dq+GmKiKLr8fSqv@&b8`jg gKVTq?P;bLN)%M+vGgE+p1EvaIg4El1sFte!3zEcNkN^Mx delta 723 zcmYjN&ubGw7@gVOY_dPo>}FeA6Vs?^vj>SW7Hf$=PANSY3OyQ?;zpBd65K3U!=~z~ zEh-vEY%ZeSgcLz~RisdQ@nV~UWl`{uKcFIlf(K_djr4lA;vZ21CV()>VeE1zuvcY8GdB=<1_$^;tH?;`U^v7!#{-{vRPVO645vIK};cO zQggxXy&nzsMjQb1JxcnboX_RMmV)kjLr3QZ_Zz$1;99WD>b~-x5nbT4r@jOVb1HO` zL^vbTJ%^#%UgENa)nE&INX>w&6vU^_+y=U~HprJCdMgajRM9{iLJkH{ zR7{;PiQ8dId8<${9OhcZEIHomdFy7eYB_Y(G99`!JMYlNvSl*Zs!QmRI6i$EQ*)d^ zioh5Khb`yltt+?838Ex0R3!|<`|7+&R^82!FxgGDg6H{-UIb2|OVY(;$15)`++S$+ zZ+jy`xj{=XNQ~b`3PE4)8xH2z59A4}lMz A6#xJL diff --git a/app/routes.py b/app/routes.py index 9f09aeb..ba35ffc 100644 --- a/app/routes.py +++ b/app/routes.py @@ -51,14 +51,19 @@ def should_include(q): return redirect(url_for('main.summary')) question = filtered_questions[qid] + print(question) if request.method == 'POST': - if question.get('type') == 'multiple': + if question.get('type') == 'variables_table': + variables_data = request.form.get('variablesData', '[]') + responses[str(question['id'])] = variables_data + elif question.get('type') == 'multiple': answer = request.form.getlist('answer') + responses[str(question['id'])] = answer else: answer = request.form.get('answer', '') + responses[str(question['id'])] = answer - responses[str(question['id'])] = answer session['responses'] = responses direction = request.form.get('direction') @@ -77,6 +82,26 @@ def should_include(q): ) + @main_bp.route('/about') def about(): return render_template('about.html') + + +@main_bp.route('/summary') +def summary(): + if g.user is None: + return redirect(url_for('auth.login')) + + all_questions = current_app.questions + responses = session.get('responses', {}) + + questions_with_answers = [] + for q in all_questions: + answer = responses.get(str(q['id']), None) + questions_with_answers.append({ + 'question': q['text'], + 'answer': answer + }) + + return render_template('summary.html', qa_list=questions_with_answers) diff --git a/app/static/question.css b/app/static/question.css index 4dde925..e23a8a8 100644 --- a/app/static/question.css +++ b/app/static/question.css @@ -14,132 +14,34 @@ body { background-position: center; } -.progress-bar { - background-color: #e0e0e0; - width: 100%; - height: 20px; - border-radius: 10px; - overflow: hidden; - box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1); - margin-bottom: 100px; -} - -.progress::after { - content: ""; - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - background: linear-gradient( - 90deg, - rgba(255, 255, 255, 0), - rgba(255, 255, 255, 0.8), - rgba(255, 255, 255, 0) - ); - transform: translateX(-100%); -} .question-container-wrapper { - width: 800px; + width: 1000px; margin: auto; transition: height 0.5s ease; } .question-container { - justify-content: center; + display: flex; + gap: 2rem; + align-items: flex-start; position: relative; - height: auto; min-height: 350px; margin: auto; - align-items: center; - background: linear-gradient(135deg, #646666, #2a302c); - border-radius: 1.5rem; - padding: 2rem; - color: white; - transition: all 0.3s ease; - border-radius: 20rem 2rem 2rem 20rem; - overflow: hidden; -} -.question-container { - justify-content: center; - position: relative; - width: 900px; - height: 350px; - margin: auto; background: linear-gradient(135deg, #56e4c5, #016d5e); - border-radius: 1.5rem; + border-radius: 2rem; padding: 2rem; color: white; transition: all 0.3s ease; - border-radius: 20rem 2rem 2rem 20rem; } -.question-container .circle { - position: absolute; - top: 25px; - left: -600px; - display: flex; - justify-content: center; - align-items: center; - flex-direction: column; - width: 80px; - height: 80px; - border-radius: 50%; -} - -.actions { - display: flex; - justify-content: space-evenly; -} -button { - background-color: blanchedalmond; - color: black; - outline: none; - border: none; - padding: 0.6rem 1rem; - border-radius: 3rem; - font-family: Tahoma; - overflow: hidden; - position: relative; - cursor: pointer; - z-index: 1; - font-family: "Vazir"; - top: 20px; -} -button::before { - position: absolute; - content: ""; - left: 0; - right: 0; - bottom: 0; - top: 0; - border-radius: 3rem; - height: 200; - width: 200; - background-color: rgba(248, 132, 0, 0.801); - z-index: -1; - transform: scaleX(0); - transform-origin: left; - transition: 250ms; -} -button:hover::before { - transform: scaleX(1); -} -button:hover { - color: aliceblue; -} -button:disabled { - background-color: #ffffff; - cursor: not-allowed; -} .container2 { - position: relative; display: flex; justify-content: center; - align-items: center; + align-items: flex-start; gap: 40px; } -.container2 .circle { + +.circle { position: relative; display: flex; justify-content: center; @@ -148,11 +50,9 @@ button:disabled { width: 300px; height: 300px; border-radius: 50%; - top: 50%; - transform: translateY(-50%); - transition: all 0.3s ease; } -.container2 .circle::before { + +.circle::before { content: ""; position: absolute; inset: 5px; @@ -160,7 +60,8 @@ button:disabled { background: rgb(27, 27, 27); opacity: 0.8; } -.container2 .circle::after { + +.circle::after { content: ""; position: absolute; width: 200px; @@ -173,44 +74,138 @@ button:disabled { inset 0 4px 2px rgba(0, 0, 0, 0.25), inset 0 -2px 2px rgba(255, 255, 255, 0.5); } -.container2 .circle .number { + +.circle .number { position: relative; color: #fff; z-index: 10; - line-height: 0rem; font-size: 5rem; - top: 20px; } -.container2 .circle .number span { + +.circle .number span { font-size: 0.5em; font-weight: 500; } -.container2 .circle h4 { + +.circle h4 { position: relative; color: #fff; z-index: 10; font-weight: 500; font-size: 1.5em; - line-height: 0em; - top: -20px; } + .cont3 { + flex: 1; position: relative; - left: -20px; - top: -300px; - width: 500px; + width: 100%; } + textarea { border-radius: 0.25rem; + width: 100%; +} + +/* جدول متغیرها */ +.variables-table { + width: 100%; + border-collapse: collapse; + margin-top: 1rem; + background: rgba(255, 255, 255, 0.1); +} + +.variables-table th, +.variables-table td { + border: 1px solid rgba(255, 255, 255, 0.3); + padding: 0.5rem; + text-align: center; + color: white; +} + +.variables-table th { + background: rgba(0, 0, 0, 0.2); + font-weight: bold; +} + +.variables-table input, +.variables-table select { + width: 100%; + padding: 0.3rem; + border-radius: 5px; + border: none; } +.variables-section .actions { + margin-top: 1rem; + display: flex; + justify-content: flex-start; + gap: 1rem; +} + +.btn-add { + background-color: #ffcc80; + color: black; +} + +.btn-remove { + background-color: #ef5350; + color: white; +} + +.actions { + display: flex; + justify-content: space-evenly; + margin-top: 2rem; +} + +button { + background-color: blanchedalmond; + color: black; + outline: none; + border: none; + padding: 0.6rem 1rem; + border-radius: 3rem; + font-family: "Vazir"; + cursor: pointer; + position: relative; + z-index: 1; +} + +button::before { + position: absolute; + content: ""; + left: 0; + right: 0; + bottom: 0; + top: 0; + border-radius: 3rem; + background-color: rgba(248, 132, 0, 0.801); + z-index: -1; + transform: scaleX(0); + transform-origin: left; + transition: 250ms; +} + +button:hover::before { + transform: scaleX(1); +} + +button:hover { + color: aliceblue; +} + +button:disabled { + background-color: #ffffff; + cursor: not-allowed; +} + +/* لامپ و مودال */ .lamp-btn { background: white !important; border: none; cursor: pointer; font-size: 2rem; color: rgb(87, 86, 86) !important; - bottom: 20px; width: 50px; height: 50px; border-radius: 50%; @@ -218,9 +213,14 @@ textarea { justify-content: center; align-items: center; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); - transition: all 0.3s ease; - z-index: 10; } + +.lamp-btn:hover { + background: #f8f8f8 !important; + transform: scale(1.1); + color: #000000 !important; +} + .modal { display: none; position: fixed; @@ -233,11 +233,6 @@ textarea { opacity: 0; transition: opacity 0.3s ease; } -.lamp-btn:hover { - background: #f8f8f8 !important; - transform: scale(1.1); - color: #000000 !important; -} .modal.show { display: block; @@ -252,31 +247,6 @@ textarea { max-width: 400px; margin: 10% auto; position: relative; - transform: translateY(-20px); - transition: transform 0.3s ease; -} - -.modal.show .modal-content { - transform: translateY(0); -} -.close { - position: absolute; - top: 10px; - right: 15px; - font-size: 1.5rem; - cursor: pointer; -} -.lamp-btn { - background: none; - border: none; - cursor: pointer; - font-size: 2rem; - margin: 1rem 0; -} -.explain { - margin-top: 1rem; - padding: 1rem; - border-radius: 8px; } .close { @@ -286,18 +256,3 @@ textarea { font-size: 1.5rem; cursor: pointer; } - -.actions { - margin-top: 2rem; -} - -.cont3 { - opacity: 0; - transform: translateX(80px); - transition: opacity 0.6s ease, transform 0.6s ease; -} - -.cont3.visible { - opacity: 1; - transform: translateX(0); -} diff --git a/app/static/summary.css b/app/static/summary.css new file mode 100644 index 0000000..a5211c7 --- /dev/null +++ b/app/static/summary.css @@ -0,0 +1,87 @@ +/* پس‌زمینه و فونت مشابه صفحه سوالات */ +body { + font-family: "Vazir"; + direction: rtl; + padding: 20px; + position: relative; + display: flex; + justify-content: center; + align-items: flex-start; + min-height: 100vh; + background-image: url(./img/1.jpg); + background-repeat: no-repeat; + background-size: cover; + background-attachment: fixed; + background-position: center; + color: white; +} + +/* کانتینر اصلی صفحه مرور پاسخ‌ها */ +.summary-container { + width: 1000px; + margin: auto; + background: linear-gradient(135deg, #56e4c5, #016d5e); + padding: 2rem; + border-radius: 2rem; + backdrop-filter: blur(6px); + box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3); +} + +/* عنوان صفحه */ +.summary-container h1 { + text-align: center; + font-size: 2rem; + margin-bottom: 1.5rem; + color: #fff; +} + +/* جدول مرور پاسخ‌ها */ +.summary-table { + width: 100%; + border-collapse: collapse; + background: rgba(255, 255, 255, 0.1); + border-radius: 1rem; + overflow: hidden; +} + +.summary-table th, +.summary-table td { + padding: 1rem; + text-align: right; + border: 1px solid rgba(255, 255, 255, 0.3); +} + +.summary-table th { + background: rgba(0, 0, 0, 0.3); + font-weight: bold; + color: #ffcc80; +} + +.summary-table tr:hover { + background: rgba(255, 255, 255, 0.05); +} + +/* دکمه‌ها */ +.summary-actions { + display: flex; + justify-content: center; + margin-top: 2rem; + gap: 1rem; +} + +.summary-actions a { + background-color: blanchedalmond; + color: black; + padding: 0.6rem 1.2rem; + border-radius: 3rem; + font-family: "Vazir"; + text-decoration: none; + position: relative; + z-index: 1; + transition: all 0.25s ease; +} + +.summary-actions a:hover { + background-color: rgba(248, 132, 0, 0.85); + color: aliceblue; +} diff --git a/app/templates/question.html b/app/templates/question.html index 412e365..dbcc9f4 100644 --- a/app/templates/question.html +++ b/app/templates/question.html @@ -3,113 +3,155 @@ سوال {{ qid + 1 }} از {{ total }} - - + -
+
-
-
-

{{ progress }}%

-

پیشرفت

-
-
- -

{{ question.text }}

-
- {% if question.type == 'text' %} - - {% elif question.type == 'single' %} - {% for option in question.options %} -
- - -
- {% endfor %} - {% elif question.type == 'multiple' %} - {% for option in question.options %} -
- - -
- {% endfor %} - {% endif %} - -
- - +
+ +
+ {% endif %} + +
+ + +
+ + - -
- - + +
-
- - - - + + - + + - \ No newline at end of file + diff --git a/app/templates/summary.html b/app/templates/summary.html new file mode 100644 index 0000000..2f2de6b --- /dev/null +++ b/app/templates/summary.html @@ -0,0 +1,36 @@ + + + + + مرور پاسخ‌ها + + + + +
+

مرور پاسخ‌ها

+ + + + + + + + + {% for qa in qa_list %} + + + + + {% endfor %} + +
سؤالپاسخ
{{ qa.question }}{{ qa.answer }}
+ + +
+ + + diff --git a/questions.json b/questions.json index 24d2ba3..88d421a 100644 --- a/questions.json +++ b/questions.json @@ -1,32 +1,187 @@ [ - { "id": 1, "text": "گام ۱: عنوان تحقیق", "type": "text", "explain": "عنوان دقیق تحقیق اولین بخش مهم در تعریف مسیر پژوهش است و در کل فرآیند تحقیق نقش هدایتگر دارد." }, - { "id": 2, "text": "گام ۲: بیان مسئله", "type": "text", "explain": "بیان دقیق مسئله پژوهش، به فهم ضرورت تحقیق و چارچوب نظری آن کمک می‌کند." }, - { "id": 3, "text": "گام ۳: اهمیت و ضرورت تحقیق", "type": "text", "explain": "در این قسمت باید توضیح دهید که چرا این تحقیق اهمیت دارد و چه کمکی به توسعه دانش یا حل مسائل عملی می‌کند." }, - { "id": 4, "text": "گام ۴: محدوده تحقیق", "type": "single","options": ["موضوعی", "مکانی", "زمانی"] ,"explain": "محدود کردن دامنه تحقیق باعث تمرکز بیشتر پژوهشگر و شفاف‌سازی ابعاد مطالعه می‌شود." }, - { "id": 5, "text": "گام ۵: فرضیه اصلی", "type": "text", "explain": "فرضیه اولیه پیش‌بینی روابط بین متغیرهاست که با داده‌ها مورد آزمون قرار می‌گیرد." }, - { "id": 6, "text": "نام متغیرها", "type": "text", "explain": "نام متغیرهای مستقل، وابسته و مداخله‌گر تحقیق را مشخص کنید." }, - { "id": 7, "text": "ویژگی‌های متغیرها", "type": "textarea", "explain": "تعریف مفهومی و عملیاتی هر متغیر را شرح دهید." }, - { "id": 8, "text": "گام ۷: رویکرد کلی تحقیق", "type": "single", "options": ["کمی", "کیفی", "آمیخته"], "explain": "رویکرد کلی تعیین‌کننده نوع داده‌ها، ابزار جمع‌آوری و روش تحلیل شما خواهد بود." }, - - { "id": 9, "text": "گام ۸: طرح تحقیق کمی", "type": "single", "options": ["همبستگی", "شبه‌آزمایشی", "آزمایشی"], "condition": "کمی", "explain": "بر اساس نوع رابطه بین متغیرها، طرح مناسب را انتخاب کنید. طرح‌های آزمایشی برای بررسی رابطه علّی به‌کار می‌روند." }, - { "id": 10, "text": "آیا طرح شما شامل پیش‌آزمون است؟", "type": "single", "options": ["بله", "خیر"], "condition": "کمی" }, - { "id": 11, "text": "آیا طرح شما شامل گروه کنترل است؟", "type": "single", "options": ["بله", "خیر"], "condition": "کمی" }, - { "id": 12, "text": "روش کنترل عوامل تهدیدکننده روایی داخلی چیست؟", "type": "single", "options": ["همتاسازی", "تحلیل کوواریانس", "گمارش تصادفی"], "condition": "کمی", "explain": "برای کنترل سوگیری انتخاب یا عوامل مزاحم، روش مناسب را انتخاب کنید." }, - - { "id": 13, "text": "گام ۹: جامعه آماری تحقیق", "type": "text", "condition": "کمی", "explain": "جامعه‌ای که تحقیق شما در آن انجام می‌شود، باید به روشنی تعریف شود." }, - { "id": 14, "text": "آیا حجم جامعه آماری مشخص است؟", "type": "single", "options": ["بله", "خیر"], "condition": "کمی" }, - { "id": 15, "text": "حجم دقیق جامعه آماری (N)", "type": "text", "condition": "کمی", "explain": "در صورت مشخص بودن، مقدار دقیق حجم جامعه را وارد کنید." }, - { "id": 16, "text": "سطح اطمینان", "type": "single", "options": ["95%", "99%"], "condition": "کمی", "explain": "سطح اطمینانی که برای نتایج خود در نظر گرفته‌اید را انتخاب کنید." }, - { "id": 17, "text": "میزان خطای قابل قبول (d)", "type": "single", "options": ["0.05", "0.03", "0.01"], "condition": "کمی", "explain": "میزانی از خطا که در تحلیل‌های آماری مجاز می‌دانید." }, - { "id": 18, "text": "روش نمونه‌گیری", "type": "single", "options": ["تصادفی ساده", "طبقه‌ای", "خوشه‌ای", "در دسترس"], "condition": "کمی", "explain": "روش انتخاب نمونه‌ها از جامعه آماری را مشخص کنید." }, - { "id": 19, "text": "ابزار گردآوری داده‌های کمی", "type": "single", "options": ["پرسشنامه", "مشاهده", "آزمایش"], "condition": "کمی", "explain": "ابزارهایی که برای جمع‌آوری داده‌های کمی استفاده می‌کنید." }, - { "id": 20, "text": "روایی محتوا - تعداد متخصصان", "type": "text", "condition": "کمی", "explain": "تعداد متخصصانی که برای بررسی روایی محتوا پرسشنامه به آن‌ها داده می‌شود." }, - { "id": 21, "text": "مطالعه مقدماتی پایایی", "type": "text", "condition": "کمی", "explain": "تعداد افراد شرکت‌کننده در مطالعه مقدماتی برای محاسبه پایایی." }, - { "id": 22, "text": "مقدار آلفای کرونباخ", "type": "text", "condition": "کمی", "explain": "مقدار محاسبه‌شده برای آلفای کرونباخ به‌منظور سنجش پایایی." }, - - { "id": 23, "text": "رویکرد بخش کیفی", "type": "single", "options": ["پدیدارشناسی", "مطالعه موردی", "نظریه داده‌بنیاد"], "condition": "کیفی", "explain": "روش‌شناسی تحلیل کیفی خود را انتخاب کنید." }, - { "id": 24, "text": "ابزار گردآوری داده‌های کیفی", "type": "single", "options": ["مصاحبه عمیق", "گروه کانونی"], "condition": "کیفی", "explain": "روش گردآوری داده‌ها در بخش کیفی تحقیق شما." }, - - { "id": 25, "text": "گام ۱۱: نرم‌افزار تحلیل داده‌ها", "type": "single", "options": ["SPSS", "SmartPLS", "NVivo"], "explain": "نرم‌افزاری که برای تحلیل داده‌های خود استفاده می‌کنید." }, - { "id": 26, "text": "گام ۱۲: پیشنهاد آزمون آماری", "type": "text", "explain": "بر اساس نوع تحقیق، متغیرها و اهداف، نوع آزمون آماری مناسب پیشنهاد می‌شود." } + { + "id": 1, + "text": "گام ۱: عنوان تحقیق", + "type": "text", + "explain": "عنوان دقیق تحقیق اولین بخش مهم در تعریف مسیر پژوهش است و در کل فرآیند تحقیق نقش هدایتگر دارد. مثال: «بررسی تأثیر ورزش منظم بر سلامت روان دانشجویان» که به وضوح حوزه و هدف تحقیق را نشان می‌دهد." + }, + { + "id": 2, + "text": "گام ۲: بیان مسئله", + "type": "text", + "explain": "بیان دقیق مسئله پژوهش، به فهم ضرورت تحقیق و چارچوب نظری آن کمک می‌کند. مثال: «افزایش اضطراب و استرس در میان دانشجویان باعث کاهش عملکرد تحصیلی شده است.» این بیان، مشکل اصلی را مشخص می‌کند." + }, + { + "id": 3, + "text": "گام ۳: اهمیت و ضرورت تحقیق", + "type": "text", + "explain": "در این قسمت باید توضیح دهید که چرا این تحقیق اهمیت دارد و چه کمکی به توسعه دانش یا حل مسائل عملی می‌کند. مثال: «نتایج این تحقیق می‌تواند به دانشگاه‌ها در طراحی برنامه‌های بهبود سلامت روان کمک کند.»" + }, + { + "id": 4, + "text": "گام ۴: محدوده تحقیق", + "type": "text", + "explain": "محدود کردن دامنه تحقیق باعث تمرکز بیشتر پژوهشگر و شفاف‌سازی ابعاد مطالعه می‌شود. مثال: «این مطالعه فقط دانشجویان رشته‌های علوم انسانی دانشگاه تهران را شامل می‌شود.»" + }, + { + "id": 5, + "text": "گام ۵: فرضیه اصلی", + "type": "text", + "explain": "فرضیه اولیه پیش‌بینی روابط بین متغیرهاست که با داده‌ها مورد آزمون قرار می‌گیرد. مثال: «ورزش منظم باعث کاهش سطح اضطراب در دانشجویان می‌شود.»" + }, + { + "id": 6, + "text": "نام متغیرها", + "type": "variables_table", + "explain": "نام متغیرهای مستقل، وابسته و مداخله‌گر تحقیق را مشخص کنید. مثال: متغیر مستقل: «ورزش منظم»، متغیر وابسته: «سطح اضطراب»، متغیر مداخله‌گر: «ساعت خواب»." + }, + { + "id": 7, + "text": "ویژگی‌های متغیرها", + "type": "text", + "explain": "تعریف مفهومی و عملیاتی هر متغیر را شرح دهید. مثال: تعریف مفهومی ورزش منظم: انجام فعالیت بدنی حداقل ۳ بار در هفته، تعریف عملیاتی: گزارش خوداظهاری شرکت‌کنندگان از میزان ورزش." + }, + { + "id": 8, + "text": "گام ۷: رویکرد کلی تحقیق", + "type": "single", + "options": ["کمی", "کیفی", "آمیخته"], + "explain": "رویکرد کلی تعیین‌کننده نوع داده‌ها، ابزار جمع‌آوری و روش تحلیل شما خواهد بود. مثال: انتخاب رویکرد «کمی» برای اندازه‌گیری دقیق اثر ورزش بر اضطراب." + }, + { + "id": 9, + "text": "گام ۸: طرح تحقیق کمی", + "type": "single", + "options": ["همبستگی", "شبه‌آزمایشی", "آزمایشی"], + "condition": "کمی", + "explain": "بر اساس نوع رابطه بین متغیرها، طرح مناسب را انتخاب کنید. طرح‌های آزمایشی برای بررسی رابطه علّی به‌کار می‌روند. مثال: طرح آزمایشی برای مقایسه گروه ورزش‌کننده و کنترل." + }, + { + "id": 10, + "text": "آیا طرح شما شامل پیش‌آزمون است؟", + "type": "single", + "options": ["بله", "خیر"], + "condition": "کمی", + "explain": "پیش‌آزمون برای بررسی وضعیت اولیه قبل از مداخله استفاده می‌شود. مثال: اندازه‌گیری سطح اضطراب پیش از شروع برنامه ورزشی." + }, + { + "id": 11, + "text": "آیا طرح شما شامل گروه کنترل است؟", + "type": "single", + "options": ["بله", "خیر"], + "condition": "کمی", + "explain": "وجود گروه کنترل برای مقایسه و اعتبار بیشتر نتایج ضروری است. مثال: گروهی از دانشجویان که ورزش نمی‌کنند به عنوان کنترل انتخاب می‌شوند." + }, + { + "id": 12, + "text": "روش کنترل عوامل تهدیدکننده روایی داخلی چیست؟", + "type": "single", + "options": ["همتاسازی", "تحلیل کوواریانس", "گمارش تصادفی"], + "condition": "کمی", + "explain": "برای کنترل سوگیری انتخاب یا عوامل مزاحم، روش مناسب را انتخاب کنید. مثال: استفاده از گمارش تصادفی برای تخصیص شرکت‌کنندگان به گروه‌ها." + }, + { + "id": 13, + "text": "گام ۹: جامعه آماری تحقیق", + "type": "text", + "condition": "کمی", + "explain": "جامعه‌ای که تحقیق شما در آن انجام می‌شود، باید به روشنی تعریف شود. مثال: «دانشجویان کارشناسی رشته روانشناسی دانشگاه تهران در سال ۱۴۰۳.»" + }, + { + "id": 14, + "text": "آیا حجم جامعه آماری مشخص است؟", + "type": "single", + "options": ["بله", "خیر"], + "condition": "کمی", + "explain": "مشخص بودن حجم جامعه، در تعیین نمونه‌گیری و تحلیل داده‌ها اهمیت دارد. مثال: حجم جامعه برابر با ۲۰۰۰ دانشجو است." + }, + { + "id": 15, + "text": "حجم دقیق جامعه آماری (N)", + "type": "text", + "condition": "کمی", + "explain": "در صورت مشخص بودن، مقدار دقیق حجم جامعه را وارد کنید. مثال: ۲۰۰۰." + }, + { + "id": 16, + "text": "سطح اطمینان", + "type": "single", + "options": ["95%", "99%"], + "condition": "کمی", + "explain": "سطح اطمینانی که برای نتایج خود در نظر گرفته‌اید را انتخاب کنید. مثال: سطح اطمینان ۹۵٪ برای آزمون فرضیات." + }, + { + "id": 17, + "text": "میزان خطای قابل قبول (d)", + "type": "single", + "options": ["0.05", "0.03", "0.01"], + "condition": "کمی", + "explain": "میزانی از خطا که در تحلیل‌های آماری مجاز می‌دانید. مثال: خطای قابل قبول ۰.۰۵." + }, + { + "id": 18, + "text": "روش نمونه‌گیری", + "type": "single", + "options": ["تصادفی ساده", "طبقه‌ای", "خوشه‌ای", "در دسترس"], + "condition": "کمی", + "explain": "روش انتخاب نمونه‌ها از جامعه آماری را مشخص کنید. مثال: نمونه‌گیری تصادفی ساده برای انتخاب شرکت‌کنندگان." + }, + { + "id": 19, + "text": "ابزار گردآوری داده‌های کمی", + "type": "single", + "options": ["پرسشنامه", "مشاهده", "آزمایش"], + "condition": "کمی", + "explain": "ابزارهایی که برای جمع‌آوری داده‌های کمی استفاده می‌کنید. مثال: استفاده از پرسشنامه استاندارد اضطراب." + }, + { + "id": 20, + "text": "روایی محتوا - تعداد متخصصان", + "type": "text", + "condition": "کمی", + "explain": "تعداد متخصصانی که برای بررسی روایی محتوا پرسشنامه به آن‌ها داده می‌شود. مثال: ۵ متخصص روانشناسی." + }, + { + "id": 21, + "text": "مطالعه مقدماتی پایایی", + "type": "text", + "condition": "کمی", + "explain": "تعداد افراد شرکت‌کننده در مطالعه مقدماتی برای محاسبه پایایی. مثال: ۳۰ دانشجو در مطالعه مقدماتی." + }, + { + "id": 22, + "text": "مقدار آلفای کرونباخ", + "type": "text", + "condition": "کمی", + "explain": "مقدار محاسبه‌شده برای آلفای کرونباخ به‌منظور سنجش پایایی. مثال: آلفای کرونباخ ۰.۸۵ نشان‌دهنده پایایی خوب است." + }, + { + "id": 23, + "text": "رویکرد بخش کیفی", + "type": "single", + "options": ["پدیدارشناسی", "مطالعه موردی", "نظریه داده‌بنیاد"], + "condition": "کیفی", + "explain": "روش‌شناسی تحلیل کیفی خود را انتخاب کنید. مثال: پدیدارشناسی برای درک تجربه‌های افراد از اضطراب." + }, + { + "id": 24, + "text": "ابزار گردآوری داده‌های کیفی", + "type": "single", + "options": ["مصاحبه عمیق", "گروه کانونی"], + "condition": "کیفی", + "explain": "روش گردآوری داده‌ها در بخش کیفی تحقیق شما. مثال: مصاحبه عمیق با ۱۵ دانشجو." + }, + { + "id": 25, + "text": "گام ۱۱: نرم‌افزار تحلیل داده‌ها", + "type": "single", + "options": ["SPSS", "SmartPLS", "NVivo"], + "explain": "نرم‌افزاری که برای تحلیل داده‌های خود استفاده می‌کنید. مثال: استفاده از SPSS برای تحلیل داده‌های کمی." + }, + { + "id": 26, + "text": "گام ۱۲: پیشنهاد آزمون آماری", + "type": "text", + "explain": "بر اساس نوع تحقیق، متغیرها و اهداف، نوع آزمون آماری مناسب پیشنهاد می‌شود. مثال: آزمون تی مستقل برای مقایسه اضطراب دو گروه ورزش‌کننده و کنترل." + } ] diff --git a/run.py b/run.py index 860f159..d81482f 100644 --- a/run.py +++ b/run.py @@ -4,6 +4,6 @@ if __name__ == '__main__': host = app.config.get('FLASK_HOST', '0.0.0.0') - port = int(app.config.get('FLASK_PORT', 5009)) + port = int(app.config.get('FLASK_PORT', 5002)) debug_flag = app.config.get('FLASK_DEBUG', True) app.run(host=host, port=port, debug=debug_flag)