Polecam zatem HTML/CSS do części "wizualnej", do tego JavaScript (np. logika kliencka, wykresy itp.) i w back-endzie node albo PHP. Do PHP znajdziesz chyba więcej gotowych przykładów i tutoriali, ale jeśli wybrałbyś node.js to w sumie zostałbyś w jednym języku (JavaScript).
Myślę, że Twoje potrzeby załatwi apka webowa z odpowiednim RWD, czyli dostosowaniem jej do różnych urządzeń, m.in. smarftonów, tabletów itp.
Kwestia magazynowania samych informacji to już baza danych. Ja polecam MySQL ponieważ sam z niego korzystam i jestem zadowolony, a po drugie jest bazą dość dobrze opisaną w necie i książkach. Nie pracowałem natomiast z bazami NoSQL więc nie wypowiem się co do ich zastosowania w takiej apce (ale wg mnie w tego typu systemach chyba lepsze będą jednak bazy relacyjne).
Jednakże generalnie to porywasz się na bardzo rozbudowaną aplikację... :) Proponuję najpierw napisać chociaż z 2-3 prostsze stronki np. z jakąś opcją logowania, jakimś formularzem (w tym ajax), jakąś prostą bazą (np. dodawanie i usuwanie jakiś wpisów usera itp.).
Nie porywaj się od razu na pełny system zarządzania, ponieważ możesz szybko się zniechęcić, a ponad to pewnie porobisz dużo błędów. Jeśli myślisz o poważnej nauce programowania to do takiej apki przydałby się też jakiś framework w back-endzie i coś na froncie, np. React.
A może lepiej pomyśleć nad czymś gotowym, jakimś systemem, który tylko musiałbyś odpowiednio skonfigurować pod swoje potrzeby? Na przykład stawiając bloga nie ma dziś sensu pisać jego core od zera, lepiej użyć gotowca np. wordpress, jekyll itp. i skupić się na layoucie + modyfikacjach tam gdzie to potrzebne.