Aplicatie de banking

Salut!
Eu impreuna cu doi tovarasi ne-am gandit sa facem o aplicatie care sa iti permita sa iti administrezi conturile bancare si pe langa asta ne gandeam sa mai facem doua trei alte functionalitati pentru ca cea mai buna metoda de a invata este sa lucram efectiv la un proiect.
Proiectul dorim sa fie cross platform: dorim sa avem atat o aplicatie de desktop cat si una mobile.
Ideea este ca ne lovim de anumite intrebari si anume:

  1. Ne gandeam sa facem aplicatia pe desktop in c# iar backendul sa fie in python( django). Acuma aplicatia de mobile dorim sa o facem in react native si cum ar veni ne gandeam sa imparta acelasi backend ( sau mai corect zis sa foloseasca acelasi api) dar de asemenea pare tentant si nodejs si nu stim ce tehnologie sa alegem ca pe internet amandoua sunt laudate dar in practica ma gandesc si ca sunt la inceput ( nu am dezvoltat aplicatii foarte mari pana in prezent) si oarecum suntem nehotarati .
    Ne gandeam sa facem si aplicatia de desktop poate in electron js pentru ca sa fie totul js dar din nou nu stim cat de buna e decizia
  2. In ce am putea face designul aplicatiei de telefon??
    Multumesc!

Eu aș sări peste aplicația desktop și aș face-o direct pt web.

React/React native si backend in node/deno intr-un monorepo, asa poti scrie totul cu TypeScript.
Verifica prima data API-urile de open banking pe care vrei sa le folosesti, poate exista mai multe resurse pe un anumit limbaj.

Componente de react gasesti cautand dupa ant design, tailwind ui sau semantic ui.
Design-ul se face pe componente dupa un design, vezi ce inspiratie gasesti pe Google. Eu as folosi Adobe Xd.

1 Like

Sau mai poti folosi Figma pentru design.

1 Like

Cat de viabil ar fi construirea unei aplicatii de mobil similare folosind Kivy (python)?

1 Like

Parca nu trece ziua sa nu aflu de alta platforma. Deci se pot programa app mobile si in python? Abia astept un MVC in ASM.

1 Like

Cel mai bine e să faceți cu ce vă pricepeti mai bine.

Eu aș alege

  • NodeJS, Express, MongoDb - back end
  • Angular - web
  • Kotlin sau Flutter - mobile

Every times someone suggest MongoDB an angel dies.

5 Likes

De ce, ce are MongoDb?

ce nu are, tranzactii si structura, sunt niste cazuri un applicatii crypto a fost hack-uite in faliment prin timming atacks, pt ca nu are tranzactii si se bazeaza pe eventual consistency, plus ca most data e relationala, a fost mult marketing is fake it until you make it, around mongodb.

Exista un test faimos pt baze de date, mongo la picat de fiecare data, nu mai stiu cum se numbeste, testeaza concurency, corectitudinea datelor, acid, etc.

1 Like

sau java…

2 Likes

bla bla bla

Oricum, când e vorba de nosql vs sql și de experiența fiecăruia, subiectul devine subiectiv.

Ebay nu folosește tranzacții, de exemplu.
Și are câtamai traficul de date.

Tu chiar te uiti pe site-ul companiei care vinde un produs pt informatii… Jepsen: MongoDB 4.2.6

Cum sa nu foloseasca tranzactii ebay, orice plata e o tranzactiie, poate, desi nu cred, au propriul layer de atomicitate, dar tot sunt tranzactii.

Au avut un bug, dar l-au reparat.

Ebay are acum o bază de date mixtă, în unele părți folosește tranzacții, în altele nu.
În 2007 nu foloseau deloc.

Nu e vorba numai de Mongo, in orice sistem daca intri suficient de adanc sigur gasesti un bug sau o problema care poate fi exploatata la o gresala de implementare. Totusi criteriul de alegere al unei tehnologii trebuie sa fie avantajul oferit nu faptul ca la un moment dat are un bug sau ceva…

2 Likes

acum o saptamana s-a mai lansat inca o aplicatie de banking :smiley: competitie mare :crazy_face:

acum …daca ati intrebat, e clar ca ar fi sinucidere sa incepeti sa lucrati la toate cele 3 aplicatii din start (web, mobile, desktop). Incepeti cu cea la care cunoasteti o tehnologie cat mai bine.

In primul rand “so they claim” in al doilea rand nu e chiar asa, orice system are bug-uri, cand vb de data integrity nu e cu “las ca merge si asa” alte baze de data au trecut testele, eu nu prea am vazut avantajul mongo, la un moment dat nimeni nu mai stie ce e in baza aia de date, care sa umfla pt ca nu are denormalizare.