Avatar of Varun Sharma

Varun Sharma

CTO at Nugen Computer & I.T. Services
CTO at Nugen Computer & I.T. Services·
Recommends
Node.jsNode.js

Hi Jjx003, I will recommend you to go for Node.js with Mongodb. I have been working with the both from long time. Node.js is very good for implementing things which require fast I/O system. I have developed the whole inventory system in React Node.js MongoDB and it is working very fine even after the product database has been so heavy. Apart from this, it will be easy for you to go for one language while developing the frontend and backend i.e. Javascript.

READ MORE
9 upvotes·5 comments·4.2K views
Jjx003
Jjx003
·
April 9th 2020 at 6:38AM

Really appreciate your advice! I'm going to use Node.js for sure. I just have a few questions regarding MongoDB:

-Do you think this service would work well for a sort of forum-based web app? Where there's going to be a lot of text and organization?

-How high is the learning curve for MongoDB?

Thanks.

·
Reply
Varun Sharma
Varun Sharma
·
April 9th 2020 at 11:55AM

Sure mongodb will be best for forum-based web app as it is going to have so many threads and mongodb queries are dead simple to traverse all the threads. About the learning curve you have asked. You have to dig deep in the beginning. It won't take long to start the app. Just start with introduction of Javascript/Json in the beginning. Afterwards, let me know if you need any help. I try my level best to help you to the point.

·
Reply
Alistair Smith
Alistair Smith
·
April 9th 2020 at 1:00PM

I second this. You can use `mongoose` to make your MongoDB experience 10 times easier!

·
Reply
Varun Sharma
Varun Sharma
·
April 10th 2020 at 7:25AM

absolutely right

·
Reply
schwarz sterben
schwarz sterben
·
February 3rd 2022 at 1:59PM

Yeah fast at small-medium users but if you think of scalability, i wouldn't recommend using nodejs. A single threaded runtime or language does not know what scalability is.

·
Reply
CTO at Nugen Computer & I.T. Services·

Socket.io with Node.js and socketio client for Reactjs would be perfect for this as Nodejs is very good in two way communication. I would suggest you to deploy the socket backend api on different server so that it does not slow down the I/O operations. In addition to this, you can use Redis if you want to enhance the application performance.

READ MORE
9 upvotes·1.2K views
CTO at Nugen Computer & I.T. Services·
Recommends
React NativeReact Native

Well, I will personally recommend to go for React Native as I have worked in both of them. React native has big community and it is easy to opt as compared to Flutter. There no doubt about the fact that Flutter is a great framework for developing both Android/IOS apps. However, you should have some experience to go for the same. Both will require prior knowledge as for React Native you have to go through Javascript first with which you are already familiar and for Flutter you need to go through Dart. So being familiar with Javascript you should go for React Native. You can go expo which has lot of inbuilt functionalities for the React Native developers.

READ MORE
5 upvotes·2 comments·250K views
zensabbah
zensabbah
·
April 9th 2020 at 6:43PM

Thanks Varun for your suggestion! Just a little more help.

I saw Pepperoni Kit seems to accomplish a lot of the features I need to build.

Also I saw Expo, it seems help avoiding the installation both Xcode and Android Studio, but it's less "complete out of the box", am I right?

I'm curious to heard your opinion regarding this.

Sincerely,

CS

·
Reply
Varun Sharma
Varun Sharma
·
April 10th 2020 at 7:22AM

Hi Zensabbah,

thanks for asking. Expo is a great toolchain that is built around React Native and you can achieve almost every task using expo in react native. As far as Pepperoni Kit is concerned. It is new in market as compared to Expo toolchain. I do not have any experience with the same. However, I personally recommend Expo because you will able to get help as the community for expo is so big. So, you won't be having any issues in troubleshooting your stuff. In case you need any help regarding any stuff of expo then let me know.

·
Reply
CTO at Nugen Computer & I.T. Services·

HI Shivam, If you the only person who is going to develop the full application then I will suggest you to go for Node.js because you will have to deal with one language only i.e. Javascript. And if you are thinking about scaling then do not worry. Nodejs with mongodb make good application. Capital One bank, Paypal, Linkedin and so on companies shifted themselves to Nodejs. Even if you go for Ruby, it has GVL which again makes it work in single thead. If you want to manage concurrent requests in Ruby then you have to manage by introducing Rubinius/jRuby. If we talk about the deployment of Nodejs, it require less resources as compare to other. I have deployed inventory solution right now using Reactjs with Node.js stack and it is pretty much good. I have also deployed apps in Ruby as well. However, node is fast as compare to Ruby and you can scale it easily. I am not saying Ruby is bad. I work in Ruby as I told you above. But these are the real facts.

You can checkout this link :- https://softwarebrothers.co/blog/companies-that-use-node-js/

READ MORE
5 upvotes·61.9K views
CTO at Nugen Computer & I.T. Services·

Well I would suggest you to go for Redis. I have used Redis in my inventory solution application with mongodb. I kept my all the data in mongodb and made copy of small information in redis. So that, I can get information after particular set of interval without querying the original database. And you need to update the last updated record in redis when there is any update in mongodb or sqlite.

READ MORE
3 upvotes·1 comment·467 views
Ravi Gairola
Ravi Gairola
·
May 6th 2020 at 8:31PM

From the description, it sounds like you are abusing SQLite for something a proper database should be used, which in turn could support functionality to check for stale data. Without changing that I agree that a Redis set up to not only check for outdated fields but also take the stress off of the database is a good approach. Anytime there's a cache miss you can send out an alert/event while refreshing the entry.

That being said, any caching service/database with auto-eviction should be able to work here.

·
Reply
CTO at Nugen Computer & I.T. Services·

As you mentioned that you are going to deal with lot of JSON or XML format in your app. Then I would suggest you to go for the MongoDB. It is very easy to maintain JSON records in mongodb and you can store XML as a string there. MongoDB will help to traverse lot of JSON/BSON records within fraction of seconds.

READ MORE
3 upvotes·308 views