Tema 1: Concept/Arhitectura aplicatie web

Responsabil: Popovici Matei <pdmatei@gmail.com>
Data publicarii: 06-03-2009
Data ultimei modificari: 14-03-2009 (corectarea deadline-ului)
Deadline: 23-03-2009

Realizati un document in care:
- prezentati aplicatia web aleasa de voi, ca proiect; puteti alege din urmatoarea lista:

- magazin online (e-commerce)

- portal online (spre ex: pt firme de constructii: clasificare & categorii, prezentare-portfoliu, rating, articole/comentarii - blog)

- cms (content management system: pagina web configurabila)

- social networking (gen hi5, myspace, aplicatii similare)

- licitatii online (aplicatie pentru vandut/cumparat diverse, in sistem licitatie)

- online gaming (dupa formula unor jocuri online, insa mai simplificat, si eventual cu o structura orientativa propusa)

- aplicatie turism (stabilire/rezervare rute, locuri la hotel, etc)

- portal pentru alumni (gestiunea studentilor absolventi ai facultatii noastre)

- portal de project management


De asemenea, puteti veni cu propriile voastre sugestii. Pentru a va asigura punctajul la tema, consultati propunerea voastra cu unul din responsabilii de laborator.


- realizati o descriere a arhitecturii pentru aplicatia aleasa; (sugestie: identificati rolurile, entitatile si procesele specifice aplicatiei voastre, precum si corelari intre acestea; stabiliti componentele principale; stabiliti structura bazei de date)


- realizati o descriere a solutiei de implementare propuse; (sugestie: puteti folosi UML pentru diverse specificari;) sfaturi utile:

- grupati elementele (sau functionalitatile) cu proprietati comune; ex:

(Produse, Utilizatori, Articole) = Obiecte;

(Lista Produse, Cos Cumparaturi, Comentarii produs) = Colectii/Liste

- decuplati cat mai mult posibil modulele voastre (realizati un schimb cat mai redus de informatii intre acestea)

- alegeti solutii de reutilizare a codului, evitati sa aveti doua sau mai multe componente care executa aceeasi operatie in contexte diferite (ex: implementari diferite pentru lista produselor rezultate dintr-o cautare si lista produselor dintr-o categorie selectata, etc)

- gasiti solutii de implementare generice, care permit extinderi usoare ; ex:

o aplicatie cu obiecte structurate pe doua niveluri (categorii-subcategorii) poate dori sa se extinda in viitor la trei niveluri sau mai multe;


- anexati documentului redactat pagini HTML (alaturi de fisierele CSS folosite) care ilustreaza principalele functionalitati ale aplicatiei (modalitatea de prezentare a categoriilor, modalitatea de cautare, modalitatea de afisare a obiectelor specifice, modalitatea de modificare a contului unui utilizator, modalitatea de adaugare obiecte noi, etc); sfaturi utile:

- puneti accent pe utilizabilitate, propuneti mecanisme intuitive

- inspirati-va din aplicatii web similare cu a voastra pentru compara (si gasi) solutiile cele mai bune (pentru afisarea produselor, pentru categorii, cautari, etc)


Reguli de trimitere:


Uploadati tema voastra sub forma unei arhive denumita [Nume_Prenume_grupa].zip; Aceasta trebuie sa contina:

- un fisier README.txt (in care sa descrieti sumar ce reprezinta fiecare din documentele din arhiva);

- unul sau mai multe documente cu descrierea arhitecturii;

- fisierele .html si .css ale paginilor voastre;


OBS 1: La acordarea punctajului, nu se va tine cont de dimensiunea documentelor sau de numarul de pagini html realizate, ci de relevanta lor in descrierea aplicatiei. (este un plus daca paginile .html sunt bine structurate, si contin cod 100% valid; precizati in README daca ati verificat codul vostru HTML folosind w3cValidator; de asemenea precizati, daca este cazul, de ce maniera voastra de implementare HTML este buna, sau mai buna decat altele)


OBS 2: La acordarea punctajului (la aceasta tema, cat si la urmatoarele) se va tine cont de gradul de complexitate al aplicatiei propuse. Aplicatiile banale vor fi depunctate corespunzator.