nvbach91 / 4IZ278-2023-2024-LS

4IZ278-2023-2024-LS
MIT License
3 stars 0 forks source link

kref01-sp #159

Open FilipKresl opened 1 month ago

FilipKresl commented 1 month ago

MojiBakaláři

Aplikace slouží jako vzdělávací platforma pro žáky, rodiče a učitele. Učitelé mohou zadávat známky a hodnotit domácí úkoly jednotlivých žáků. Každý žák má přístup pouze k vlastním známkám a může prostřednictvím platformy odevzdávat své úkoly. Rodiče mají možnost vidět známky svých dětí. Systém je zabezpečen, takže každý uživatel vidí jen pro něj relevantní informace.

User stories

Architektura

UseCase

use-case

Sites

Database

Díky za opravu, nová verze db:

Table Users {
  user_id integer
  role enum('student', 'teacher', 'parent') [default: 'student']
  first_name tinytext
  middle_name tinytext [null]
  last_name tinytext
  email tinytext
  date_of_birth date
}

Table Parenthood {
  parenthood_id integer [primary key]
  student_id integer
  parent_id integer
}

Table Assignments {
  assignment_id integer [primary key]
  teacher_id integer
  description text
  date_assigned date
}

Table Homeworks {
  homework_id integer [primary key]
  assignment_id integer
  graded_by integer
  student_id integer
  content text
  grade enum('1', '2', '3', '4', '5')
  status enum('assigned', 'submitted', 'graded') [default: 'assigned']
}

Ref: Parenthood.student_id > Users.user_id
Ref: Parenthood.parent_id > Users.user_id

Ref: Assignments.assignment_id > Users.user_id

Ref: Homeworks.student_id > Users.user_id
Ref: Homeworks.graded_by > Users.user_id
Ref: Homeworks.assignment_id > Assignments.assignment_id
Screenshot 2024-05-09 at 19 11 32

Checklist

Kategorie Požadavek splnění spolehlivost komentář
Databáze M:N vztahy x
1:N vztahy x
SQL joins x
Integritní omezení x
Testovací data x
Validace a sanitace vstupů Formuláře x
Datové typy x
Regulární výrazy x
Serverová validace požadavků x
Psaní kódu Potlačení warningů - nedefinované hodnoty x
Formátování kódu x
DRY princip - minimalizace opakování kódu x
SRP princip - single responsibility
Pojmenování proměnných x
Konzistence stylu psaní kódu x
Verzování kódu (Git) x
HTML5 validní + sémantické značky x
Objektové programování Zapouzdření x
Dědičnost x
Abstrakce x
Rozhraní
Polymorfismus
Magické metody
Připojení k databázi PDO x
Prepared statement x
SQL injection x
Performance Stránkování
Indexace databázových tabulek
Filtrace a organizování zdrojů
Cache (mezipaměť) x
Autentifikace Cookies x
Session x
Lokální strategie pro registraci a přihlášení x
OAuth, access token, login x
Ukládánní hesel x
Uživatelská oprávnění x
Uživatelské role x
Datum a čas Časové pásmo
Formátování časových hodnot x
Návrhové vzory Model
View
Controller
Bezpečnost XSS x
CSRF x
SQL injection x
API CRUD operace
HTTP metody x
Sémantické pojmenování zdrojů
Verzování
Idempotence
Provoz a údržba Sledovatelnost a logování
SEO URL
Víceuživatelský přístup k datům
Funkcionality Generování souborů PDF
Posílání e-mailů x
Oddělení ddministrační a uživatelské části x
Testování Testovací scénáře pro manuální testování
Dostupnost aplikace na internetu
nvbach91 commented 1 month ago

image

FilipKresl commented 3 weeks ago

Díky za opravu, zeditoval jsem původní issue