NodeJS, ExpressJS, MongoDB, ReactJS

NodeJS, ExpressJS, MongoDB, ReactJS
MA
  • Rejestracja:ponad 17 lat
  • Ostatnio:prawie 5 lat
0

Cześć wszystkim.

Na chwilę obecną nauczyłem się podstaw dotyczących javascript, reactjs, nodejs, mongodb, express.
Mam następujący problem. Interesuje mnie stworzenie jakiejś prostej apliakcji typu todo wykorzystując te wszystkie rzeczy tworząc można powiedzieć full stack.
Jak chodzi o moją osobę niestety lub stety bardziej uwagę przykładam do kompozycji, wyglądu itd, typowo frontend.
Problem jest taki, że ucząc się Express pracowałem na przykładach w których omawiano layouty w których napisanie czegoś tą dziwną składnią jest cholernie słabe.
Albo na moim poziomie nie potrafię jeszcze wykorzystać potencjału tych layoutów albo po prostu są słabe. Pewnie opcja numer dwa.

Nie ważne... Chciałbym połączyć wiedzę, ponieważ pokochałem reactjs. Widziałem kilka filmów pokazujących jak coś takiego zrobić lecz zastanawiam się w praktyce jak hostować.
Przy kursie używaliśmy heroku do wrzucenia apki na expressie.
W trybie deweloperskim mogę odpalić dwa serwery na dwóch różnych portach. Prosty back end i drugi serwer pod react. Natomiast jak to w praktyce najlepiej robić, gdzie hostować za darmo w ramach nauki itd. Pomożecie ? Jak połączyć wiedzę i móc wykorzystywać ReactJS, bo to interesuje mnie najbardziej, z bazami danych ?

JS to najlepszy język programowania na jaki trafiłem, na nodejs a dokładnie na to co oferuje i jakimi paczkami dysponuje powoduje niedowierzanie. Jest to cudowna technologia i choć tego typu proste projekty typu todo robiłem w php chwila moment a tutaj trzeba się trochę namęczyć to i tak nie zniechęca mnie to w żaden sposób bo nieprzeładowywanie strony i możliwości jakie dają te rzeczy są cudowne.

Właściwie w ReactJS robi się build ale brakuje mi nakierowania w praktyce jak to najlepiej wszystko robić. Jakieś porady? Wskazówki? Będę mega wdzieczny.

Dzięki z góry za każdą odpowiedź kochani.

edytowany 1x, ostatnio: malyprogramista
PH
o co ty się pytasz? nie musisz nigdzie hostować jeśli się uczysz.
MA
Dziękuję za złotą radę :) Nie spodziewałem się na prawdę takiej odpowiedzi. Przecież to robię, nie pytał bym o coś takiego na forum. Spytałem wyraźnie jak połączyć backend z frontendem oraz jak testować to w sieci.
PH
możesz zobaczyć ten projekt, jak jest wszytko połączone https://github.com/bartek-fecko/fullstackapp
Haskell
  • Rejestracja:prawie 10 lat
  • Ostatnio:11 miesięcy
  • Postów:4700
0

Może jeszcze frytki do tego? Masz wszystko w Internecie, szukałeś? Chcesz za darmo, ale nawet nie chce ci się zainwestować czasu w zajrzenie w Googla? Powodzenia z takim nastawieniem.

Darmowe zasoby na zawsze lub na ograniczony czas możesz znaleźć w chmurach obliczeniowych. Heroku też oferuje darmowe zasoby i podobno używałeś, więc w czym problem?

Natomiast jeżeli chodzi o połączenie Node i React to nie jest to rocket science. Wystarczy postawić serwerek REST lub Graphql w Node, a w React się z nim połączyć.


Zaglądali do kufrów, zaglądali do waliz, nie zajrzeli do d**y - tam miałem socjalizm. Czesław Miłosz
ON
Wydaje mi się, że autor tego posta nie szuka takiej odpowiedzi. Jeśli nie masz ochoty odpowiadać to po prostu tego nie rób i tyle.
MA
  • Rejestracja:ponad 17 lat
  • Ostatnio:prawie 5 lat
0

Chłopak, to też wiem. Czy na prawdę proszę o cuda prosząc o kilka zdań jak to wygląda w praktyce? Serwer na heroku stawiałem tak jak napisałem, pytam jak dodaje się frontend. Dla kogoś doświadczonego jest to kilka sekund i kilka zdań żeby pomóc ale tu chyba więcej hejtu jak pomocy, czuje się jakbym poprosił o napisanie dla mnie przez was conajmniej całej aplikacji, żenada chłopaki. Wrzucałem apke na heroku w której korzystałem z layoutów do expresa w których zrobienie czegoś ładnego mija się z celem, prosiłem tylko o nakierowanie. W necie znalazłem pare filmów owszem ale na localhost a nie gdzie to hostować i jak to zespolić razem w całość. Jeżeli masz dawać tego typu odpowiedzi kolego to nie pisz w cale, czujesz się niespełniony i masz żal do życia to wyjazd hejterze :)

.__.
  • Rejestracja:ponad 5 lat
  • Ostatnio:prawie 5 lat
3

"Chłopak", dostałeś pomoc od @phanc mimo, że słabo go potraktowałeś, a @Haskell to już całkiem został wdeptany w ziemie, bo nie podał wszystkiego na tacy :D Programowanie to w głównej mierze umiejętność wyszukiwania informacji, a skoro nie ogarniasz takiej podstawy, to może nie nadajesz się do tej roboty. Chyba, że spokorniejesz, to wróć z konkretnymi pytaniami, bez nadmiaru zbędnych informacji (serio, to mało istotne jak bardzo podoba Ci się javascript) i na pewno otrzymasz satysfakcjonującą odpowiedź.

Haskell
  • Rejestracja:prawie 10 lat
  • Ostatnio:11 miesięcy
  • Postów:4700
3
malyprogramista napisał(a):

wyjazd hejterze :)

LOL chyba nie rozumiesz co to jest hejt w Internecie. Powiem ci tylko, że odzywając się w taki sposób do innych, nie masz co liczyć na pomoc. Tymczasem my serio jesteśmy pomocni, rzuć okiem na inne wątki. Jeżeli tutaj nie dostaniesz pomocy to tylko z własnej winy. Powodzenia i ja "wyjeżdżam" zgodnie z życzeniem.


Zaglądali do kufrów, zaglądali do waliz, nie zajrzeli do d**y - tam miałem socjalizm. Czesław Miłosz
Freja Draco
Freja Draco
  • Rejestracja:około 7 lat
  • Ostatnio:ponad 3 lata
  • Postów:3394
0
malyprogramista napisał(a):

kolego to nie pisz w cale

Być może Haskell pisze w cale ale Ty ewidentnie lecisz w kulki :p


edytowany 1x, ostatnio: Freja Draco
CO
CO
  • Rejestracja:prawie 7 lat
  • Ostatnio:prawie 5 lat
  • Postów:92
2

@malyprogramista: jezeli miales jakies zludzenia zwiazane z uzyskaniem jakiejkolwiek pomocy lub wsparcia na tym forum, niestety zostales (jak wielu innych zreszta) brutalnie ich pozbawiony. To forum od dawna funkcjonuje jedynie jako towarzystwo wzajemnej adoracji (tutaj nastepuje szereg niecenzuarlnych slow) z przerosnietym ego, ale wracjac do tematu ...

Jestem php-owcem, ale z racji corona-wolnego-czasu przy okazji integracji websockets zaczalem rowniez pare dni temu przygladac sie js-owemu podejsciu. To zaledwie 2-3 dni lektury, ale z tego co widze (mam nadzieje, ze ktos, tym razem normalny mnie poprawi jesli sie myle) to czy nie jest tak, ze nasza konfiguracja webpack (chwilowo odpuscmy sobie typescript):

Kopiuj
const path = require('path');

module.exports = {
  entry: './src/index.js',
  output: {
    filename: 'main.js',
    path: path.resolve(__dirname, 'dist'),
...
  },
...
}

wskazuje na index.js jako entry point, ktore z kolei kompilowane jest do outut'u w postaci main.js, a main js ladowane jest przez index.html:

Kopiuj
<!doctype html>
<html>
  <head>
    <title>Getting Started</title>
  </head>
  <body>
    <script src="main.js"></script>
  </body>
</html>

tutaj zatem konczy sie cala robota na frontendzie.
Pytales o ladowanie danych z backend'u na strone. Wiec z tego co widze wspomniany index.html jest przeciez ladowany przez nodejs/expressjs jako widok, do ktorego spokojnie wstrzykujesz sobie dane pobrane z bazy danych. Nie sprawdzalem tego w praktyce bo tak jak juz mowilem, jedynie przejrzalem sobie kilka stronek, ale mam wrazenie, ze chlyba tak to powinno byc zorganizowane.

Hope it helps :)

MA
  • Rejestracja:ponad 17 lat
  • Ostatnio:prawie 5 lat
0

@Constantic

dziękuje, przeanalizuję to. Potrafię robić Route'y serwera itd. Tak samo jak w react potrafię przeskakiwać pomiędzy adresami i wysyłać/odbierać dane z serwera na node :)
Będę musiał spróbować wstrzyknąć frontend do backendu. W żadnym kursie tego nie miałem a w internecie znalazłem tylko komunikację pomiędzy nimi której właśnie z internetu już się nauczyłem.

Prosiłem tylko o więcej informacji jak to w praktyce wygląda żeby scalić front i back end razem na jednym serwerze ale proszę o zbyt wiele, wszystko chcę na tacy...
Żałosne są niektóre komentarze i nie wiem po co ktoś wypowiada się pod postem skoro nie chce pomóc. Macie tak dużo czasu żeby pisać takie posty? Później się dziwicie, że się ktoś gotuje albo stwierdzacie, że ma wysokie a sami przyczyniacie się do niektórych zachowań internetowi cwaniacy :)

Dzięki Constantic jeszcze raz :)

Freja Draco
Freja Draco
  • Rejestracja:około 7 lat
  • Ostatnio:ponad 3 lata
  • Postów:3394
2

Jest mnóstwo osób, które otrzymały tutaj pomoc. Sama swego czasu aktywnie pomagałam, a kilkukrotnie prosiłam o jakąś pomoc i zwykle ją otrzymywałam.

Istnieje też roszczeniowa grupa osób z pretensjami.

Zdecydowanie pomaga:

  • zwięzłe przedstawienie problemu bez popadania w zbędne dygresje,
  • pokazanie, co się samemu do tej pory zrobiło,
  • nieubliżanie dyskutantom.

CO
Constantic
@Freja Draco: przejrzyj sobie skarbie tematy, obojetnie w jakim dziale i zwroc uwage ile jest odchaczonych jako rozwiazane. Uprzedzajac ewentualny argument jakim jest brak wdziecznosci lub zaniedbanie pytajacych, zastanow sie czym taki brak wdziecznosci jest spowodowany. Jedyna rzecza na jaka mozna liczyc na tym forum to uczestnictwo w kolejnej gowno-burzy, ktorej zalazkiem moze byc min wyraz twojego swietego oburzenia kochanie :)
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)