Izgradnja Web Aplikacije

Ja sam donekle veliki početnik, znam osnove html-a, CSS-a, PHP-a i Jave, studiram informatiku i za zadatak sam dobio napraviti jednu Web aplikaciju. Profesor to nije dobro objasnjavao, vjezbe su bile prebrze i napravljene tako da se skoro ništa ne može naučiti. Instalirao sam server (xampp) na računalu i alat za editiranje. Bazu podataka sam dobio već napravljenu.

Zanima me kako uopće započeti s izgradnjom aplikacije, s čime krenuti, koliko je to teško i složeno?
Trebam li početi prvo s html-om (napraviti izgled stranice i to), pa onda sa php-om?
Kako da najlakše to napravim?
Naravno, moram znati svaki dio koda čemu služi da profesor zna da sam ja to radi

Ovo je zadatak:

Sustav treba omogućiti generiranje top liste pjesama na temelju glasova korisnika.

Korisnici sustava su administratori, moderatori, prijavljeni korisnici i anonimni/neprijavljeni korisnici. U sustavu postoji jedan ugrađeni administrator (korisničko ime: admin, lozinka: foi). Administrator je prijavljeni korisnik koji ima vrstu = 0.

Administrator unosi korisnike i definira moderatore, administrator može vidjeti sve preglede kao i moderator i prijavljeni korisnik.

Moderator unosi i uređuje pjesme koje je on unio, kreira i uređuje top liste, odobrava predložene pjesme za top liste kojima je on moderator. Svaka top lista je vremenski određena svojim početkom i završetkom, pjesme u top listi se prikazuju sortirano prema broju glasova, pjesma s najviše glasova je prikazana na prvom mjestu. Prije početka i nakon završetka nije moguće glasovati za neku top listu. Nakon isteka vremena top liste moguće je samo pregledavati rezultate.

Prijavljeni korisnik može pregledavati top liste, dodavati pjesme u top listu kao prijedloge (prije nego što uđu u izbor za glasovanje mora ih odobriti moderator).

Korisnici mogu glasovati za pjesme koje su odobrene za neku top listu uz ograničenje od jednog glasa po top listi. Ako korisnik pokuša glasovati više od jednom u nekoj top listi potrebno je prikazati poruku o grešci.
Za svaku pjesmu u top listi se prikazuje broj glasova i moguće je pogledati listu korisnika koji su glasovali za neku pjesmu uz vrijeme njihvog glasovanja.
Anonimni korisnik može vidjeti top liste i ispis glasova za pojedinu pjesmu ali ne može sam glasovati ni predlagati pjesme za top liste.

Pošto si upoznat s osnovama,
ako možeš preporučio bi ti korištenje nekog razvojnog okvira za PHP da ne moraš baš sve samostalno raditi od nule:

http://codeigniter.com/
je vrlo jednostavan za proučiti (2-3 dana) i on će ti omogučiti da to izradiš kvalitetno s najmanje muke.

Kreni po
http://codeigniter.com/user_guide/
gdje se prikazuje primjer izrade jednostavne Blog aplikacije.

ako radiš u javi

1.skini glassfish
2.skini eclipse
3.skini dodatne module za eclipse koji ti trebaju
4.napravi bazu
5.počni raditi aplikaciju

ako radiš u php-u
1.skini wamp
2.skini neki IDE za php, eclipse podržava php preko pluginsa
3.napravi bazu
4.uzmi neki framework
5.počni raditi aplikaciju

lijepo vam je rekao da je bazu dobio. počni praviti najjednostavnije upite prema bazi, pokrenuo si xampp znači imaš server, bazu i možeš se pozabaviti prikazom podataka iz baze kako ti je profesor rekao. ako nekome nije jasno neka ide studirati pravo.

Informacije radi, za što si dobio taj zadatak?

Kakva je struktura baze?

Hvala puno na odgovorima, probao sam codeigniter i mislim da će mi to jako skratiti vrijeme izgradnje aplikacije, ali i najvažnije stvarno olakšati.

Bazu podataka već imam tako da ju ne moram stvarati, ali nemam upite (samo neke primjere upita) pa njih naravno moram raditi sam.

Projektni zadatak sam dobio kao dio ispita, znači moram napraviti točno takvu aplikaciju kakvu nam je profesor zadao, a onda ju usmeno i obraniti tako što moram znati svaki dio koda jer ide dosta u detalje.

No imam još jedno (možda glupo pitanje), zanima me moram li npr. napraviti pomoću html-a tablicu u kojoj ću pomoću php-a povezati rezultat nekog upita iz baze podataka (npr. popis pjesama) ili se to napravi pomoću php-a i to izgleda dobro?

Problem je u tome što znam i html i php, ali ne znam to (slabo) znanje primjeniti na projekt? Ne znam kako krenuti sa svim tim, kako da definiram izgleda stranice i onda u to ubacim php, znači ne znam to sve napraviti tako da bude spojeno u cjelinu.
Nadam se da su moja pitanja razumljiva.

Evo kao primjer kako bi ta aplikacija trebala izgledati dajem link od projekta koji su imali studenti prošle godine (tako bi otprilike trebao izgledati i moj projekt), znači ništa previše specijalno, ali funkcionalno):

Aha evo i slike strukture baze podataka, a ako treba mogu i uploadati i sql datoteke koje nam je profesor poslao.

[ATTACH]1848[/ATTACH]

Što se tiče upita, vjerojatno si primijetio da Codeigniter ima ugrađenu “Active Records” funkcionalnost za generiranje upita pomoću objekata tako da ih ni ne moraš pisati ručno.

vidi Active records

Najbolje da odvojiš logiku prikaza i aplikacijsku logiku korištenjem MVC arhitekture.

znači primjerice ovime dohvatiš sve podatke u tablici ‘mytable’, najbolje da to staviš u model, a za početak možeš i u controller radi jednostavnosti:

$query = $this->db->get('mytable');

nakon toga te podatke predaš u view, primjerice:

$data['moji_podaci'] = $query->result();
$this->load->view('content', $data);

dok u view dio staviš html i tu logiku za prikaz, tako za tablicu:

<table>
<?foreach ($moji_podaci as $row):?>
<tr>
<td><?echo $row->title;?></td>
</tr>
<?foreach;?>
</table>

Uglavnom, prođi kroz cijeli user_guide, tamo je sve vrlo detaljno i jednostavno opisano.

Hvala puno webmonkey,

najteže mi je bilo krenuti, pogledao sam user guide i stvarno Codeigniter olakšava stvari, samo trebam to sve proći i to je to.