Coder Social home page Coder Social logo

web's Introduction

Trojsten web

Trojstenovy web

CircleCI codecov Code style: black

Getting started

This project uses pre-commit. You can install it using pip install pre-commit and it's also included in the project requirements.

Activate it with

pre-commit install --allow-missing-config

For dependency management we use Poetry. See https://poetry.eustace.io/docs/#installation for installation manual.

Running locally

Please follow the installation manual here: https://github.com/trojsten/web/wiki/Návod-na-inštaláciu

Committing code

Please send a pull request with a descriptive title and all necessary information in the description. Preferably all in English. The pull request needs to pass automatic checks and have at least one approval from the project maintainers.

We currently check the following things:

  • code style
    • the code must follow black codestyle. The easiest way to achieve this is to automatically format the code with the black tool. This is also enforced by the pre-commit check. Note that black is currently not included in the project requirements, because it requires Python 3.6+.
    • imports must be sorted alphabetically (within import categories). You can use isort to automatically sort imports the correct way. This is also enforced by the pre-commit check.
    • the code must also pass flake8 lint check.
  • tests
    • the PR must pass all tests
    • the PR should also have sufficient code coverage.
  • migrations
    • the PR must include all necessary migrations. Note that Django localizes migrations, so make sure your translations are up to date (./manage.py compilemessages) before generating migrations.

Sites running on this:

Related projects

web's People

Contributors

mhozza avatar black3r avatar syslo avatar maaario avatar gardenerik avatar arasid avatar dodo42 avatar roukanken42 avatar koniiiik avatar milos7250 avatar zoltanonody avatar sobkulir avatar sammko avatar mixie avatar krtko1 avatar michalstanik1 avatar david58 avatar kubik369 avatar lukasbalaz avatar adam-dej avatar ano95 avatar matuszelenak avatar siegrift avatar n4m3l355 avatar ananasj avatar gogis0 avatar dependabot[bot] avatar stanko2 avatar conqeror avatar matejbadin avatar

Stargazers

 avatar Adam Kňaze avatar Bruno Petrus avatar  avatar  avatar  avatar Jano avatar  avatar

Watchers

James Cloos avatar Kamila Součková avatar  avatar  avatar Jano avatar  avatar Martin Baláž avatar  avatar  avatar  avatar  avatar Roman Beno avatar  avatar  avatar  avatar  avatar  avatar  avatar Peter Ralbovský avatar  avatar  avatar

web's Issues

Novinky

System noviniek

  • akej sutazi to patri
  • typ novinky
  • title, text, autor, cas...

Build system pre zadania a vzoraky

Specifikovat a nakonfigurovat build system pre vzoraky

  • napisat makefile alebo makefile generator (napr. automake alebo nieco ine)

Make alebo build script ma robiot toto:

  • z markdown suborov to vygeneruje (napr. prikazom make)
    • pdf
    • html
    • skonvertuje obrazky do vhodnych formatov
  • skopiruje pdf a html do specifikovaneho adresara (napr. pomocou make install)
    • adresar moze byt specifikovany napr. v
      • ./configure --prefix ADRESAR
      • enviroment variable
      • make DESTDIR=ADRESAR install
  • makefiles by mali tvorit hierarchiu podla adresarovej struktury
    • t.j. ked zavolam make v adresari 24rocnik tak sa zavolaju make vsetkych serii v 24 rocniku

na konvertovanie markdownu sa moze pouzit napr. pandoc

v prvej faze sa treba hlavne dohodnut na tom ako sa to bude spustat, napr. ze make a make install v root directory a ako sa bude do make install strkat target directory. To je dolezite aby web po zmene dokazal automaticky updatnut zadania na stranke.

Registracia + login

dependency: #14 - clovek

Login:

Samostatny prihlasovaci web:
- Trojsten Oauth provider

  • Prihlasovaci interface s konikovou appkou na oauth login
  • asi aj klasicke prihlasenie meno + heslo
  • pri prvom prihlaseni cez oauth by na usera mal vyskocit registracny form kde by si clovek vyplnil udaje potrebne pre tabulku person
  • registracia cez username/password by malo obsahovat aj form z predosleho bodu.

Trojsten web:
- login button s prihlasenim cez trojsten login oauth
- prihlasenie do ostatnych webov

Registracia:
- asi na strane trojsten webu - domyslet nejako

Body

Vymyslieť a skódiť bodovovanie úloh.

Rátať so zverinamy typu za jednu úlohu môže byť viac typov bodov (ksp - teória-prax)
Chceme teda

  • možnosť dávať za úlohu viac typov bodov
  • aby sa z toho dali rozumne cucať výsledkovky
    (kms, má navyše koeficient že kto čo môže riešiť ...)
  • aby sa dali pohodlne nahazdzovať opravené príklady
  • nie všetko sa bude nahadzovať ručne (testované príklady)
  • nie vždy je za príklad celočíselný počet bodov (ksp, aproximačné, kaggle style...)
    (dve desatinné miesta by mohli byť postačujúce)
  • rozlišovať odovzdaný/neodovzdaný príklad; opravený/neopravený
    (keď niekto odovzdá príklad a nie je opravený má vo výsledkovke '..' alebo niečo
    keď niekto neodovzdá príklad, tak nemá vo výsledkovke 0 ale prázdne políčko = zvlášť výzva je keď úloha ma teóriu a prax a človek odovzdá len jedno z toho (je to možno záležitosť výsledkovky, ale treba na to myslieť aj pri návrhu bodovania)
  • ak som niečo zabudol, dajte vedieť

filtorvanie uloh podla kategorie

Chceme mat taby ak sutaz ma viac kategorii.
Napr. pre KSP:
Vsetky ulohy, KSP-Z, KSP-O (pripadne praks ak bude sucast ksp)

Ked ma sutaz iba 1 kategoriu (napr. KSP-T) netreba zobrazit taby

Akcie

Vyrobiť appku na akcie (sustredka, splavy & shit)

  • modely
  • prihlasovanie na sústredká
  • zoznam účastníkov
  • archív sústrediek - s reporatmi (alebo linkami na reporty - tie môžu byť držané napr. vo wiki, prípadne celý archív môže byť wiki stránka ak sa nám s tým nechce)
  • ankety (pozri #252)
  • cokolvek dalsie co treba na sústredká

Model pre akciu:

  • nazov
  • typ (FK do tabulky typov)
  • zoznam ucastnikov (m2m do zoznamu uzivatelov)
  • zoznam veducich (m2m do zoznamu uzivatelov)
  • cas zaciatku
  • cas konca
  • miesto (bud string alebo FK do zoznamu chat)
  • zoznam linkov (report, fotky, fb event....)

Model pre typ:

  • nazov (napr. KSP sustredko)
  • site

Model pre link:

  • title
  • url

Prihlasky:

  • genericke fieldy
  • zoznam klucov dodatocnych vlastnosti cloveka (treba vlastnosti cloveka prerobit, issue #253 )
  • predvyplnenie z existujucich fieldov

Deploy www.ksp.sk

Nezabudnut na tieto veci:

  • presunut stary web
  • uistit sa, ze k suborom web-u v /var/www/ sa neda dostat zo stareho web-u
  • uistit sa, ze funguje login cez facebook a google aj na www.
  • nastavit databaze auto increment-y od cisel tak aby sa nebili s cislami zo stareho webu (hlavne task-y a mozno user-ovia ked sa budu migrovat)
  • presunut nadaciu a nadrbat do url presmerovanie

Cucat viac veci z pipeline pri registracii (napr. pohlavie)

Momentalne sa da prihlasovat cez heslo, google, openID a launchpad... chceme pridat este Facebook a Github.. viac info http://psa.matiasaguirre.net/docs/backends/facebook.html http://psa.matiasaguirre.net/docs/backends/github.html , mozno nejake dalsie backend-y ak sa nieco z toho zvysku bude zdat relevantne (je toho tam kopa)

Dalej, momentalne od social login-u zereme meno, priezvisko a email... chcelo by to zistit ci sa da cucat aj viac, a ak hej, tak skusit cucat napr. pohlavie od sluzieb kde poskytuju viac veci (napr. facebook)

Uloha s kategoriou z inej sutaze

Aktualne sa da v databaze (v adminovi) vytvorit dve sutaze, ulohu priradit k jednej a dat jej kategoriu z druhej.. asi to nechceme..., minimalne to asi chceme zakazat v admin-ovi..

Modely pre ulohy a riesenia

Modely pre ulohy a riesenia/submity od riesitelov

pridat datum
typ ulohy
odpoved
haluzne cislo z protoklolu

Ajax

Chceme aby trojsten web isiel co najplynulejsie, bez zbytocneho reloadovania... Takze chceme co najviac vselijakych formov a inych veci riesit ajaxom.

Narazil som na takyto sikovny tool, ktory by nam to mohol ulahcit:
http://www.dajaxproject.com/

Wiki

integrovat django-wiki

Feedback

Chceme dať užívateľom možnosť feedbacku

  • najmä bug reporty

Spôsob realizácie

  • malito link
  • formular posielajuci mail (preferovana moznost)
  • nejaka jednoducha appka (toto sa asi nikomu nebude chcet, takze niektora z predoslych moznosti)

moze sa to posielat na trojsten-web mailing list (s nejakym tagom napr. [feedback]) - tam sa to urcite dostane k niekomu relevantnemu

Posielat postu na skolu

Stary KSP web mal moznost nastavit si posielanie posty na 3 moznosti: domov, do skoly a na korespondencnu adresu, chceme tak aj tu?

odovzdavatko

Chceme aby to vedelo

  • uploadovat popis, zdrojak a zip suborov

3 typy uloh

  • iba prax
  • aj teoria prax
  • special
  • iba teoria

Cheme aby to bola instalovatelna django appka vo vlastnom repo.

Textarea na posielanie popisu

Bolo by pekne umoznit popis zadat priamo na stranke do textarea (mozme podporovat markdown syntax, pripadne dat aj jednoduchy markdown wisiwig)

Zjednodusilo by to odovzdavanie najma uloh bez zdrojaku(najma ostatne seminare) a vyhli by sme sa problemu s windows kodovanim, kedze decka to casto pisu v notepade.

change user form hubuje ak user nema adresu

ak user nema adresu (napr. superuser), tak po kliknuti na nastavenia sa zjavi takyto exception:

'NoneType' object has no attribute 'street'
Exception Location: /home/michal/source/trojstenweb/trojsten/regal/people/forms.py in init, line 119

bolo by dobre keby sa s tym nejak lepsie vysporiadal

Undo tlacitko

V adminovi sa po vykonaní akcie (napr. Zmazať Person) zobrazí informácia, že taký a taký objekt bol zmazaný. Bolo by možno fajn mať tam možnosť undo, aby sa dalo opraviť, keď sa niečo pošahá.

Má to aj dobrý edukačný charakter, keď sa chcete naučiť customizovať django.

Pridať setting na prepínanie medzi CDN a lokálnymi kópiami

Lokálne kópie Bootstrapu, jQuery, kadejakých Angularov a iných pagáčov makových sú fajn pre lokálny development; v ostrej prevádzke sa asi viac oplatí používať CDN. Chceme na to setting (alebo aj viac) a prípadne nejaké template tagy pre jednoduchšie vkladanie.

Treba preskúmať, či niečo také existuje (skoro určite hej) a keby náhodou nie, doimplementovať bude pomerne ľahký task.

sticky footer

chceme mat footer naspodku stranky aj ked stranka nezabera celu vysku

Zobrazenie vsetkych tabuliek v regali

Zakladne zobrazenie vsetkych tabuliek v regali - podla url - vid regal readme
V tomto tasku len zobrazit, query zatial netreba

Bolo by fajn namiesto id zobrazit napriklad meno(ak ide o cloveka, alebo skolu alebo cokolvek) + mat linku na entitu

Mozno aj viac info v tooltipe.

Úlohy

Vymyslieť a skódiť príslušné modely pre správu úloh.
Hierarchizáciu do seminárov, ročníkov sérií etc.

Vyhladavanie

Javascriptove google vyhladavatko.

Mozno sa bude dat do googla natlacit aj nejaky index uloh alebo whatever, alebo to mozno pojde out of the box kedze google indexuje aj pdf. teda za predpokladu ze mame citatelne pdfka.

Filter riadkov tabulky

Javascriptove vyhladavanie/filter riadkov tabulky

T.j. ked si chcem najst napr. cloveka v tabulke - tak dazadam do textboxu nejaky substring jeho mena a zobrazia sa len zodpovedajuce vysledky.

Nemalo by byt zlozite

Vysledkovka

Treba vyrobit vysledkovku pre kolo pripadne aj pre celu letnu/zimnu cast.
V prvej faze staci pre kolo.

Aby vysledkovka nebola prilis siroka, podla mna staci v nej mat sumu bodov a podorobnosti napr. v tooltipe.

Vysledkovka by mala dostat id kola, kategoriu a automaticky zobrazit vsetko potrebne.

Zatial staci aby fungovala podla ksp pravidiel, ostatne seminare sa dorobia casom, ale bolo by dobre mysliet na to ze sa to bude dorabat.

Dokoncit ten velky pullrequest

Bolo by fajn co najskor dorobit pullrequest #11 nech uz je od toho konecne pokoj.
Preto si to niekto zobrete na starosti aplikujte zmeny, ktore boli vytknute v review, nech sa to uz moze mergnut. To bude taky dobry start, potom sa to uz snad rozbehne.

Custom User model

Chceme namiesto separátneho modelu Person radšej použiť custom User model, kde budú všetky potrebné údaje.

Zaviesť do našich aplikácií South

Je vysoko pravdepodobné, že budeme ešte upravovať modely. By default by sme museli všetky zmeny robiť v existujúcich databázach ručne alebo premazať a pogenerovať odznova po každej zmene (minimálne kým nevyjde Django 1.7), South sa o to postará za nás.

Permissions

Pravdepodobne budeme chciet mat object level permissions - hlavne kvoli ufo.
Ale mozme to aplikovat aj na to, aby sme nemali bordel medzi seminarmi. Teda bezny veduci bude vidiet len data svojho seminara.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.