simplexpense-prezi

19
Költségnyilvántar tó keretrendszer .NET alapon Konzulens: Asztalos Márk

Upload: barna-trajber

Post on 08-Jan-2017

69 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SimpleXpense-prezi

Költségnyilvántartó keretrendszer

.NET alaponKonzulens: Asztalos Márk

Page 2: SimpleXpense-prezi

Traj

ber B

arna

2

Tartalom• Specifikáció

Funkciók Architektúra

• Felhasznált technológiák• Megvalósítás

Adatbázis Szolgáltatás Kliens alkalmazások

Mobil kliens Web kliens

• Összefoglalás Továbbfejlesztési lehetőségek 20

14.0

6.16

.

Page 3: SimpleXpense-prezi

Traj

ber B

arna

3

Specifikáció• Felhasználók kezelése

Egyszerű felhasználó Adminisztrátor

• Tranzakciók Összeg, Valuta, Típus, Dátum, Kategória, [Fizetőeszköz, Megj., Helyszín]

• Fizetési kategóriák Bevétel (jövedelem, …) Kiadás (élelem, ruházat, egészség, …) Semleges (ajándék, …)

• Fizetőeszközök Kp., bankkártya, hitelkártya, egyéb

• Kimutatás Kategóriák szerint Bevétel/kiadás szerint

• Valuta konvertálás

2014

.06.

16.

Page 4: SimpleXpense-prezi

Traj

ber B

arna

4

Specifikáció - Architektúra

2014

.06.

16.

https://openexchangerates.org/

RESTful szolgáltatás, JSON adatok:

{ "timestamp": 1319730758, "base": "USD", "rates": {

"AED": 3.672626, "AFN": 48.3775, "ALL": 110.223333, "AMD": 409.604993, /* 160 fx rates available

*/ "ZMK": 4954.411262, "ZWL": 322.355011 }

}

Page 5: SimpleXpense-prezi

Traj

ber B

arna

5

Felhasznált technológiák• Adatbázis

MSSQL

• Szolgáltatás WCF

• Kliens alkalmazások Mobil kliens: Windows Phone 8

Csomagok: PropertyChanged.Fody Windows Phone Toolkit AppBar Utils Coding4Fun Toolkit

Web kliens: ASP.NET MVC 4 Bootstrap Telerik Kendo UI

2014

.06.

16.

Page 6: SimpleXpense-prezi

Traj

ber B

arna

6

Megvalósítás - Adatbázis

2014

.06.

16.

Page 7: SimpleXpense-prezi

Traj

ber B

arna

7

Megvalósítás - Szolgáltatás

2014

.06.

16.

• WCF szolgáltatás IIS host-olt BasicHTTPBinding kötés a végpontok között

Mobil klienseknek kedvez (WP8, iOS, Android)

• Megvalósítja az üzleti logikát Adatbázis kontextus

Külön projektben Adatbázis Code First technikával létrehozva Lazy loading kikapcsolva (WCF miatt)

Interfész ServiceContract (ExpenseService.svc van kiajánlva a klienseknek) Parciális interfészek funkciók szerint csoportosítva

Implementáció Interfész megvalósítása parciális fájlokban

OperationContract metódusok Egyedi visszatérési típusokhoz DataContract-ok létrehozása Adatbázis műveletek

LinQ to Entities lekérdezések 1 adatbázis kontextus Dispose minta szerint szabadul fel

Page 8: SimpleXpense-prezi

Traj

ber B

arna

8

Megvalósítás – Mobil kliens

2014

.06.

16.

• Windows Phone 8 platform• MVVM minta alkalmazása

ViewModel-ek némelyike PropertyChanged.Fody használatával

• Felület METRO elveknek megfelelően• Egyéni grafikus komponens (vezérlő) a kimutatáshoz

Silverlight/WPF kompatibilis

• Felhasználó kezelés Megjegyzi a belépett felhasználót Isolated Storage-ban tárolja a sikeresen bejelentkezett felhasználó adatait

• Egyedi funkciók Új tranzakció felvételekor

Helymeghatározás (opc.) Fotó készítés (opc.)

Lokalizáció (angol/magyar) Valós időben LocalizedStrings osztály

Hozzáférést biztosít a név-érték párokban megadott erőforrásokhoz (fordításokhoz) Kibővítve, hogy implementálja az INotifyPropertyChanged interfészt

Page 9: SimpleXpense-prezi

Traj

ber B

arna

9

Mobil kliens

2014

.06.

16.

Panoráma főoldal

Bejelentkezés – Jelszó emlékeztető

Page 10: SimpleXpense-prezi

Traj

ber B

arna

10

2014

.06.

16.

Kimutatás Valuta átváltás Tranzakció részletei Új kategória felvétele (admin)

Page 11: SimpleXpense-prezi

Traj

ber B

arna

11

Megvalósítás – Web kliens

2014

.06.

16.

• ASP.NET MVC 4 keretrendszer alapokon• Modell (Model)

Szolgáltatás biztosítja

• Felület (View) HTML5

HTML helperek LocalStorage használata

Reszponzív design Bootstrap és Kendo UI támogatással

AJAX-osan betöltődő parciális nézetek

• Vezérlők (Controllers) BaseController a többi Controller őse

Felhasználó adatainak tárolása Jogosultság kezelés

Kérések előtt ellenőrzi, hogy be vagyunk-e lépve OnActionExecuting override (IActionFilter)

Többi vezérlő kommunikál a szolgáltatással és kiszolgálja a nézeteket

• Felhasználó kezelés Típusos Session kezeléssel

Page 12: SimpleXpense-prezi

Traj

ber B

arna

12

Web kliens

2014

.06.

16.

Főoldal

Page 13: SimpleXpense-prezi

Traj

ber B

arna

13

2014

.06.

16.

Kimutatások

Page 14: SimpleXpense-prezi

Traj

ber B

arna

14

2014

.06.

16.

Új tranzakció Tranzakció áttekintő

Valuta konvertálás

Új kategória (admin)Kategóriák

Page 15: SimpleXpense-prezi

Traj

ber B

arna

15

Összefoglalás

2014

.06.

16.

• Elért eredmények Kapcsolódó .NET technológiák megismerése Adatbázis kialakítása Stabil WCF szolgáltatás

Platform független Kliensek (ASP.NET MVC, WP8)

Letisztult, átlátható felület Újabb kliensekkel bővíthető (pl. Java, iOS, Android)

Valóban használható költségnyilvántartó keretrendszer jött létre

• Továbbfejlesztési lehetőségek Megnövelt biztonság Optimalizáció

Mobil hálózati forgalom csökkentése Új funkciók

Ismétlődő tételek Hatékonyabb vállalati támogatás

Részletesebb szűrési lehetőségek Másfajta kimutatások

Page 16: SimpleXpense-prezi

Traj

ber B

arna

16

2014

.06.

16.

Köszönöm a figyelmet!

Page 17: SimpleXpense-prezi

Traj

ber B

arna

17

Kérdések• Biztonság?

Jelenleg BasicHttpBinding WCF kötés a szolgáltatás és kliensek között Windows Phone 8 kliens csak ezt támogatja HTTP és HTTPS felett Text és MTOM kódolás

WsHttpBinding Jobb lenne, mert alapértelmezetten titkosított SOAP üzenetek WS-* támogatás: WS-Addressing, WS-Security and WS-ReliableMessaging WP8 kliens nem támogatja

Megoldás Felhasználók védelme: Jelszó MD5 hash-elten kerül a szerverhez Biztonság növelése

HTTPS végpontok (kliens és szerver is) Biztonságos BasicHttpBinding használat

TransportWithMessageCredentials biztonsági opció bekapcsolása a WCF konfigurációban

Kliens oldali titkosítás (tranzakciók és felhasználói adatok)

2014

.06.

16.

Page 18: SimpleXpense-prezi

Traj

ber B

arna

18

Kérdések• Hogyan működik kisvállalati környezetben a

költségnyilvántartás? Van lehetőség mondjuk cég szinten összegezni a havi költségeket? Céges felhasználói fiók

Kimutatás szűrési lehetőségek: minden tétel mutatása, évenkénti, havi, heti, napi tételek

Web kliens: kör és oszlopdiagram a kategóriánként csoportosítva Mobil kliens: kördiagram kategóriánként csoportosítva

Hatékonyabb vállalati támogatáshoz Új felhasználói szintek (alkalmazott, főnök) Lekérdezhető és összesíthető legyen az alkalmazottak által bevitt tétel Ügyfelek szerinti csoportosítás

2014

.06.

16.

Page 19: SimpleXpense-prezi

Traj

ber B

arna

19

Kérdések• Értékesítés?

Főleg technológiai ismerekedés, tanulás céljából készült Mobil kliens Windows Phone Store-ba? Sikeresebb értékesítéshez

Új funkciók: ismétlődő tételek, együttműködő fiókok Megnövelt biztonság Hálózati forgalom optimalizálás (mobil kliensnél fontos)

2014

.06.

16.