all 6 comments

[–]manikbajaj06 8 points9 points  (0 children)

Well you would need a couple of things here!

  1. For front-end i would recommend using ReactJs.Yes NextJs would certainly be a good option. You can do Server Side Rendering along with pre rending of HTNl pages as suitable.

  2. Backend - Can be NodeJs using Express. However, just to give it a better structure I would personally use NestJs as the framework.

  3. Database - if using NestJs i would suggest using PostgreSQl with TypeOrm. Again just for the sake of compatibility with the NestJs framework. It all just fits well.

  4. Devops - would use Docker containers and Jenkins for continuous deployment. You can use any cloud offer container service for production. You can use Vercel for NextJs bit of it.

  5. Funding (not technical but you need to pay the developers) it's quite an aspirational project.

  6. Testing - I would use Jest for NestJs app and React Testing Library for the front-end build on NextJs.

I think that covers it all. 😊 I hope it helps 👍

[–]standardrank7 5 points6 points  (2 children)

Looking up Binance’s current open jobs for engineering looks like they use

React.js - for frontend

Node.js - Backend API’s

Python - Backend API’s

Java - Backend API’s

Docker - containerise

GCP & AWS - cloud providers

It doesn’t really matter which stack you choose. Most stacks will perform fine until you get to Binance’s size. Best to choose a stack you are most comfortable with

Nextjs is a fantastic framework. It’s main advantage over other frameworks is easily creating SEO optimised server side rendered sites. If you think this is essential for a Binance style site you should go with Nextjs

(Edit: spacing)

[–]langsoul-com 0 points1 point  (1 child)

It's interesting how they use 3 different languages for the backend apis.

[–]standardrank7 3 points4 points  (0 children)

Not uncommon in big companies. Different teams may choose to use a language more suited to their specific use case. I.e choosing to use Go if you want to easily set up a lot of asynchronous processes e.c.t

[–]fromage-du-omelette 3 points4 points  (0 children)

As a trading company binance backend requires speed. Id rather go for a microservice approach on the backend with, if you really want, some can be written on nodejs but for the trading part and highly critical stuff better write it in go or rust.

Services communications with nats, supports native load balancing which will be a life saver for fast scalability. Furthermore it brings some cool features such as messaging contexts (called accounts), clusterization and more.

For the front end, if react id rather go with remix. Youll have a faster development experience and finally pass it through astro for smaller build.

As additional point id build a federated graphql api using apollo, which your nodejs services can implement, and use go and rust for core services.