Needs advice
on
MongoDBMongoDBNode.jsNode.js
and
Vue.jsVue.js

I'd like to create a web app that realizes a warehouse manager. The warehouse would accept multiple varieties of potatoes from the farmers. I'd want the app to be able to run on both desktop and tablet, so the warehouse manager could verify and create new entries on spot but also users could check on the current warehouse state remotely.

I'd like the app to be able to handle contracts made with the farmers, basically, a contract would contain information about the farmer, the potato species, the overall amount, with how many trucks it should be delivered on what dates, and the delivery deadline until the agreed amount should be delivered. Therefore the warehouse manager could create a shipping schedule and plan ahead for each day, how many trucks will come to the warehouse.

Upon receiving, the storing base unit should be one crate. These crates should receive all the necessary information that will allow them to be traced back all the way to the farmer. The app should warn the user if a crate contains potatoes that are approaching their expiration date (differs across potato varieties). Upon exiting the warehouse the crates should have a valid exit case (it went to the processing unit, other warehouses, direct sale, or waste) The user should be able to search between records, filter and sort the data.

I have used TypeScript from my past and really liked it, wonder if Vue.js has some solutions to support Typescript.

I wonder if there is a major difference in database usage (SQL or NoSQL) in the case of this data structure (is it more difficult to search, filter, sort or hold on long term data if I'm using NoSQL) I'm not really used to backed development, is it alright to write my backend in something like Java or .NET? I also want a clean user interface, big buttons, easy to use, not distracting, fast, dashboard-like UI. Maintaining the opportunity to be able to create automatic charts and diagrams from the data record (I saw Vuetify has some pretty good UI elements for that, has for example React a better solution?)

READ LESS
5 upvotes·64.8K views
Replies (5)

As a general rule, NEVER use new technology for the first time to build production application. Put sometime in building sample applications and see how you feel about your choice of tech stack.

That said, here are my recommendations:

FRONTEND - Vue.js PWA

  • I can see that you've already used Vue.js with Typescript - the new version of Vue (v3) supports Typescript very well. You can't go wrong here!
  • PWA - A Progressive Web App setup would handle your requirement to have your system running as a Desktop, Mobile and Web app.

BACKEND - Node.js

This depends on your experience of using Node.js - there are plenty of Node.js frameworks out there that can give you what you need pretty quickly and in a very modern setup;

  • Express, Koa, Hapi, Fastify, etc. - lightweight and flexible Node.js frameworks for building backend applications
  • NestJs, SailsJs, etc. - more structured Node.js frameworks with a few more bells and whistles to solve common problems

The most important point here is to find something that will help you build your backend API as easily as possible. Think decoupled! Established backend frameworks in Java and .NET worlds might even been a good choice here if your experience is grounded there. I would also consider mature and developer friendly frameworks like Ruby on Rails here as well.

DATABASE - MongoDB

Perhaps, the easiest choice to make: I think MongoDB would fit your use case just fine. It is possibly the easiest to learn and get started with because of its schema-less approach. It also has great support in most Node.js based backend frameworks.

READ MORE
12 upvotes·42.6K views
Avatar of kilianstallz
Backend-Engineer at Findustrial·

If you are already familiar with Typescript and Vuejs - this would probably be the way to go - keep it simple and stupid. I would recommend starting a Vue3 Typescript app with Vite and a basic Nodejs template. OR If you are up to date on typescript i really recomment looking into NestJs as it provides anything you would need to get started and an amazing comunity!

READ MORE
6 upvotes·44K views
View all (5)
Avatar of Aaron Bison