From 31726836d0f35ffa887211081d17ca067ed59707 Mon Sep 17 00:00:00 2001 From: kacperks Date: Mon, 24 Oct 2022 15:05:26 +0200 Subject: [PATCH] WEBSITE AND API ADDED --- README.md | 3 +- ramen/__pycache__/api.cpython-310.pyc | Bin 0 -> 5972 bytes ramen/api.py | 194 ++++++++++++++++++ ramen/db.sqlite | Bin 0 -> 40960 bytes syrenka/__pycache__/apihelper.cpython-310.pyc | Bin 0 -> 2221 bytes syrenka/apihelper.py | 57 +++++ syrenka/index.py | 58 ++++++ syrenka/static/dc.png | Bin 0 -> 1127 bytes syrenka/static/logo.png | Bin 0 -> 1222 bytes syrenka/static/main.css | 94 +++++++++ syrenka/static/mess.png | Bin 0 -> 943 bytes syrenka/static/src.png | Bin 0 -> 1066 bytes syrenka/templates/about.htm | 37 ++++ syrenka/templates/home.htm | 32 +++ syrenka/templates/public.htm | 46 +++++ syrenka/templates/quiz.htm | 25 +++ syrenka/templates/soon.htm | 24 +++ syrenka/templates/tests.htm | 30 +++ 18 files changed, 598 insertions(+), 2 deletions(-) create mode 100644 ramen/__pycache__/api.cpython-310.pyc create mode 100644 ramen/api.py create mode 100644 ramen/db.sqlite create mode 100644 syrenka/__pycache__/apihelper.cpython-310.pyc create mode 100644 syrenka/apihelper.py create mode 100644 syrenka/index.py create mode 100644 syrenka/static/dc.png create mode 100644 syrenka/static/logo.png create mode 100644 syrenka/static/main.css create mode 100644 syrenka/static/mess.png create mode 100644 syrenka/static/src.png create mode 100644 syrenka/templates/about.htm create mode 100644 syrenka/templates/home.htm create mode 100644 syrenka/templates/public.htm create mode 100644 syrenka/templates/quiz.htm create mode 100644 syrenka/templates/soon.htm create mode 100644 syrenka/templates/tests.htm diff --git a/README.md b/README.md index 5f8c0e3..c4a2eb6 100644 --- a/README.md +++ b/README.md @@ -1,2 +1 @@ -# botEdukadu - +# Szefowe Zadanka - Database of Canvas Quizzes answers and Auto Quiz Filler for my Classmates and me diff --git a/ramen/__pycache__/api.cpython-310.pyc b/ramen/__pycache__/api.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..cb776cec90ab16e84d80e3dc4a1baae18b9769d3 GIT binary patch literal 5972 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', methods=['GET']) +def get_all_quiz_answers_with_week(week): + all_quiz_answers = QuizAnswer.query.filter_by(week=week).all() + result = quiz_answers_schema.dump(all_quiz_answers) + return jsonify(result) + +# make a request for getting all excersise answers +@app.route('/allexcersiseanswers', methods=['GET']) +def get_all_excersise_answers(): + all_excersise_answers = ExcersiseAnswer.query.all() + result = excersise_answers_schema.dump(all_excersise_answers) + return jsonify(result) + +# make a request for getting all excersise answers with specific week and subject +@app.route('/allexcersiseanswers//', methods=['GET']) +def get_all_excersise_answers_with_week_and_subject(week, subject): + all_excersise_answers = ExcersiseAnswer.query.filter_by(week=week, subject=subject).all() + result = excersise_answers_schema.dump(all_excersise_answers) + return jsonify(result) + +# Run the app +if __name__ == '__main__': + app.run(debug=True) \ No newline at end of file diff --git a/ramen/db.sqlite b/ramen/db.sqlite new file mode 100644 index 0000000000000000000000000000000000000000..2119f5bb8993a9fb98a639c6e18d01020736b9bf GIT binary patch literal 40960 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 I!#i^S7v(Fs$N&HU literal 0 HcmV?d00001 diff --git a/syrenka/__pycache__/apihelper.cpython-310.pyc b/syrenka/__pycache__/apihelper.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b07d8fba4146e36c555f1077faf607beae38350e GIT binary patch literal 2221 zcmah~OONA35bn0yj`N&sW@f__z5E6*vu!!48E6cbW;u*)zbUO-b zIVZUC4>;@|^B1@y{)4ZaICI+*Rc+@nL&A2Hu4+HJzVCBYb=vK=2n_k)+wjjeA%Edw zdl<0z0{&_Y6DOR;0CU_10Ez-fv28J zfi{>%V-dr{A5Wi`?NAE9=_5AWPN4`rI-m}feQ-luuZ9B-0@MP11kOsJf)y5sWH0P3 zk!&qeqiAeIs)&_#Fw4fN)C5aMix8zr$>u^_!OcX?h0J>>+4U^StF=TR5)rsgCC?qa zpfwtxcZkywP92=OI3c5IIsmU6)MRm2zuFex(wqks=VMrhDEDe0Ukt4|KLBUL85mm& zYm2d^8QX=uVQk&Tx`vq_B0=#}D5Q#%_z%m*-Z%FX9M%NayVfk<0Nk2ozhZe8)*<}Y zgMx>dhAjWVyBT?b$xeslC0zjLnvrpyx4k$}*<(x?wPdmh50~bTB9l<_MCb34?o_`I z5Bd16|5&G+dK-gb)E;Kro8aulB!_UYAV1!NHsr_+|R&loSNxi=gcOS!{u&aSZy%Jd=@Qug?(L&RLZiMdN0^(^Tu2E(B zuKd2g3y?pLvaye)0CaV~1J3K!I6@HXbgGi{e+&8fZt9{tZk32eVbuDV(9w56^Ip+fC$rKCH{Y3#-d?C1#Q;3_>xTXbY^2pY z!E8mCH$E=LSsxx>!-CTV&7g9AreBd~Ckvy1Gp>L$?jC$<&fpL+xTSqt`wi_oaIZNe zpOFQVmi2$W+fYElelbcir{vIeX!DQJM*_>ixMBVcm#VYY}t%< z=%n*nM=-Sua-FY%e`79Qn WW6kOMavX;;!!aC7|Cm$%I_zJ-^U!es literal 0 HcmV?d00001 diff --git a/syrenka/apihelper.py b/syrenka/apihelper.py new file mode 100644 index 0000000..6bd37b9 --- /dev/null +++ b/syrenka/apihelper.py @@ -0,0 +1,57 @@ +#Szefowe Zadanka +#Created by Kacper Kostka from CubeSoftware +#------------------------------- +#Copyright (c) 2021-2022 CubeSoftware +#Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the #Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the #Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +#The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A #PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION #OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +import requests +import json + +url = "http://localhost:5000" + +def create_test(name, subject, date, topic): + data = {"name": name, "subject": subject, "date": date, "topic": topic} + response = requests.post(url + "/newtest", json=data) + return response.json() + +def create_quiz_answer(name, author, subject, question, week, answer): + data = {"name": name, "author": author, "subject": subject, "question": question, "week": week, "answer": answer} + response = requests.post(url + "/newquizanswer", json=data) + return response.json() + +def create_excersise_answer(name, author, subject, week, answer): + data = {"name": name, "author": author, "subject": subject, "week": week, "answer": answer} + response = requests.post(url + "/newexcersiseanswer", json=data) + return response.json() + +def get_last_6_tests(): + response = requests.get(url + "/last6tests") + return response.json() + +def get_all_tests(): + response = requests.get(url + "/alltests") + return response.json() + +def get_all_quiz_answers(): + response = requests.get(url + "/allquizanswers") + return response.json() + +def get_all_quiz_answers_with_week(week): + response = requests.get(url + "/allquizanswers/" + week) + return response.json() + +def get_all_excersise_answers(): + response = requests.get(url + "/allexcersiseanswers") + return response.json() + +def get_all_excersise_answers_with_week_and_subject(week, subject): + response = requests.get(url + "/allexcersiseanswers/" + week + "/" + subject) + return response.json() + +def get_all_quiz_answers_with_week_in_html(week): + html = "" + for quizanswer in get_all_quiz_answers_with_week(week): + html += "______________ Przedmiot: " + quizanswer["subject"] + "| Polecenie: " + quizanswer["question"] + "| Odpowiedź: " + quizanswer["answer"] + "_______________" + '\n' + return html diff --git a/syrenka/index.py b/syrenka/index.py new file mode 100644 index 0000000..941ba92 --- /dev/null +++ b/syrenka/index.py @@ -0,0 +1,58 @@ +#Sovnat GBF - +#Created by CubeSoftware +#------------------------------- +#Copyright (c) 2021-2022 CubeSoftware +#Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the #Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the #Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +#The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A #PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION #OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +from flask import Flask, render_template +import requests +import json +import os +import apihelper +app = Flask(__name__) + + +PORT = int(os.environ.get('PORT', 4567)) + +@app.route("/") +@app.route("/index") +def index(): + return render_template('home.htm', zurl1="/soon") + +@app.route("/info") +def info(): + return render_template('about.htm') + + +@app.route("/soon") +def soon(): + return render_template('soon.htm') + +@app.route("/tests") +def tests(): + last = apihelper.get_last_6_tests() + test1 = last[0] + test2 = last[1] + test3 = last[1] + test4 = last[1] + return render_template('tests.htm', name1=test1["name"], subject1=test1["subject"], date1=test1["date"], topic1=test1["topic"], name2=test2["name"], subject2=test2["subject"], date2=test2["date"], topic2=test2["topic"]) #name3=test3["name"], subject3=test3["subject"], date3=test3["date"], topic3=test3["topic"], name4=test4["name"], subject4=test4["subject"], date4=test4["date"], topic4=test4["topic"]) + +@app.route("/new") +def new(): + return render_template('public.htm') + + +@app.route('/quiz//') +def quiz(week): + return render_template('quiz.htm', answers=apihelper.get_all_quiz_answers_with_week_in_html(week), week=week) + +@app.route('/newquiz///////') +def newquiz(week, name, subject, author, question, answer): + apihelper.create_quiz_answer(name, author, subject, question, week, answer) + return render_template('public.htm') + +if __name__ == '__main__': + app.run(host='0.0.0.0', port=PORT, debug=True) \ No newline at end of file diff --git a/syrenka/static/dc.png b/syrenka/static/dc.png new file mode 100644 index 0000000000000000000000000000000000000000..9eaa900c591697f768dd584ad74b91a052ce5f55 GIT binary patch literal 1127 zcmV-t1ep7YP)Px(AxT6*RCr$PnoE+~FbqVaJ7u43j+|}wb0?+b3a4nAA2b9&klop&#zPa0erU>) zXWRFE|G|H09M}#Z+qP|K6n(Ie2MYqpGXVsWhs8q)fe=VC2a?HQLI@<81IgqtAq0}l zfn;)+kUIdWAEg|3@a?0O_O)`C-`-%BpQZ0F-n8}0=kxOWy58uu`pHAtPx8KFzur>| z)RVH$sP|UilZUmDy}S0+YqjycLelrwKzfi7ojpzHYdt+}pb$-?{a*IyO?Evg$i$ZP zwEs({8v#3WG>fp1egnrtM+qqWOB_0i5}X{GITVh zy=k4jHk$5UqT69vr5;V!)B2vNqlDCkx6_4QLuS{WRib*S?WJawq*-dD*EHmM(HqK_ z*JcyZP9uNzb>P8*KzvO`b|(jFcb{#I1m}1QK8}Qi4Dbw*uA@NPx*m2?9af3RoKovf7>5)BaR74W8c84o;^aWGZMDZ1 z6XFO`14RvlpRm>>31sb2=n4V}wOdvUg~B6C=Bs*D2oUY{qbE+gm)fBV-iSa^B}8N5 zOq6CnOJBVQB^?lnpevw6>5|kb0~V4HiJ*4|f;>urfoP1&2t=Yu^L@zZD3#VD5W&Sr zGlcE71hOz%YS6Kb1rX`61tsK+u#BIwBv8)utVu~2kkN!#HY_-Oo|b$(5Y(`!_1^a( zbswuC2u(t8L#Euk!*m-HP(`g_~hY1JKM{d!P zMIZ!X??AF0N5|GOAxwuK$sQB}@$-ARGl48EieJz|VM5{=Oh0W+f$;j_PYX&23S{-1 z#=pI5E1-TAwY6_93HdZIS`cACMqfr{c` zTOmMtXQj^p;=ijWj6;1Wkh`bF8ix2z-MVmZZtwI-%-Rq5`w(jZql4rQP%OQW^c#L; z-7zg^p-4a!U(!6wLPYytx?d}3p`d*&fgIAbVkE|)f+c%;twDUy_9X&R8bk!GOwkHn z?Hlp?nGa|Cf`C|nIV(8Aa7m38idA1KAev*$O0dMNs5J)^>%P=Lq-n7h9A)-Zbxs2r zrG+4LNKJs$X(0$52=RT$x$XIG)B)3kpvAfV)d2!YHWdUyAjup^CWi?jkYo-dlf#4% tNHPbK$zehWB$)%rPx(fJsC_RCr$P-93`jFc1ac*_v5 z`=9@wULEt{?R;If_<|$_(rhCwe(l&+klHb~M%o0#f>0I_0a6}+3!G38F9;1vt;>=o zIuZsBf30WoynHUI21Vk><79jcD2$;JDkz%9*dL{&!7zjvi zFghu-fTZj7N(&SuH57?56NncI90Z9n8;A!=2nY&gMiA?O9|nRznHfZzmQWCHl-WTv zDB&QUCq}QEzqe$RT z+jynLg5d(PCzNz878ol=6GW1Z@@|dpYEVhhpm;#smR!~@Y!u|EN%6#3O^5~~!yYLq z-WU*&y(OjAg&`nTyDUpO_By7NC`gQILcBosmXtL6LSw)|_J-m;v#TM$Sj+NE#~ufH zPmuC?r%WCcWKT0L6vnxmD&E3}fe@ok*!wJkAfC5=<5;aFnQB5j#}B6CrHo{KETh~K zLJ&+;BpBs5;ts-eTwtXTw?aGiEG% zN`g3#9ZZOGL9K_I3gqbBRmQZSxOQ0t(LH;>26ciE#M)Ao|)t_M8SJUER@VS{4lTYA>?rAAdiJ{;Z$&*8chasrj`S`usoMJT;r%eK158 zzt%EzLGBJjd*^xWN07_+o}!OFy^7vC4nYX=;{HJ25W{0gL<*RY^$NTi)Cq!}FNJL7~;2s6C_Wsme zfuK=(Pw|qzqzBsj#jXb;{XIj{*48%NwXC(Jb?b@C{YOC7{*c&~Am?Rsr~g-X2n3lF zDT=nsK_;ZUxvVe*xmMHCWz~8MEzB?oDkXbKh&3%L5CqEJKtdCO80hx`qJ)SN#Md3&mQF?*VnHFurP6K*v5qSQ0fJlYop&tMj(jkMwU(#ZF7+nrm3w2QuyT kY~az3MUctF2{IYTe>Ns7k^udGu>b%707*qoM6N<$f*C#_PXGV_ literal 0 HcmV?d00001 diff --git a/syrenka/static/main.css b/syrenka/static/main.css new file mode 100644 index 0000000..fe3f8ff --- /dev/null +++ b/syrenka/static/main.css @@ -0,0 +1,94 @@ +.articlebutton { + margin: 0 auto; + display:inline-block; + padding-left:0.5cm; + padding-right:0.5cm; + transition: transform 0.1s; + align: center; + background-color: rgba(255, 255, 255, 0.2); + padding: 1rem 6rem; + display: block; + font-weight: bold; + color: #FFFFFF; + border: none; + margin: 1rem; + border-radius: 8px; + outline: none; + cursor: pointer; +} +.articlebutton:hover { + transform:scale(1.04); +} + +BODY +{ + + /*background-color: #434388; */ + font-family: 'Roboto Mono', monospace; + color: rgb(113, 223, 119); +} + +P +{ + text-shadow: 4px 4px #3d3d3d; + line-height: 180%; + width: 70%; + margin-top: 2em; + margin-bottom: 3em; + font-size: 1.3em; +} + +HR +{ + height: 1px; + border: none; + background-color: #92dbe0; +} + +TABLE +{ + /*background-image: linear-gradient(rgba(28, 28, 89, 1) 0%, rgba(28, 29, 120, 1) 50%, rgba(5, 28, 105, 1) 100%);*/ + border: 2px solid #92dbe0; + width: 80%; + padding: 2px; +} + +B +{ + font-size: 1.2em; + border: 2px solid #92dbe0; +} + +I +{ + text-shadow: 8px 8px #111111; + font-size: 1.6em; +} + +A +{ + /*text-shadow: 4px 4px #201c1c;*/ + color: #180736; +} + +CENTER +{ + margin-top: 24em; +} + +UL +{ + float: left; + align-content: right; + display: table; +} + +LI +{ + list-style: none; +} + +A:HOVER +{ + color: #180736; +} \ No newline at end of file diff --git a/syrenka/static/mess.png b/syrenka/static/mess.png new file mode 100644 index 0000000000000000000000000000000000000000..33d76611b3fcf54d36793f1a917c5b33ee5d8d69 GIT binary patch literal 943 zcmeAS@N?(olHy`uVBq!ia0vp^DImV9xY(aSW-5 zdpkSZ@34VD%Sp`#MFkc+WacPoaD=bE`YUw(+l|J5GNmS^+1x*OYwMNAHs?RL)*JB2 zh);NI!6)HrF81kolS6@4gF`{YA5BF8CdOh0A3k9xg#^BalZj3oEN2)EEPXf{8!Q>r z+BqXxJ#G~6RL2xC2hF>D{95Tl=@(yDeLwSMn{UN>bDLtTruElLukHP0`77d8*IjLU zdzomtlOLDP6JE`1ta$C-G}8ssimxqr!cZ*r*8RX~N9Yl; zDJlZF6V^?V5O{6%vtV`C7Ee>p)t;MK_omEQn#|96b^XSV*%~)nBHW%vg{^v(r0W&F zXR3gv-P8p!yVkT!S)z9JTgvJ!eY1sW|01oNDtfC2k~CkBcvOwSl*$f&hA9FSp{e7Hq`V+M0V z(F~j+BVzU8XY7CHEB)J_)~k0;oREG-|H-dS5=$x_s+>9wMlqa=P%u`|VN2%`P!W(4 zh{*cI?ARvwfWh%4dkU*SL*`576jup_%#ZAwjCdF{_BoU_7)o}@PnetF)AEQp#a&|Z z0s)Ua?z9h+cF3MM_j1MrA*Pe6Pk#MBFl7tlPG>8&ZEH8lG%Sho=U$V>5p-ig$qxp`rbk?fAH)xR*zv8Ugdu2hkDh?q(!=_S z=K@qFylY!t_3S{{)7cX~WcCWzybLNkQ7WA9LoG#JV{*b5#z%MdwJk|}G-u)Q=f*3e z*R8#=Pfcy{d6`XG5)1;58y0LgP>}fhY(m6i_pIaug=1b3-B<(e^vRq(rZ2Ov7 zraAl`2Na%dUn3)vufToafNzI-kE_E2wIj^Ok_1vVzxeKJdwo*XnmuA{jWZ{tU*5>r zVcU?y!X(_0lWe6cJuAO7ca7zfnU(3At2tPBG#Uv-A|!cZO#z=hIA*MiKK+yROy3rT Uzn)v0fjN-D)78&qol`;+0K$um)Bpeg literal 0 HcmV?d00001 diff --git a/syrenka/static/src.png b/syrenka/static/src.png new file mode 100644 index 0000000000000000000000000000000000000000..a918b87fc825e42f44a618f39c7e3f4ca727c2a3 GIT binary patch literal 1066 zcmeAS@N?(olHy`uVBq!ia0vp^DImV1DB1;uum9 z_jZnV(H#RGm&M5`QEPV+GRc!S}EE3HQLJiI|KRhG#$WnQgZ{+U_^YfO!seIdZsjaX6_)hoi^PNubUQOEk<;SHco$aw(BkxElv2J}*pr6`P zl4@l!O>VuLi|)GX3I`ZI7HxhP;KkR;wPU;T+C2YV2VQk~nI35p*?G0-)zP>pzkCo2Xu3j)hbM+H8$q$zn`su~JKb0~4)#Sa;Ck63d zob7d8Zs)OEy&IUkE-GrXe2~1a?4Xcf-Q>W*qQjI>^g@7%v72Frj8%)n0VM{tc0NUc z4IB+87dn$8oxaL>jk(SIz5jOCs+BWK=Q6*TSngo_DrhIWiETX!&>QEvQV zrg1aY_@E7+N7Kc}LNA}qH0^M(`ut2s}^Xj5=7i?Kl*fp$oF5cZ1Va@zC^yu6> zg<1kH#ip2SlkU0P_@b#^bjICFQ_ff%HdWEe*>p7L?f=C)_u6-#vD4o2Dr;xGm4L7P z{~ED5ckh*p9*pEV;*}Y-fK7DolU + + + + Szefowe Zadanka + + + + +
+ ........... + + .....................................

Szefowe zadanka v0.5| + Strona Główna | Opublikuj | Sprawdziany | Jak używać / Informacje | + +


+
+

Jak Używać?

+

Jak Szukać Zadań?

+
  • Wejdź na edukadu i skopiuj polecenie (Najszybciej zrobisz to skrótem Crtl+C).
  • +
  • Otwórz stronę Szefowe Zadanka wybierz tydzień na stronie głównej bądź przejdź do wszystkich quizów/zadań
  • +
  • Kliknij skrót Crtl+F aby szukać na stronie i wklej polecenie(Najszybciej zrobisz to skrótem Crtl+V)
  • +

    Jak Dodawać Odpowiedzi?

    +
  • Wejdź na zakładkę Opublikuj
  • +
  • Wybierz czy jest to Pytanie w Quizie czy Zadanie
  • +
  • Wpisz Odpowiedź w tym autora aby inni mogli wiedzieć komu mają dziękować.
  • +
  • Kliknij OK
  • + +

    Rzeczy techniczne o stronie

    +
  • Strona(dynamic Syrenka) jest napisana w HTML CSS i Pythonie z użyciem frameworka Flask jak również Restful API(RamenBolka API)
  • +
  • Cały kod źródłowy jest dostępny w tym repozytorium na mojej instancji Gitea. Kod jest na wolnej licencji MIT. (Więcej LICENSE.txt)
  • +

    + Copyright (c) 2022 Cube Software && Kacper Kostka +
    + + \ No newline at end of file diff --git a/syrenka/templates/home.htm b/syrenka/templates/home.htm new file mode 100644 index 0000000..9d294c4 --- /dev/null +++ b/syrenka/templates/home.htm @@ -0,0 +1,32 @@ + + + + + Szefowe Zadanka + + + + +
    + ........... + + .....................................

    Szefowe zadanka v0.5| + Strona Główna | Opublikuj | Sprawdziany | Jak używać / Informacje | + +


    + + + \ No newline at end of file diff --git a/syrenka/templates/public.htm b/syrenka/templates/public.htm new file mode 100644 index 0000000..03fe309 --- /dev/null +++ b/syrenka/templates/public.htm @@ -0,0 +1,46 @@ + + + + + Szefowe Zadanka + + + + +
    + ........... + + .....................................

    Szefowe zadanka v0.5| + Strona Główna | Opublikuj | Sprawdziany | Jak używać / Informacje | + +


    +
    +

    Opublikuj Odpowiedź na Quiz

    +
    + + + + + + Prześlij(Najpierw Zatwierdź) +
    +

    Opublikuj Odpowiedź na Zadanie *COMMING SOON*

    +

    + Copyright (c) 2022 Cube Software && Kacper Kostka +
    + + + + diff --git a/syrenka/templates/quiz.htm b/syrenka/templates/quiz.htm new file mode 100644 index 0000000..32d0370 --- /dev/null +++ b/syrenka/templates/quiz.htm @@ -0,0 +1,25 @@ + + + + + Szefowe Zadanka + + + + +
    + ........... + + .....................................

    Szefowe zadanka v0.5| + Strona Główna | Opublikuj | Sprawdziany | Jak używać / Informacje | + +


    +
    +

    Odpowiedzi na Quizy Tydzień {{week}}

    +
  • {{answers}}
  • +

    + Copyright (c) 2022 Cube Software && Kacper Kostka +
    + + diff --git a/syrenka/templates/soon.htm b/syrenka/templates/soon.htm new file mode 100644 index 0000000..7e9e02a --- /dev/null +++ b/syrenka/templates/soon.htm @@ -0,0 +1,24 @@ + + + + + Szefowe Zadanka + + + + +
    + ........... + + .....................................

    Szefowe zadanka v0.5| + Strona Główna | Opublikuj | Sprawdziany | Jak używać / Informacje | + +


    +
    +

    Ta część strony jest w budowie!

    +

    + Copyright (c) 2022 Cube Software && Kacper Kostka +
    + + \ No newline at end of file diff --git a/syrenka/templates/tests.htm b/syrenka/templates/tests.htm new file mode 100644 index 0000000..ec4d6be --- /dev/null +++ b/syrenka/templates/tests.htm @@ -0,0 +1,30 @@ + + + + + Szefowe Zadanka + + + + +
    + ........... + + .....................................

    Szefowe zadanka v0.5| + Strona Główna | Opublikuj | Sprawdziany | Jak używać / Informacje | + +


    +
    +

    Świeże Sprawdziany

    +
  • {{name1}} || Data Sprawdzianu : {{date1}} | Przedmiot: {{subject1}} | Temat Sprawdzianu : {{topic1}}
  • +
  • {{name2}} || Data Sprawdzianu : {{date2}} | Przedmiot: {{subject2}} | Temat Sprawdzianu : {{topic2}}
  • +
  • {{name3}} || Data Sprawdzianu : {{date3}} | Przedmiot: {{subject3}} | Temat Sprawdzianu : {{topic3}}
  • +
  • {{name4}} || Data Sprawdzianu : {{date4}} | Przedmiot: {{subject4}} | Temat Sprawdzianu : {{topic4}}
  • + +

    + Copyright (c) 2022 Cube Software && Kacper Kostka +
    + + +