Giter Club home page Giter Club logo

aar-webshop's Introduction

Projektmunka

A levelező tagozaton a hallgatók 1-3 fős csapatokban kidolgoznak egy-egy teljes adatbázis alkalmazást az SSADM tervezéstől a számítógépes implementációig. Az alkalmazást a hallgatók személyesen mutatják be a gyakorlatvezetőnek a 13. és 14. szorgalmi héten, aki annak eredetiségét is ellenőrzi szakmai részletekre való rákérdezéssel.

Platform: Oracle Database. Ettől eltérni csak a gyakorlatvezető előzetes engedélyével lehet (pl. levelező hallgató MS SQL Server projekten dolgozik stb.). Access és MySQL nem választható.

A projektmunka pontszámának meghatározása:

A projektmunkát két, jól elkülöníthető részre bontjuk a pontszámok meghatározásánál. Ezek rendre a Dokumentáció, Adatbázis + Alkalmazás megnevezéseket kapták. Fontos, hogy az adott részekre adható pontok százalékos arányát a projektmunkára összesen adható ponthoz képest az alábbi táblázat foglalja össze:

Projekt rész: Adható pont:
Dokumentáció ~30%
Adatbázis + Alkalmazás ~70%

Dokumentáció

A projektmunkához egy számítógéppel készített tervezési dokumentáció készül.

Minimális elvárások a dokumentációval kapcsolatban:

  • A dokumentáció számítógéppel készített, szerkesztett dokumentum.
  • A csapaton belül a munka felosztásának részletes leírása.
  • Szöveges, részletes feladatleírás, követelménykatalógus (mi a megvalósítandó cél, milyen funkciókkal kell rendelkeznie a programnak)
  • Adatfolyam-diagramok (logikai és fizikai adatfolyam-diagram legalább 1. és 2. szinten)
  • Egyedmodell és E-K diagram
  • Adatmodellezés és relációs adatelemzés (E-K diagram, E-K diagram leképezése, normalizálás, adattáblák leírása)
  • Funkciómeghatározás vagy egyed-esemény mátrix vagy szerep-funkció mátrix

Amennyiben a fent leírt minimális elvárások bármelyike nem teljesül a projekt kapcsán, úgy a projekt sikertelen (minden csapattag nulla pontot kap). Fontos, hogy a minimális elvárások teljesítése nem azt jelenti, hogy a dokumentációra adható pontok mindegyikét megszerzi a hallgató. Az elkészített dokumentáció igényessége, részletessége és helyessége is szerepet játszik a pontozásnál. Valamint, a minimális elvárásokon felül a dokumentációban feltüntethető további elemekről (például menütervek, képernyőtervek stb.) az előadásanyagok, illetve a gyakorlati anyagok nyújtanak bővebb tájékoztatást.

Adatbázis

A projektmunka legfontosabb része.

Minimális elvárások az adatbázissal kapcsolatban:

  • Összefüggő adattáblák száma legalább 7 darab.
  • Adatrekordok száma az adatbázis egészében logikusan elosztva legalább 150 darab.
  • A feltöltött adatrekordokon be lehessen mutatni a rendszer működését.
  • Összetett lekérdezések száma, amelyek legalább két tábla összekapcsolását, ezen kívül csoportosítást összesítő függvénnyel, és/vagy alkérdést tartalmaznak: legalább 8 darab.
  • Integritás-ellenőrzés (kulcs és külső kulcs kapcsolatok, ON UPDATE és ON DELETE megszorítások).
  • A nem számláló funkciót megvalósító triggerek száma legalább 2 darab.
  • Az alkalmazásban használt, adatbázisban tárolt eljárások és függvények száma legalább 2 darab.

Amennyiben a fent leírt minimális elvárások bármelyike nem teljesül a projekt kapcsán, úgy a projekt sikertelen (minden csapattag nulla pontot kap). Fontos, hogy a minimális elvárások teljesítéséből nem következik, hogy az Adatbázisra adható pontok mindegyikét megkapja a hallgató. A kódolás minősége, átláthatósága és a helyes működés is pontozásra kerül. A további pontokat a minimális elvárásokban feltüntetett elemekben szereplő darabszámok meghaladásával lehet megszerezni, továbbá az Adatbázishoz szorosan kapcsolódó funkciók megvalósításával, például érzékeny adatok (jelszavak) hash-elt tárolása, SQL-befecskendezés (SQL-injection) kivédése, nézettáblák alkalmazása, stb.

Alkalmazás

Kényelmes használatot biztosít a felhasználók számára.

Minimális elvárások az alkalmazással kapcsolatban:

  • Az alkalmazásnak rendelkeznie kell adatfelvitelt, -módosítást, -törlést és adatok lekérdezését szolgáló grafikus vagy webes felhasználói felülettel.
  • Az alkalmazás funkcionalitását tekintve megfelel a Dokumentációban leírtaknak.

Amennyiben a fent leírt minimális elvárások bármelyike nem teljesül a projekt kapcsán, úgy a projekt sikertelen (minden csapattag nulla pontot kap). Fontos, hogy a minimális elvárások teljesítéséből nem következik, hogy az alkalmazásra adható pontok mindegyikét megkapja a hallgató. Az értékelési szempontokban szerepet kap az alkalmazás használhatósága/letisztultsága.

Oktatói javaslat: a feladatok felosztását a csapat maga határozza meg, de ügyelni kell rá, hogy minden csapattagnak arányos munkája legyen. Minden feladathoz előre ki kell jelölni a felelősöket. A frontend és backend részt egy-egy funkció kapcsán nem érdemes szétválasztani, mert pontszám a funkció megvalósítására jár, vagyis akár a grafikus felhasználói felület, akár a funkció háttérműveletét megvalósító rész hiányzik, a funkció nem látja el a feladatát, ezáltal nem értékelhető.

Megvalósítható elemek (Webshop)

  • Termékek és árak kezelése az adatbázisban
  • Árukategóriák megadása
  • Felhasználók regisztrálása, beléptetése
  • Vásárlói egyenleg beállítása felhasználóknál
  • Vásárolt termékek állapota (nincs fizetve, fizetve, kiszállítva) (a kiszállítást csak az adminisztrátori felületen lehet beállítani, lehetőleg minden szállítást akkorra ütemezzünk, amikor más termékeket is szállítunk az adott városba)
  • Adminisztrátori felületen figyelmeztetés a kiszállított, de a fizetési idő leteltét követően nem kifizetett termékekről (T)
  • Új termékek ajánlása a kezdőoldalon (5-5 kategóriánként)
  • Felhasználók lapján a vásárolt termékek listája
  • Kiszállítandó termékek listázása adminisztrátori felületen a kiszállítási határidő szerint csoportosítva. (Feltételezzük, hogy 5 nap áll rendelkezésre a kiszállításra.)
  • Legnépszerűbb termékek listázása a vásárlás alapján, kategóriákban csoportosítva
  • Termékek ajánlása az alapján, hogy mások mit vásároltak még, akik megvették a terméket
  • Vásárlás menete, egyenlegfeltöltés
  • Számla kiállítása a vásárlásról, számlák tárolása a rendszerben
  • Vásárlói vélemények hozzáfűzése a termékekhez
  • Hasonló termékek összehasonlítása (felhasználói kiválasztás alapján)
  • Kedvezmények adása azoknak a felhasználóknak, akik egy adott összeg felett tartanak a vásárlásban. Új ár megállapítása a most kiválasztott termékeknél
  • Törzsvásárlóvá válás (T)
  • Termékek ajánlása a bejelentkezett felhasználóknak a korábbi vásárlások alapján
  • Éves statisztika készítése a havi bevételekről

Jelmagyarázat

  • A triggerrel (is) megvalósítható követelmények után szerepel a T betű.
  • A tárolt eljárással/függvénnyel megvalósításra ajánlott követelmények után a PF felirat áll.

aar-webshop's People

Contributors

seremark avatar szbazs avatar

Stargazers

Váradi Zsolt avatar  avatar

Watchers

Váradi Zsolt avatar  avatar

aar-webshop's Issues

Alapadatok felvitele

Alapadatokat tartalmazó táblákhoz adatfelvitel, módosítás és törlés megvalósítása űrlapon keresztül

  • az alapadatokat tartalmazó táblákhoz (amelyek nem kapcsolótáblák, nem tartalmaznak külső kulcsot) el kell készíteni az űrlapokat
  • Ha mindegyik tábla tartalmaz valami miatt külső kulcsot, akkor annak értékét nem kell megadni (NULL érték lehet az adatbázisban)
  • Felhasználói szerepkör ellenőrzése az űrlap esetében (jó esetben nem is látszik a felhasználó számára, de van olyan felhasználó, aki számára elérhető a funkció)
  • A felhasználói input ellenőrzése
  • SQL-befecskendezés megakadályozása
  • Adatrekordok rögzítése

Tasks:

Dokumentációs elemek 2.

Tartalmazza:

  • E-K diagram leképezése relációs sémákká
  • Normalizálás (kulcsok meghatározása, alulról felfelé és felülről lefelé történő elemzés)
  • Szerep-funkció mátrix
  • Egyed-esemény mátrix

Add New Product validation

Ha túl nagy árat adunk egy új termék hozzáadásánál, elszáll a program.:
oci_execute(): ORA-01438: value larger than specified precision allowed for this column in ProductsModel.php on line 58

Emellet kellene megadni max hosszúságot a termék nevének is.

Adatbázis csatlakozási ablak

"Legyen egy ablak vagy weboldal, amelyen csak annyi látszik, hogy az alkalmazás csatlakozott az adatbázishoz."

Ez lehet mondjuk egy popup amikor elindul az applikáció, ami akkor jelenik meg ha a kapcsolat létrejött, és addig nem enged tovább amíg ez meg nem jelenik. Meg is lehet ez szépen animálva ha valaki unatkozik, de ez alatt az issue alatt az a legjobb ha még ezt átbeszéljük.

Categories

Működjön a kategória aside, lehessen egyszerre akár több kategóriát is kiválasztani, és csak ezek a termékek jelenjenek meg a főoldalon.
Odafigyelni, hogy a navbaros keresési funkcióval ne gabalyodjon össze, működjenek szépen egymás mellett.

Cart quantity and Product UserID + egyebek

Kellene a kosárhoz egy mennyiség funkcionalitás, de ezt a db nem szupportálja, mivel nincsen a 'CartItems' táblában 'Quantity' oszlop.
Adjunk hozzá utólag egy 'Quantity' oszlopot, kockáztatva, hogy nem tetszik a tancinak? Vagy hagyjuk így kicsit csupaszon?

Baj még, hogy a Producthoz nem csatolunk UserID-t (feltöltő), így törlési jogosultságot sem tudunk kiosztani, illetve a felhasználó termékeit sem lehet lekérni.

Megrendelés folyamán is előfordulhat ilyen, átnézni.

Meg kellene beszélni mi legyen.

Alkalmazás alapok

Fájlrendszer kialakitása, alkalmazás futásához szükséges fájlok létrehozása

Product Search

Lehessen rákeresni a navbarból bármilyen termékre

Product (with Reviews)

Product Page Creation

  • Design and development of a dedicated product page.
  • Integration of aesthetic and functional elements to enhance user engagement.

Reviews Management

  • Implementation of a review system where customers can leave feedback.
  • Features to sort and filter reviews based on highest or lowest rated.

Bejelentkezési űrlap

  • felhasználónév és jelszó fogadása
  • jelszó titkosítása
  • bejelentkezési adatok összevetése az adatbázisban szereplőkkel
  • SQL-befecskendezések megakadályozása
  • visszajelzés a felhasználónak

Regisztrációs űrlap

  • felhasználói név és/vagy e-mail cím, jelszó bekérése
  • jelszó bekérése még egyszer
  • jelszó titkosítása
  • SQL-befecskendezések megakadályozása
  • felhasználói rekord beszúrása az adatbázisba
  • visszajelzés a felhasználónak, hogy sikerült-e vagy sem
  • felhasználói szerepkör hozzárendelése a felhasználóhoz

Cart

Create Cart page

Landing page

Létrehozni az oldalt ahova a felhasználók alőször érkeznek, és megtekinthetik a termékeket.

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.