Witam.
Nie wiem czy to dobry temat, na takie pytanie, ale przymierzam się do napisania pewnego projektu.
Projekt ten będzie swego rodzaju "forum edukacyjnym" dla studentów pewnej uczelni, w którym to będą znajdować się takie rzeczy jak:
- Możliwość rejestracji/logowania/wylogowywania, a także uprawnienia dla poszczególnych grup użytkowników
- Możliwość edycji swoich informacji dot. konta
- Specjalnie wydzielona strefa dodawania i edycji "artykułów" dla jednego z typów użytkowników (coś ala taki mini CMS)
- Możliwość wysyłania prywatnych wiadomości między użytkownikami
- Wspomniane forum, na którym będzie można zakładać/dodawać tematy, edytować je, wgrywać załączniki. Tematy te będą różne, od takich zwykłych jak chociażby ten, ale będą też takie specjalne, gdzie będzie można tylko wgrać plik (jeśli ktoś korzystał z systemu Moodle, to jest coś podobnego do wgrywania rozwiązania zadania)
Wstępnie szkic projektu mam. Problem pojawia się u mnie w technologiach. Jestem początkującym programista, który dopiero będzie ruszał w poszukiwanie pracy jako junior. Chciałem więc napisać to, w tych technologiach, które poznalem:
- na początku myślałem o pisaniu szkieletu strony i stylów w czystym htmlu i css z scssem, ale chyba to trochę niezbyt pasuje. Pomyślałem więc o Reactcie, którego mam solidne podstawy, albo o Angularze którego mógłbym się w międzyczasie nauczyć. Może webpack by się tu też sprawdził, chociaż tutaj musiałbym się trochę poduczyć.
- w projekcie musi być baza danych, która będzie zbierać tak naprawdę wszystko - użytkowników, ich tematy, ich odpowiedzi, ich załączniki, ich uprawnienia itd. więc pomyślałem o połączeniu poprzez node.js z bazą z MySQL server
- jednocześnie z pomysłem powyżej, kłóci się trochę system prywatnych wiadomości. Wyczytałem, że można coś takiego zrobić w PHP łącząc to z bazą danych sql, ale czy istnieje może jakiś framework który by to ogarnął, bez narzucania mi backendu w PHP? Większość jakie znalazłem, pokazują jak zrobić coś w stylu chatu na żywo.
- jeśli chodzi o ten mini CMS jak go nazwałem, to myślałem po prostu o przyciskach, które po kliknięciu wywołaja jakaś funkcje, która będzie jednocześnie połączona z bazą danych (zmiana/aktualizacja rekordu z tematem/odpowiedzią) i z czynnością w JSie.
To są takie moje wstępne propozycje. Co o nich sądzicie? Coś da radę zrobić lepiej, wybrać lepsza technologie? Chciałbym poznać zdanie bardziej doświadczonych programistów w tej kwestii.
Czas na zrobienie tej aplikacji nie jest specjalnie długi. Chciałbym to zrobić najpóźniej do końca października. Myślicie, że jestem w stanie wyrobić się z tym w takim czasie? Ciekawi mnie jak oceniacie skomplikowanie tego projektu.
Z góry dziękuję za wszystkie odpowiedzi.
tsz