Avatar of Raj Chandrasekaran
Recommends
on
JavaScriptJavaScript

Hi Adan,

Javascript has changed quite a bit in the recent years and lot of it was inspired from jquery. Now almost all modern browsers support javascript syntax everything that jquery does with few elaborate / sometimes better alternatives. So, if you like to switch, find the equivalents of what portions of jquery you use and replace those parts. Btw, jquery is still nicer sometimes with its method chaining and a lot simpler syntax - the equivalent in js may not be that sugary syntactically.

READ MORE
10 upvotes·1 comment·19.3K views
Adan van Dijk
Adan van Dijk
·
August 10th 2021 at 4:05AM

Thank you for the explanation and i think ill switch to plain JS.

·
Reply
Recommends
on
ElasticsearchElasticsearch

Have you explored ElasticSearch so far? You can build out simple PHP interface or use any of the CMS (wordpress) for your front-end

READ MORE
5 upvotes·1 comment·14.1K views
Christopher Wray
Christopher Wray
·
January 6th 2021 at 5:24AM

Elasticsearch is another great option!

·
Reply
Recommends
on
PDF.jsPDF.js

Hi Nicolas,

I think you need something like this: https://gist.github.com/imolorhe/f8794d3bb55e1a8065b23bcd0efeebe1 Using pdf.js you can convert each page in pdf to a corresponding image. I have not tested this myself, but PDF. js has been around for sometime and should work for you converting the pdf to image completely on the client side.

READ MORE
5 upvotes·1 comment·7.5K views
Nicolás Tomé Miller
Nicolás Tomé Miller
·
August 7th 2020 at 7:20PM

Hi Raj, Thanks for your comment. This look very promising, I will look into it

·
Reply

Hi Ashish,

If you need minimal work to be done from your end and like most of the components / design available out of the box - go with Bootstrap. This is the oldest and has the widest adoption and a whole range of components built out by others.

If you like Material design, this is a good choice too. Please note that Bootstrap also has a Material theme, though it is not as native.

Both of these above frameworks are bulky and has more than what you may need.

If you like to build micro-components in a elegant way, TailwindCSS is the way to go.

READ MORE
4 upvotes·266K views

With the info you have shared so far, here's my recommendation: 1. Python ecosystem is very sophisticated for ML, AI. Build models, and perform most of background work via python. You can expose these models and any business logic needed via python Fastapi. 2. Node and js ecosystem is great for building both server rendered and Single page apps - whichever your preference is. You can easily use something like Next.js and build out the marketplace web/mobile application, interact with ML models via an api or directly read the model from node backend. Hope this helps.

READ MORE
4 upvotes·3 comments·41.2K views
Aayan Rahman
Aayan Rahman
·
October 5th 2022 at 8:08AM

I am confused whether runtime speed or development and maintenance speed is more important? and if I put ml and ai in my site a bit later, will choosing Node.JS be better. what is the performance difference in runtime and development between Express.JS and Django?

·
Reply
Raj Chandrasekaran
Raj Chandrasekaran
·
October 6th 2022 at 7:55PM

Agreed with Yoram's response in this thread.

When you say you want to put ml or ai on to your site, could you elaborate that a bit more?

Since you mentioned online marketplace, my hunch is that you want to use ML or AI for recommendations, search results or even prioritizing the right ads for the shoppers. If that is the only place where you like to use ML / AI, that that part can (or needs to) work with your search infrastructure.

There are two modes of ML application - realtime, and offline

For realtime ML / AI application, there are lot of considerations you have to go through before finalizing the technology. For example, say you are using elasticsearch as your search engine and if you like "personalization" to be a factor in search results, you may want to do offline ML, prepare models, validate which features carry what weights and then apply those weights into your elasticsearch query.

Alternatively if you can also fetch all the results from ES and run through the model to sort them in the order that suits best for a single shopper. It adds more time to respond for search results, but if you can live with that latency that works.

If your usecase is you want to use ML just in offline scenarios, like building a model that satisfies some objective you may want to divide between the work that is needed to analyze, prepare model, test etc AND the work needed to invoke the model at runtime. You can totally use python tech stack for the former and use node js / next js / Blaze js / refine etc for the latter (since node can also invoke a model and return the results).

As a side note, if you are building an entire marketplace, like categories, listings, product page, search, purchase etc AND if the scale is not going to be too high, I would also recommend looking at woocommerce, shopify (paid), magento (open source) etc kind of options to put up a site together. There's a lot to build, not that it is impossible, but it will be more of reinventing the wheel imho.

·
Reply
Yoram Kornatzky
Yoram Kornatzky
·
October 6th 2022 at 7:27AM

If you know both at same level, then Express.js is faster in terms of performance and development and maintenance. And it does not preclude connecting to a ML backend model later. So you can have the bestow both worlds.

·
Reply
Recommends
on
JenkinsJenkinsReactReact

Hi Akshay,

If the goal is to have a system that is purely to be used within your company, then it would be a good idea to have something scrappy. However, lot more has to be considered if you are planning to offer it as a SaaS or PaaS.

In either situations, the first factor I would consider is Return of Investment. You can build a really fabulous system, but if it is only going to help you little bit in the overall scheme of things, it may not be worth the effort. In other words, you can build - job management, scheduling, progress tracking, auto recovery, maintaining container state etc all by yourselves, but it may be worthwhile not reinventing the wheel when these solutions are already available (Jenkins or Team City for example).

If I were you, I will offload majority of the features like triggering jobs (build jobs), monitoring progress, errors etc to Jenkins. Every deployable unit can be dockerized, so that you get an uniform interface to validate whether the service is up and running.

You can build a thin vanilla UI on top of Jenkins' apis using React, or simply jQuery or Svelte. My personal preference would be Svelte.

If Jenkins is not a viable option, Go is the perfect backend for anything related to devops. You can use any Golang frameworks (Gin or Beego for instance) and have a front end in React / jQuery / Svelte. Hope this helps.

READ MORE
4 upvotes·9.5K views

It purely depends on your app needs. Does it need to be scalable, do you have lots of features, OR it is a simple project with very simple needs - many of those parameters clarify which technologies will fit.

If you are looking for a quick solution, that reduces lot of development time, take a look at postgraphile (https://www.graphile.org/postgraphile/). You have to just define the schema and you get the entire graph-ql apis built for you and you can just focus on your frontend.

On frontend, React is good, but also need to remember that it is popular because it introduced one way data writes and in-built virtual dom + diffing to determine which dom to modify. Though personally I liked it, am recently more inclined to Svelte because its lightweightedness and absence of virtual dom and its simplicity compared to the huge ecosystem that React has surrounded itself with.

In all situations, frameworks keep changing over time. What is best today is not considered even good few years from now. What is important is to have the logic in a separate, clean manner void of too many framework related dependencies - that way you can switch one framework with another very easily.

READ MORE
4 upvotes·1 comment·3.7K views
Brian Haack
Brian Haack
·
October 10th 2020 at 11:17PM

Awesome! thanks for the insight and advice!

·
Reply
Recommends
on
FirebaseFirebaseRocketChatRocketChat

Hi Sean,

Could you elaborate bit more? Is it that you are building a chat intermediation platform? OR just building a simpler proof of concept solution? Among the choices you are exploring, ScaleDrone and PubNub fall into one category. Firebase into completely another category - where you may have to build the chat features yourself, and Firebase just offers Realtime DB as a service (afaik).

If you are wanting to do a simple PoC, using existing chat applications and looking for hooks in that platform (be it ScaleDrone, PubNub, RocketChat (slack equivalent)) are few choices. Once you elaborate more, I can share some pointers based on what I may have come across.

READ MORE
4 upvotes·2 comments·86 views
Sean Pan
Sean Pan
·
August 11th 2021 at 7:01AM

It’s alright sir. I have completed the project with Firebase as I need to use some other features of firebase.

·
Reply
Raj Chandrasekaran
Raj Chandrasekaran
·
August 11th 2021 at 12:02PM

great, best wishes.

·
Reply
Recommends
on
AirflowAirflow

Though we have always built something custom, Apache airflow (https://airflow.apache.org/) stood out as a key contender/alternative when it comes to open sources. On the commercial offering, Amazon Redshift combined with Amazon Kinesis (for complex manipulations) is great for BI, though Redshift as such is expensive.

READ MORE
3 upvotes·215.7K views
Recommends
on
DjangoDjangoReactReact

React End to End or even Meteor JS will work for your needs if you are planning to build it yourselves. The framework selection depends on volume, usecases, desired user-experience and most importantly Return of Investment (ROI). Please elaborate what usecases are you trying to solve for.

READ MORE
3 upvotes·11.4K views