Produs saas de genul Clickup/Asana pe PHP/NodeJS - Mysql/MongoDB

Buna,
Doresc sa creez un produs saas, ceva de genul ca Clickup/Asana. Am inceput backend-ul sa-l creez in PHP/Laravel si baza de date MySQL, adica in ceea ce ma pricep eu cel mai bine. Doar ca in ultimul timp imi vin ganduri sa-l fac in NodeJS cu Express si baza de date MongoDB.

  • Voi ce tehnologii recomandati pentru un asemenea produs?
  • Sau cum vedeti repartizarea tehnologiilor per functional anume pe sectorul backend ?

Am scris aici din cauza ca poate cineva are experienta si cunoaste mai bine cum sta treaba cu asa proiecte mari si mi-ar putea oferi ceva sfaturi utile.

2 Likes

in ce sens “iti vin ganduri”?

in principiu il faci cu ce te pricepi, LAMP e destul de matur cat sa duca un proiect de genul cu zeci de mii de utilizatori.

3 Likes

In sens ca mongodb este mai rapid si mai flexibil. Multumesc pentru raspuns.

Nu vad ce rost are, daca vrei sa inveti fa backend-ul cu graphql si frontend-ul cu vue/react/angular.

MySQL este o baza de date foarte ok pentru un incepator, ai cele mai bune unelte gratuite, cu Mongo sau PostgreSQL o sa iti prinzi urechile. Mongo te omoara cu query-urile de cautare, PostgreSQL te pune sa citesti documentatie la greu ca sa intelegi ce si cum, respectiv uneltele sunt vai de capul lor. Pentru GraphQL pui un ORM peste MySQL, de exemplu https://www.prisma.io si din php accesezi direct graphql si returnezi graphql.

Eventual ar mai fi o optiune Firebase cu Angular (faci totul cu pipe-ul de async pe datele care vin din Firebase), intr-o saptamana, doua poti ajunge la o copie de Asana.

1 Like

Ce ai in vedere aici ?

  1. Aici e problema cu limita, apoi trebuie sa achiti daca intreci limita, nu prea este convenabil.
  2. Este de tip NoSQL , ca mongodb, atunci de ce sa nu folosesc mongodb la mine pe server?

Aici nu merge vorba doar de experienta mea, mai mult pun accent pe ce tehnologii este mai bine de inceput un asemenea proiect.

  1. Vrei sa faci un produs sau vrei sa inveti ?
  2. Daca faci un produs, nu te baza pe planuri free - sunt ok pentru development, in productie le vei depasi si vei avea nevoie de support.
  3. Nu te lua dupa hype/trend, e mai important sa te bazezi pe ce cunosti tu - cand o sa ai o problema in productie ce faci ?
1 Like

Vreu sa fac un produs. Am experienta 6 ani in PHP/MySQL.
Mulțumesc pentru raspuns.

1 Like

Din cate stiu eu, optimizarea prematura nu e cea mai stralucita idee. In plus, nosql necesita un alt mod de abordare arhitecturala, iar faptul ca nu il stapanesti va duce implicit la cod mai putin bun dpdv calitativ. Cred ca vei regreta aceasta decizie atunci cand vei intampina probleme cu clientii.
In general arhitectura produselor care prind teren are 3 etape majore:

  • validarea ideii, faza de prototip, adunarea de clienti platitori
  • faza de crestere
  • maturizarea
    Nu conteaza cum implementezi pt faza 1, pana nu ai o baza de clienti platitori nu are sens sa optimizezi prea mult.
9 Likes

Am inteles. Voi continua dezvoltarea web app-ului mai departe cu tehnologiile care le cunosc eu mai bine.

1 Like