Skip to content

morvagergely/ProfRate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ProfRate

Alkalmazások fejlesztése beadandó

Bevezető

Ez egy egyszerű professzor/tárgy értékelő oldal. (markmyprofessor-hoz hasonló), amelyben a felhasználónak értékelik a tárgyakat, oktatókat.
Minden oktatóhoz tartozik egy név, egy azonosító, egy pontszám (ami több szempont szerinti alpontszámok átlaga) illetve az, hogy milyen tárgyakat oktat.
Az oktatókhoz hasonlóan a tárgyakhoz tartozik egy név, egy tárgyazonosító valamint egy pontszám, illetve hogy melyik oktatók tanítják az adott tárgyat.
Egy nem regisztrált felhasználó (vendég) meg tudja tekinteni az értékeléseket, viszont ahhoz, hogy ő maga is értékeljen már regisztráció szükséges.
A regisztrált felhasználó (tag) tud értékelni és akár megjegyzéseket is irhat az adott oktatóhoz, tárgyhoz. Az értékelés többféle szempont alapján történik, majd az egyes szempontok átlaga fogja adni az adott tárgyhoz/oktatóhoz tartozó pontszámot. Ezen kívül lehetősége van felvenni egy oktatót (vagy tárgyat) a kedvencek közé. Ha egy oktató vagy tárgy nem szerepel az adatbázisban, akkor a felhasználó hozzá tudja adni újként, illetve minden felhasználó tudja törölni is a saját maga által hozzáadott rekordokat.
Az adminisztrátor (admin) tud törölni bármilyen kommentet, oktatót és tantárgyat.

Követelményanalízis

Funkcionális követelmények

  • Mindenki által elérhető funkciók:
    • Regisztráció
    • Tantárgyakhoz és oktatóhoz tartozó értékelések megjelenítése
    • Tantárgyak és oktatók listázása értékelések átlaga alapján rendezve
    • Keresés (tantárgyat vagy oktatót név alapján)
    • Oktatók kilistázása tantárgy alapján
    • Tantárgyak kilistázása oktatók alapján
  • Tagok által elérhető funkciók:
    • Oktatók értékelése több szempont alapján
    • Tantárgyak értékelése több szempont alapján
    • Tantárgyak és oktatók listázása értékelések átlaga alapján rendezve
    • Megjegyzés, vélemény írása az adott oktatóról, tantárgyról
    • Új oktató hozzáadása az adatbázishoz
    • Új tantárgy hozzáadása az adatbázishoz
  • Adminisztrátor:
    • Kommentek törlése
    • Oktató törlése az adatbázisból
    • Tantárgy törlése az adatbázisból

Nem funkcionális követelmények

  • Könnyen kezelhető, felhasználó barát felület
  • Jelszavas azonosítás
  • Keresés eredmények gyors, átlátható megjelenítése
  • Nem megfelelő kommentek kiszűrése, törlése

Szakterületi fogalomjegyzék

  • professzor: egyetemen vagy főiskolán tanító, magas képzettséggel rendelkező tanár
  • kurzus: az a keret, amelyben a hallgatók meghatározott rend (előadás, gyakorlat, beadandó feladat) szerint gyarapíthatják tudásukat
  • hallgató: felső oktatási intézményben tanuló személy
  • átlag: n darab szám számtani közepe, úgy számoljuk ki, hogy összeadjuk az n darab számot, majd az összeget leosztjuk n-el
  • komment: hozzászólás, megjegyzés, általában lényegre törő és rövid terjedelmű.

Szerepkörök

  • vendég: nincs regisztrálva, csak megtekintheti az értékeléseket
  • tag: regisztrálva van, értékelhet és megjegyzéseket is írhat
  • adminisztrátor: lehetősége van törölni bármilyen értékelést és kommentet

Tervezés

Entitások

  • Course
    • id (Integer)
    • name (String)
    • averageRating (Float)
    • professors (List<Professor>)
  • Department
    • id (Long)
    • name (String)
    • averageRating (Float)
    • professors (List<Professor>)
  • Professor
    • id (Integer)
    • name (String)
    • score (Integer)
    • rateCount(Integer)
    • averageRating (Float)
    • recommendationCount (Integer)
    • courses (List<Course>)
    • department (Department)
  • User
    • id (Integer)
    • neptunCode (String)
    • password (String)
    • type (Enum)

UML Diagram

UML

Könyvtárstruktúra

Backend

  • controllers
    • CourseController.java
    • DepartmentController.java
    • ProfessorController.java
    • UserController.java
  • entities
    • Course.java
    • Department.java
    • Professor.java
    • User.java
  • repositories
    • CourseRepository.java
    • DepartmentRepository.java
    • ProfessorRepository.java
    • UserRepository.java
  • security
    • AuthenticatedUser.java
    • CustomBasicAuthenticationEntryPoint.java
    • MyUserDetailsService.java
    • WebSecurityConfig.java
  • ProfRate.java

Frontend

  • app
    • courses
      • courses.component.html
      • courses.component.scss
      • courses.component.spec.ts
      • courses.component.ts
    • login-form
      • login-form.component.html
      • login-form.component.scss
      • login-form.component.spec.ts
      • login-form.component.ts
    • professors
      • professors.component.html
      • professors.component.scss
      • professors.component.spec.ts
      • professors.component.ts
    • rate-course
      • rate-course.component.html
      • rate-course.component.scss
      • rate-course.component.spec.ts
      • rate-course.component.ts
    • register-form
      • register-form.component.html
      • register-form.component.scss
      • register-form.component.spec.ts
      • register-form.component.ts
    • app-routing.module.ts
    • app.component.html
    • app.component.scss
    • app.component.spec.ts
    • app.component.ts
    • app.module.ts
    • auth.service.spec.ts
    • auth.service.ts
    • course.dto.ts
    • course.service.ts
    • department.dto.ts
    • departments.service.ts
    • professor.dto.ts
    • professors.service.ts
  • assets
    • .gitkeep
  • environments
    • environment.prod.ts
    • environment.ts
  • favicon.ico
  • getgames.js
  • index.html
  • main.ts
  • polyfills.ts
  • styles.scss
  • test.ts

Végpontok

  • GET/
    • /courses: kurzusok megjelenítése
      • /:id : az adott id-hez tartozó kurzus megjelenítése
    • /departments: tanszékek megjelenítése
      • /:id : az adott id-hez tartozó tanszék megjelenítése
      • /:id/professors: az adott id-hez tartozó tanszék professzorainak megjelenítése
    • /professors: professzorok megjelenítése
      • /:id : az adott id-hez tartozó professzorok megjelenítése
      • /:id/courses: az adott id-hez tartozó professzor kurzusainak megjelenítése
    • /users: felhasználók megjelenítése
  • POST/
    • /course: kurzus hozzáadása
    • /department: tanszék hozzáadása
    • /professor: professzor hozzáadása
  • PUT/
    • /courses/:id : az adott id-hez tartozó kurzus módosítása
    • /departments/:id : az dott id-hez tartozó tanszék módosítása
    • /professor/:id : az adott id-hez tartozó felhasználó módosítása
  • DELETE/
    • /courses/:id : az adott id-hez tartozó kurzus törlése
    • /departments/:id : az dott id-hez tartozó tanszék törlése
    • /professor/:id : az adott id-hez tartozó felhasználó törlésea

Szekvencia diagram

sequence

Használati esetek diagram

usecase

Tárgy értékelés folyamatának leírása

rate"

Felhasználói dokumentáció

Telepítés

Szükséges:

Telepítés:

  1. A github oldalon töltse le zip fájlként a programot
  2. Csomagolja ki a fájlokat
  3. A parancssorban lépjen be a kicsomagolt állomány mappájába, majd írja be az "npm i" parancsot
  4. A programot az "npm start" paranccsal tudja elinditani

Használata

  1. Böngészőbe írja be a következőt: localhost:8080
  2. Miután regisztrált és bejelentkezett, használhatja a programot

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published