Stack Advice

Needs advice
on
Spring BootSpring BootPostgreSQLPostgreSQL
and
Node.jsNode.js

I've been approached by a business consultant for programming a website + web application for his client, which is a logistics company. The web application will have a tracking system for tracking their GPS enabled fleet (400 tricks).

Kindly advise me which scaleable stack can I use for the back-end. I'm planning to use React for the front-end.

And by back-end, I also include the database. I'm considering PostgreSQL as the database system.

READ MORE
7 upvotes·7.6K views
Replies (3)
Full-Stack Developer / Team Leader / Solution Architect at WaveAccess·

Spring is a good decision for your needs, but you should build correct microservice architecture for good scaling. Work with database can be easy with ORM (e.g. Hibernate) and migrations (e.g. Liquibase) If you need the best performance and scaling on frontend, you can use Angular or React.

READ MORE
3 upvotes·5.1K views
View all (3)
Needs advice
on
MySQLMySQLMongoDBMongoDB
and
FirebaseFirebase

I have been using Firebase with almost all my web projects as well as SwiftUI projects. I use it for the database as well as the user authentication via Google.

Is it good enough?? I have learned MySQL but I'm not that comfortable…

So for user authentication and database should I keep using firebase or switch to MySQL or MongoDB?? Or any other combination?

READ MORE
5 upvotes·15.1K views
Replies (3)
New Technologies Developer at Inteliksa·

Hi!

I’m not an expert, but I can tell you some things:

  • Firebase is a great option for a very simple to implement, fast and reliable authentication method. Nonetheless, the free authentications are limited, so if you will potentially have millions of monthly authentications, it’s probably best to take the time to build it into your app directly.
  • MySQL is great for simple tables where the data structures are not too complex, but it lacks some speed when you are trying to retrieve time data series. Also, I believe it’s a bit more difficult to distribute.
  • MongoDB is great when your information is a bit more complex and you need very peculiar data structures, nested data, dynamic structures, etc. For me at least, it’s a bit more complex to master than MySQL, but the freedom it gives you is incredible. It also performs super fast, especially with time data series, and if I’m not wrong, it’s more scalable.

In general, almost all technologies have their good things, it’s just a matter of what you want to do and then choosing the right ones.

READ MORE
Chuy Flores | Linktree (linktr.ee)
4 upvotes·1 comment·13.8K views
saarthak tuli
saarthak tuli
·
May 28th 2022 at 4:41AM

I understood it… so I’ll use it according to my needs.

Thank you so much !!

·
Reply
Recommends
Firebase

Doing User authentication (oauth) and session management by ourself is kind a challenging, so if possible use firebase itself since it provides these features out of the box.

READ MORE
2 upvotes·1 comment·14.1K views
saarthak tuli
saarthak tuli
·
May 27th 2022 at 4:18AM

Hey thank you for the advice… I’ll surely continue to use that… but as for database management Like the collection system in firebase is a little hard to implement for large scale apps where I need multiple databases … so should I use MySQL or MongoDB or can I do something similar in firebase??

·
Reply
View all (3)
Needs advice
on
KotlinKotlin
and
C#C#

I want to start learning some development work...but I am confused that which one is better to start and will work more efficiently (Kotlin v/s C#). Which one of these two is more used in app development and have good outputs in real time.

READ MORE
2 upvotes·85 views
Replies (4)
.NET Developer at Performance Systems Development·
Recommends
Kotlin

It really depends on what you plan to develop and the IDE you plan to use. Here are a few points worth mentioning:

  • Kotlin is generally better for mobile application development. Most documentation you will find for android development will use Kotlin.
  • C# and ASP.NET is better for web development
  • C# is a Microsoft product so Visual Studio is better for C# programming
  • JetBrains designed Kotlin so IntelliJ or Android Studio is better suited for Kotlin programming
  • C# is more commonly used for Object Oriented Programming
  • Kotlin has better support for Functional Programming
  • Both support asynchronous programming, but I would argue Kotlin has better built-in support

Overall, both are great languages and have tons of applications. I picked Kotlin because it is more concise and efficient language, but that doesn't mean Kotlin programs will inherently be more efficient and performant. I would say if you are wanting to learn just for personal projects and such, Kotlin is probably the way to go. If you are learning to get a job as a developer, C# would be best. Once you learn the basics of programming, you will find that learning new languages is not difficult. So whichever you decide to go with, spend time understanding programming concepts more than just the language itself.

READ MORE
4 upvotes·1 comment·64 views
Phill VanLeersum
Phill VanLeersum
·
May 20th 2022 at 6:58AM

Yeah, good point - if you are learning for personal projects then the Kotlin path is free!!

I would disagree that C# is inherently better for web programming - there are some excellent web libraries out there (any library accessible from Java is accessible from Kotlin) Spring for example, or kTor.

·
Reply
Recommends
C#
in

If you’re taking the languages alone, for me Kotlin is more concise while C# is more robust and self-explanatory. If you want to create Windows apps, C# is definitely the best choice. If you’re writing a full stack web application/server, Microsoft themselves are developing ASP.NET Core for C#. It’s definitely worth checking out. The only downside is that there aren’t many choices to deploy. Most C# developers go with Azure, or set up Docker.

READ MORE
3 upvotes·4 views
View all (4)
Needs advice
on
FlaskFlask
and
DjangoDjango
in

I'd like to make a web app using Python as a primary language and PostgreSQL for data management. Using those two I can do all the back-end and control functionality, but presenting it as a webpage is still a slight challenge.

I could do everything with pure HTML5, but I would like to try a framework to speed up the process and make it more maintainable. Django and Flask seem the two most popular frameworks for Python web development, but I'd like to hear your opinions on the matter (I'm also up to trying any other Python-based framework that is an 'industry standard if there is such a thing).

I intend to do styling myself, and being able to create dynamic and responsive websites is a must-have.

Bonus points for tips on what web server environment to use. (I've done Apache2 in the past but I think it may be outdated)

READ MORE
6 upvotes·1.8K views
Replies (3)
Co-founder at Trinesis·

That "industry standard if there is such a thing" gave me a chuckle.

Try keeping backend and frontend independent of each other, saves a lot of efforts (read time debugging).

Use your backend via APIs, they are the best, can be used with any other service. You can call your APIs through web-app, mobile-app, or any other app or you can sell your data through these APIs. Now to build APIs, you can use Django REST, or Flask, or FastAPI (very fast :)) or any other web framework. I would suggest go for Django REST, but up to you, if you are a kind of person who wants to build everything from ground up, having full control, wants to know what goes in and what comes out, don't go for Django, as they say, Django is "batteries included", gives a lot of functionalities out of the box. For eg: If you want to write some filters, or ordering, or pagination, or permissions, in your APIs, in Django REST you won't to have to write any code for that, but in flask/FastAPI, you will have to, just to give you an idea.

For frontend, use react, it's supper good, large community, you will get a lot of help.

For web-server, you can go for Apache or nginx, Apache is not outdated, it's very widely used. I would prefer nginx, but it's a personal choice. In either case, you will have to use WSGI, for Python, as it's not natively supported by either web servers, you will use both of them as reverse proxy. It will be like:

apache/nginx <--> some wsgi <--> your python web server

That's backend.

Frontend will be like: Compile ReactJS project --> generate static files --> server those static files via Apache/nginx.

Hope that helps.

READ MORE
5 upvotes·630 views
Recommends
Flask
Django

Hi flashing-blinkenlights,

Python has an excellent ecosystem with a number of mature server-side web frameworks, a wide variety of libraries, and a lot of learning resources to boot.

Flask and Django are both great frameworks for producing web applications, but they have different strengths. Judging from your description of your project, you need a Python-based server-side web framework with an easy-to-use ORM, and for that reason, I would recommend that you look into Django as it's a "batteries-included" kind of framework. Also, it has a great admin tool built-in that makes it very easy to produce a UI for managing the database entities you create directly from within the browser.

In case you, at some time, would like to evolve your platform to be REST API-driven to some degree (e.g., for consumption by external parties), Django also has the "Django Rest Framework" plug-in, which provides all the tooling and documentation needed to produce well-behaving and secure REST APIs.

As for the choice of webserver running in a reverse proxy configuration, you can use Apache HTTPD for sure. Very popular these days is a rival webserver called "Nginx," which performs well and with a lot of momentum.

For quickly and easily getting a Django app running in production, I can recommend considering Heroku, at least in the beginning. It offers a path of very low resistance, and you don't need to worry about the reverse proxy config either.

I hope this helps, and good luck with your project. 🙂

Best, Thomas

READ MORE
5 upvotes·481 views
View all (3)
Needs advice
on
PostgreSQLPostgreSQL
and
Cloud FirestoreCloud Firestore

I am having a mid size React Native project, I work with SQL databases but I am thinking about moving to NoSQL, I tried to learn NoSQL databases like Cloud Firestore but I faced issues at building the relation between models, also I noticed that the data is being duplicated in many places, should I stick with SQL databases like PostgreSQL or try again with Firebase.

READ MORE
4 upvotes·11.8K views
Replies (8)
Full-stack Developer && Software Engineer at Self-employed·

Moving from a SQL database to a noSQL database is a really big deal, congrats 👏! In the current industry having handy knowledge of both is really important and I would recommend continuing to learn Firebase even if it feels a little unnatural.

When using noSQL databases you have consider the idea that the models you work with are individual documents. The data in the documents can be duplicated, re-referenced, and completely dissimilar to each other-the only thing differentiating two documents is an ID value. It's normal for data to be duplicated if you don't perform operations on the same document you already created. You stop unnecessary duplication by wrapping your document creation in a function that checks for a certain value (say if you don't want a username value to appear twice you would check if your collection of documents already has one with a username value and then throw an error).

Creating relations in a noSQL database would be done by referencing a different document in another collection (typically with the aforementioned ID value) and then going and finding that document in that collection. Say you want to find a user's posts. In the User document you would have an array of references to different documents in a Post collection, and then you would go to the Post collection and find each document that has a matching ID number to the ones stored in the User's references.

All in all, you have to realize you are working with two completely different ways of storing and relating data, similar to learning a new and completely different language. If you stick too it and don't try to force SQL onto noSQL then you will get the hang of it and it will be very rewarding.

READ MORE
7 upvotes·2 comments·11.3K views
Jens Günther
Jens Günther
·
May 18th 2022 at 4:36AM

Ray, without the context of the question your reply is 100% correct.

·
Reply
Ray Arayilakath
Ray Arayilakath
·
May 18th 2022 at 4:00PM

Thank you, Jens :).

·
Reply
Full Stack Product Designer at Serif & Semaphore·
Recommends
PostgreSQL

Postgres is a very capable database and it sounds like your application is already designed with relationships in mind. Firestore is not relational and so that's probably why you're having a tough time - your application is just better suited by a relational database and that's ok.

I'd need to know more about your application and it's needs. What was the draw to Firebase? Just that it's a "noSQL" database? Don't let anyone tell you one is better than the other.

Interestingly enough, some people are building an open source project that provides an alternative to Firebase. At least some of its features anyway. It's called supabase. It uses Postgres too. It's a collection of a few modules, one of which is called "realtime" that provides realtime updates via websockets. I'd check that project out because it may provide some of the features you were interested in. Again, I'd need to know more about what your application needs and what you were drawn to with Firebase.

Also bear in mind the convenience of working with Postgres over Firebase. It's a lot more straightforward and you can find many GUI clients or use CLI to make queries and browse data. Yes, there are some for Firestore as well, but not as many. Also, don't forget about query insights if you're using GCP Cloud SQL or if you run your own database instance and install observability tools. Firebase may hide all of this, but you still may one day end up with a performance concern. Even though it's advertised as this infinitely scalable thing. That's not quite true, though it is very scalable, one of the trade offs is limited query features.

Then consider vendor lock-in. If you're really interested in a noSQL database or want a more straightforward one that doesn't include vendor lock-in and limited querying, check out something like MongoDB instead.

READ MORE
4 upvotes·1 comment·2.1K views
abdu-zeyad
abdu-zeyad
·
May 18th 2022 at 2:20PM

The reason of me considering something like firebase is the simplicity, sometimes I have big projects which I definitely use SQL database, but last time I built an application it was quite simple, I had to build an entire backend which is something I did not have to do if I used firebase, I think firebase could handle this kind of application without wasting a lot of time dealing with authentication and storing data , firebase uses NOSQL database, I could not deal with it correctly.

so overall, can I say it is a good idea to use firebase with small projects and Dotnet core as my backend for bigger projects??

·
Reply
View all (8)
Developer at Venhan·
Needs advice
on
.NET Core.NET Core
and
.NET.NET

Hey everyone, I am a backend developer who specializes in Java and Spring Boot having an experience of 4 years. And due to my shift in the project, now I need to deal with the .NET Core technology, as a Java developer before I need to know where to start in order to support the project and build REST API.

Can I get advice on how to move on to the new backend stack and what to learn and how to get hands-on with the .NET?

READ MORE
3 upvotes·10.8K views
Replies (3)
Lead Software Developer/Eng. at VOYD AB·
Recommends
.NET Core
.NET

IMHO I think it is the best framework to build software on. Since you are coming from Java, It should not be too difficult to adjust to C#. NET Core has come a long way. NET6 is just amazing. With the minimal API, https://docs.microsoft.com/en-us/aspnet/core/fundamentals/minimal-apis?view=aspnetcore-6.0 REST API should be very easy work for starters. When you settle in, you can go more advanced.

Although this is dated - https://download.microsoft.com/download/D/E/E/DEE91FC0-7AA9-4F6E-9FFA-8658AA0FA080/CSharp%20for%20Java%20Developers%20-%20Cheat%20Sheet.pdf it provides you side by side comparison of syntax. Another cool read is - https://betterprogramming.pub/java-to-c-c-to-java-f766c9f659c4

Feel free to reach out if you need any assistance.

Welcome aboard

READ MORE
7 upvotes·2 comments·10K views
Abhi ram
Abhi ram
·
April 25th 2022 at 6:19PM

Hi Bernard, Thank you! for sharing the resources which helps me out to see the differences from Java to .Net & to get started with this new tech. Mainly,for the cheat sheet and cool blog to get an immediate understanding.

·
Reply
Aaron Roach
Aaron Roach
·
May 4th 2022 at 9:58PM

I would agree. As a Java developer you'll feel very comfortable, and there are a lot of things that you may come to get used to with the language that would make switching back to Java really difficult. There's just a lot of quality of life features about C#/.NET Core/.NET 5+ that make it way easier and less verbose than Java, in my opinion.

·
Reply
.NET Developer at Performance Systems Development·
Recommends
.NET Core
.NET

You will find that the transition from Java to C# is pretty smooth. Working with .NET has become much more intuitive and has a lot to offer. I highly recommend using Visual Studio as your IDE. It makes things much easier and is not too different than other IDEs like IntelliJ. There are also Visual Studio templates for web APIs that make it really easy to get up and running. Microsoft has good documentation and tutorials to help you get familiar with the technology. I would start there.

READ MORE
3 upvotes·6.5K views
View all (3)
Web Developer at Artus·
Needs advice
on
TrelloTrello
and
SlackSlack
in

Is it possible to integrate Trello with Slack? I'm not sure how I'm going to accomplish this. Please suggest

READ MORE
4 upvotes·1.6K views
Replies (3)
Recommends
Trello
Slack

Yes - for a more collaborative workflow, you can use the Trello Slackbot (https://trello.com/platforms/slack) to interact with a board from Slack. It depends on how much your team wants to collaborate on these - I've also seen the bot go unused with people focusing on changing the cards directly in Trello.

READ MORE
6 upvotes·116 views
Full Stack Developer ·
Recommends
Trello
Slack

Yes, I integrated it with slack. Using Power-Ups feature of Trello. Whenever there is an update from Trello. It submits message to my slack channel as well.

I'm not sure, if that's what you are looking for.

READ MORE
2 upvotes·120 views
View all (3)
Needs advice
on
Vue.jsVue.jsReactReact
and
AngularJSAngularJS

I love Node.js and MongoDB (A database that goes well with Node). I will use it for embedded systems and backends for web apps. I have questions for frontend JS:

  1. Which front end JavaScript framework is good for web apps

  2. Which front end JS framework is good for PWAs(progressive web apps)

Backstory: I experimented with Javascript. Built lots of things with it. I want to organize my Javascript toolset by seeing which tool is useful when(e.g. use Angular for enterprise, use Vanilla for fun, etc.)

READ MORE
5 upvotes·30.3K views
Replies (4)
Recommends
Vue.js
React

I have a view that Angular js changed its design patterns too frequently and messed up while trying to be too obsessive. Vue 3 is simple powerful, high performance and brings the composition API that also brings overall simplicity. It can be done using pure JavaScript and in my view that's a plus point in development, if you are experienced developer and avoid type mistakes etc..

Most other frontend frameworks support Vue. For e.g. Ionic..

The server side rendering can bring magic of SEO friendly sites while being single page application.

READ MORE
9 upvotes·29K views
Recommends
Vue.js
AngularJS

I've been using AngularJS and Vue.js extensively and can recommend AngularJS in a more enterprise environment and Vue.js for personal projects. AngularJS has, in my humble opinion, a lot of boilerplate code, which is useful keeping things organised in a team setup. Vue.js has a more minimalistic approach.

READ MORE
6 upvotes·28.9K views
View all (4)

Which one will be more suitable for a micro frontend architecture where applications are built using React?

READ MORE
3 upvotes·102 views
Replies (3)
MD at 10ARK DIGITAL·

Hi Mohit, they are both applicable and will work. Google App Engine requires less setup and maintenance. Google Kubernetes Engine will require more setup and maintenance although there are new options on Kubernetes Engine where a lot of that work is done for you. There is also the option of using Cloud Storage and CDN if it's just going to be serving of the React apps with no additional logic.

READ MORE
5 upvotes·84 views
Principal Consultant at Rootwork InfoTech·

Google App Engine is probably best for your use case. It requires the least amount of infrastructure management, and allows you to focus on the application code. App Engine supports Node.js up to version 16 (as of April 2022). If you must use a newer version of Node, then consider another option.

Google Kubernetes Engine can certainly do what you need, but it can also do anything, and you have to have a significant level of expertise in containerizing applications and configuring Kubernetes just to get off the ground. I think Cloud Run is a better choice to compare against App Engine. If your application is already containerized, Cloud Run lets you just run containers, without knowing much about the underlying infrastructure. You can always migrate from Cloud Run to Kubernetes when needed.

READ MORE
4 upvotes·89 views
View all (3)
.Net Developer at Exe Software·
Needs advice
on
Next.jsNext.js
and
.NET Core.NET Core

I'm looking to develop a website. My current plan is to use ASP.NET Core 5 web api for backend and React for front end. But not long ago I hear of Next.js and that it is capable to have all backend inside Next.js. If so, is it still worth using .Net + React (or some other combination of frameworks).

READ MORE
6 upvotes·25.3K views
Replies (5)
Sr. Site Reliability Engineer at OneDegree·

Knowing the requirement of the website and the resource you have will help you find the best tech stack.

If you are very familiar with ASP.NET and some Javascript, but you are eager to build a website quickly, I will suggest you to go with your first plan, even vanilla Javascript or jQuery for the front end side.

In the other hand, you are willing to learn Javascript deeply and try the most famous React.js Framework Next.js, and you are not in a hurry to build this website, I will suggest you to use Next.js for both front end and back end, it is stable and community friendly that you can discover a lot of resource.

READ MORE
5 upvotes·23.3K views
Recommends
Next.js

My personal opinion: Next.js. It's so easy to use if you already know React. Its backend abilities are awesome, with better support for SSR (server-side rendering) than any cross-language framework combo could do. It's fast, reliable, and can tightly integrate with any backend you could want. If you're also really set on .NET, you could create a .NET backend and use Next.js to make the API calls and server-side render the results for better SEO. I've used it multiple times, and it has never disappointed. However, as a disclaimer, I've never used .NET, but I love React.

READ MORE
4 upvotes·14.6K views
View all (5)