• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

WIELKI projekt w technologiach webowych [PORADY DOŚWIADCZONYCH KODERÓW]

+2 głosów
280 wizyt
pytanie zadane 20 maja 2015 w HTML i CSS przez kukonik Nowicjusz (170 p.)
edycja 20 maja 2015 przez kukonik

Jestem studentem elektrotechniki i postanowiłem przebranżowić się na programistę. Przede mną wybór pracy magisterskiej i zdecydowałem, że chcę stworzyć na uczelni platformę naukową mojej specjalności. 
Polegałaby ona na tym, że prowadzący zajęcia wrzucaliby na nią: materiały, wyniki kolokwiów, oceny ze sprawozdań oraz oferty stażów i projektów. Wszystko w jednym miejscu, oszczędność czasu dla całych pokoleń studentów. Wszystko posegregowane w zależności od typu wrzucanych plików, przedmiotu. Studenci również byliby zalogowani na tej platformie, gdzie mieliby dostęp do własnego forum, niewidocznego dla prowadzących oraz uzupełnialiby anonimowe ankiety w których mogliby sugerować prowadzącym co powinni zmienić.

Domyślam się, że bardzo ważna jest organizacja pracy.  I tu pojawia się moje pytanie, ponieważ nie mam większego doświadczenia przy tak dużych projektach:
- od czego zacząć?
- HTML, CSS, PHP, MySQL, JavaScript czy może jeszcze jakieś inne technologie?
- jak zorganizować sobie pracę by była jak najbardziej efektywna?
- na uczelni mamy dostęp do wielu licencji bardzo drogich programów czy polecicie jakikolwiek?

Jestem laikiem, dopiero zaczynam. Umiem programować w C++ i JAVIE i chciałbym nauczyć się czegoś innego.

Bardzo proszę o konkretne porady!
Pozdrawiam!

EDIT: Mam na zrobienie takiej platformy 400 dni.

4 odpowiedzi

+5 głosów
odpowiedź 20 maja 2015 przez Comandeer Mentor (460,240 p.)

Rzeknę tak: w tym projekcie jest tylko jedna rzecz naprawdę trudna - rozplanowanie bazy danych. Wszystko rozbija się o zależności pomiędzy wykładowcami a ich przedmiotami, przedmiotami a ocenami, studentami a ocenami… do tego dochodzi rozbudowany system uprawnień (wykładowca może zmieniać oceny, student może je tylko oglądać; równocześnie obydwoje mogą zaglądać tylko do swoich przedmiotów) i problem ze skalowalnością (jak się wszyscy studenci rzucą sprawdzać kolokwium, to system musi to wytrzymać). Najtrudniejsze jest rozplanowanie tego we właściwy sposób - sama implementacja przy tym to pikuś. Nie wiem czy jeśli nie miałeś wcześniej do czynienia ze SQL, to będziesz w stanie ogarnąć taką bazę.

Jeśli chodzi o sam wybór technologii:

  • backend chyba najprościej wykonać w PHP; jak chcesz się naprawdę pobawić to zawsze zostaje Python lub RoR. o node.js/io.js wystarczy Ci na razie wiedzieć, że istnieją, bo przy asynchroniczności byś się pociął ;)
  • serwer - proponuję nginx, bo w teorii powinien być szybszy niż Apache
  • baza danych - MySQL albo PostgreSQL. Do pierwszego znajdziesz o wiele więcej tutoriali i wsparcia, ale za to postgres ma więcej możliwości (np to najlepsza baza NOSQL wśród baz SQL ;)) - chociaż równocześnie jest bardziej upierdliwy.

Programy… Hmm - ja bym skrobał to w ST/Brackets/Atom ;) Jak uczelnię stać, to może phpstorm?

Przy tym projekcie z 85% czasu spędzisz rysując sobie bazę danych i rozplanowując system. Reszta to implementacja systemu i testowanie tego. Chociaż prawdę mówiąc nie wiem czy to nie za duże wyzwanie jak dla laika - zwłaszcza w SQL.

komentarz 20 maja 2015 przez kukonik Nowicjusz (170 p.)
Sprawa jest jeszcze prostsza, wykładowca tylko wrzuca wyniki do odczytu. Chciałbym by system wyglądał jak na tej stronie:
https://www.eaiib.agh.edu.pl/studia,informacje-dla-studentow.html
Wykładowcy wrzucają i najnowsza informacja pojawia się na górze, oczywiście dostępna jest również opcja filtrowania po przedmiotach aby nie było bałaganu.
Specjalność liczy aktualnie 22 osoby a maksymalnie może liczyć 30 osób.

Mam około 400 dni na stworzenie tej platformy. Chcę by wyglądała profesjonalnie i działa bez zarzutu. Mam bardzo nikłe doświadczenie w technologiach webowych (tyle, ile nauczyłem się na kanale Pana Mirosława). Chcę dobrze rozplanować swoją pracę bo wiem, że dobra organizacja pozwoli zaoszczędzić setki godzin cennego życia.

Bardzo Ci dziękuję za odpowiedź.
komentarz 20 maja 2015 przez Comandeer Mentor (460,240 p.)
No to faktycznie sprawę to ułatwia… Niemniej plan działania pozostaje w głównej mierze ten sam ;)
+3 głosów
odpowiedź 20 maja 2015 przez ArturB Mądrala (6,060 p.)
1. Ja bym zaczął robienie tego projektu od poznania w teorii baz danych,  tabele i relacje między nimi. Może warto skorzystać z tej strony: http://www.sqlpedia.pl/kurs-sql/ nie wiem jak poszczególne rozdziały są tam opisane, ale to co patrzyłem to było napisane zrozumiałym językiem - przynajmniej dla mnie. Jednocześnie bym wypisywał na kartce co ta aplikacja ma robić, np w punktach.

2. Następnie bym przygotował sobie ołówek/gumkę/kartki (np A3) aby rozplanować tą bazę danych zanim będziesz ją wklepywał na komputer - na to bym poświęcił więcej niż jeden dzień aby wszystko dobrze przemyśleć.

3. Jak robisz w PHP to jak połączyć bazę z PHP. Przy okazji zdobywania nowej wiedzy możesz wpaść jak poprawić baze którą masz na kartce.

4. szkicujesz schemat strony i przenosisz go do HTML z prostymi stylami (dobrym wyglądem zajmiesz się później)

5. Łączysz prosty szablon strony z PHP i masz działającą aplikację.

6. Możesz dopieszczać wygląd i jak starczy czasu to dodawać JS.

W wielkim skrócie ja bym tak się za to zabrał.
+2 głosów
odpowiedź 20 maja 2015 przez gromula Stary wyjadacz (10,150 p.)
Widzę kolejna osoba z takim projektem zachęcam, może połączymy siły.

 

http://forum.miroslawzelent.pl/21575/wspolny-projekt-aplikacji-webowej
+1 głos
odpowiedź 20 maja 2015 przez testerius Pasjonat (24,020 p.)
Jeśli jesteś laikiem, dopiero co zaczynasz to wykonanie takiego projektu będzie trudne. Na początku dobrze abyś poznał HTML, CSS - po to aby strona jakoś w miarę wyglądała, możesz przy okazji pomóc sobie jakimś frameworkiem typu Bootstrap, Foundation aby nie klepać wszystkiego od zera. No i oczywiście JS do jakiś efektów, interakcji z użytkownikiem. To wszystko zamyka się w frontend, od strony backendu masz różne języki PHP, Ruby, w Java i C# chyba też się da coś tam pisać, Python... nie wspominająć o dodatkowych frameworkach, które przyspieszają i ułatwiają prace. Najprościej jednak będzie chyba skorzystanie z PHP, choć no to wszystko zależy w czym się lepiej czujesz i czy w ogóle masz odpowiednią wiedzę.

"Bardzo drogie programy" praktycznie zawsze da się zastąpić darmowym, czasem lepszym i tworzonym przez społeczność otwartym oprogramowaniem. Sprecyzuj konktetnie o co ci chodzi, bo jeśli o edytory, IDE i tego typu sprawy to nie ma to aż tak dużego znaczenia, równie dobrze kod można pisać w zwykłym notatniku, ale... nikt tego nie robi, bo po co się męczyć i cofać. :P

Duże projekty zazwyczaj tworzy się w zespole, samemu jest trudno, tak więc na początku poleciłbym stworzenie czegoś mniejszego i ewentualnie rozwijanie to do większego projektu lub znalezienie kogoś do pomocy.

Podobne pytania

0 głosów
3 odpowiedzi 207 wizyt
pytanie zadane 13 września 2015 w HTML i CSS przez survivales11 Nowicjusz (160 p.)
0 głosów
1 odpowiedź 166 wizyt
pytanie zadane 3 lutego 2017 w Java przez K0XM4N Gaduła (3,600 p.)
0 głosów
0 odpowiedzi 60 wizyt
pytanie zadane 13 maja 2018 w Nasze projekty przez OdsetekGlupoty Stary wyjadacz (14,250 p.)
Porady nie od parady
Odznacz odpowiedź zieloną fajką, jeśli uważasz, że jest ona najlepsza ze wszystkich i umożliwiła ci rozwiązanie problemu.Najlepsza odpowiedź

66,324 zapytań

113,061 odpowiedzi

239,220 komentarzy

46,589 pasjonatów

Przeglądających: 259
Pasjonatów: 14 Gości: 245

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...