/the-contacter

This repository has been created for the course of 'Alkalmazások fejlesztése' at ELTE University. Here I keep the files of my project organised, and updated.

Primary LanguageJavaScript

Dokumentáció

The Contacter

Készítette: Tóth Attila

Description / Leírás:

This repository has been created for the course of 'Alkalmazások fejlesztése' at ELTE University. Here I keep the files of my project organised, and updated.

Ez a repository az ELTE 'Alkalmazások fejlesztése' című kurzusához jött létre. Az itt található fileok mindig a legfrissebb állást tükrözik.

1. Követelményanalízis

1.1 Célkitűzés, információ az alkalmazásról

Az alkalmazás célja az, hogy egy élvezhetően használható, kellemes felületet biztosítson kontaktjaink kezeléséhez, azok rendezetten tartásához, konktakcsoportok meghatározásához. Az alkalmazás használatához registráció szükséges.

Funkcionális követelmények

Vendégként (nem regisztrált felhasználó)

  • Vendégként a főoldalon szeretnék egy üdvözlő üzenetet látni
  • Vendégként szeretnék egy üdvözlő oldalt látni
  • Vendégként szeretnék regisztrációs lehetőséget

Felhasználóként (regisztrált felhasználó)

  • Felhasználóként szeretném a saját kontaktjaimat látni a főoldalon.
  • Felhasználóként szeretném a kedvenc kontaktjaimat elsőként látni.
  • Felhasználóként szeretnék új kontaktot létrehozi.
  • Felhasználóként képet szeretnék tudni csatolni egy-egy kontakthoz.
  • Felhasználóként meg szeretnék adni több telefonszámot egy-egy kontakthoz.
  • Felhasználóként akár e-mail címet is szeretnék társítani egy-egy kontakthoz.
  • Felhasználóként szeretnék egy saját kontaktot.
Nem funkcionális követelmények
  • Felhasználóbarát, ergonomikus elrendezés és kinézet.
  • Gyors működés.
  • Biztonságos működés: jelszavak hashének tárolása.
  • Egyszerű, következetes felhasználói felület, egyszerű használat.
  • Kellemes kinzet.

1.2 Szakterületi fogalomjegyzék

  • Kontakt: Egy ismerős adatait reprezentáló objektum, hozzá tartozik kép is telefonszámok is.
  • Kontakt csoport: kontakt objektumokból álló csoport.

1.3 Használatiest-modell, funkcionális követelmények

Vendég

Csak a főoldalt, és a regisztrációt éri el.

  • Főoldal
  • Bejelentkezés
  • Regisztráció

Bejelentkezett felhasználó

A publikus oldalakon kívül ezeket is eléri:

  • Új kontakt hozzáadása
  • Kontakthoz kép csatolása
  • Kontakthoz e-mail cím csatolása
  • Kontakthoz telefonszámok csatolása
  • Kontakthoz megjegyzés csatolása
  • Becenév megadása
  • Lakhely beírása

Egy eset bemutatása: kontakt hozzáadása

  1. A felhasználó az oldalra érkezve bejelentkezik, vagy regisztrál.
  2. A regisztráció után elérhetővé vált menük közül kiíválsztja a kontakt hozzáadását.
  3. Ez után az elé kerülő formot kitölti, melynek kötelező eleme csak egy név.
  4. (Opcionálisan megad telefonszámot, képet, lakhelyet...)
  5. Mentés gombra kattintva véglegesíti az adatokat.

2. Tervezés

2.1 Architektúra terv

2.1.1 Komponensdiagram

2.1.2 Oldaltérkép
Publikus:
  • Főoldal
  • Bejelentkezési oldal
  • Regisztrációs oldal
Bejelentkezett felhasználó:
  • Főoldal
  • Új kontakt hozzáadása
  • Listaoldal
    • kontaktcsoportok megjelenítése
    • kontaktok megjelenítése
  • Szerkesztő oldalak
    • kontakt szerkesztése
    • kontaktcsoport szerkesztése
  • Képfeltöltő oldal
2.1.3 Végpontok
  • GET / : Főoldal
  • GET,POST /registration : Regisztráció
  • GET /login : Bejelentkezés
  • POST /loginaction : Bejelentkezés
  • GET /logout : Kijelentkezés
  • GET /contact/new-contact : Kontakt létrehozása
  • POST /contact/save-contact : Kontakt mentése
  • GET,POST /contact/edit/:id : Kontakt szerkesztése
  • GET /contact/:id : Kontakt megtekintése
  • GET /contacts : Kontaktok oldal
  • GET /contacts/contact-groups : Kontaktcsoportok megjelenítése
  • POST /contacts/contact-groups/save-group : Kontaktcsoportok mentése
  • POST /contacts/contact-groups/remove-group/:id : Kontaktcsoportok törlése
2.2 Felhasználói-felület modell
2.2.1 Oldalválzlatok:

A tervektől való esetleges eltérések megeshetnek, ugyan is előfordulhat, hogy szerkesztés közben derül ki, hogy minimális változtatással sokkal esztétikusabb eredményt érhetek el.

Főoldal

Főoldal

Regisztrációs oldal

Regisztráció

Bejelentkezés oldal

Bejelentkezés

Kontaktok listázása oldal

Listaoldal

Kontakt hozzáadása / szerkesztése oldal

Új kapcsolat

2.2.2 Osztálymodell
Adatmodell

Osztálymodell

Adatbázisterv

Adatbázisterv

Szekvenciadiagram

Vegyünk például egy regisztrációt, majd egy új kontakt felvételét, szerkesztését, törlését.

Szekvencia diagram

3. Implementáció

3.1.1 Fejlesztőkörnyezet

PHPStorm, local IDE

VCS: git

Github kódtárban tárolom a projekt kódjait.

3.1.2 Könyvtárstruktúra
  • the-contacter

  • config

  • controllers,

    • HomeController.js
    • ContactController.js
  • models

    • Cgroup.js
    • Contact.js
    • Image.js
    • Address.js
    • Tnum.js
  • views:

    • login
      • loginpage.njk
    • home
      • home.njk
    • contact
      • add.njk
      • list.njk
    • master.njk
  • bower.json

  • package.json

  • server.js

4. Tesztek

4.1 Selinium IDE ismertető

A Selenium IDE-t könnyedén telepíthetjük a következő linket használva: https://addons.mozilla.org/hu/firefox/addon/selenium-ide/. Ezen link segítségével egy firefox pluginként települ fel a program és ezentúl használhatjuk bármely projektünkhöz.

4.2 Selenium IDE tesztek:

A tests könyvtárban találhatóak. Tesztelve vannak a következő esetek, és egymásra épülnek:

  • Új kontakt létrehozása
  • Előbb létrehozott kontakt módosítása
  • Új kontaktcsoport létrehozása
  • Előbb létrehozott kontaktcsoport törlése

5. Felhasználói dokumentáció

Futtatáshoz szükséges operációs rendszer: Tetszőleges operációs rendszer

A futtatáshoz szükséges hardver: Operációs rendszerek szerint megadva

Egyéb követelmények: Internet böngésző telepítése, JavaScript ajánlott

Program használata:

  1. Böngészőben nyissuk meg a főoldalt
  2. Jelentkezzünk be az oldalra a "Bejelentkezés" gomb segítségével
  3. Bejelentkezés/Regisztráció után a Lista oldalra jutunk
  4. Oldalt a "+" gombra kattintva tudunk új kontaktot az adatbázishoz adni
  5. Töltsük ki az űrlapot
  6. Hibás adatok esetén az űrlap jelezni fogja a hibát
  7. "Mentés" gombra kattintva mentsük el az adatokat
  8. Lista oldalon: "Szerkesztés" gombra kattintva a szerkesztés oldalra jutunk
  9. Lista oldalon: Megtekint gombra kattintva a Megtekint oldalra jutunk
  10. Megtekintés oldalon található a szerkesztés gomb
  11. Szerkesztés oldal: megegyezik az új kontakt oldallal, viszont előre ki van töltve.

6. Irodalomjegyzék:

http://webprogramozas.inf.elte.hu/alkfejl.php

http://ade.web.elte.hu/wabp/lecke2_lap1.html

http://webprogramozas.inf.elte.hu/alkfejl/A_dokumentacio_felepitese.pdf

Megjegyzés: Engedélyezett JavaScript mellett működik a képfeltöltés is, viszont figyelni kell arra, hogy a "temp" mappa, és az alkalmazás közös partíción legyenek. (Legalább is Windows alatt biztosan.)