What exactly is a Full-stack development in Spring Boot with Java? - spring

I was under the impression that Angular is integrated as a front-end in the same project as Spring to avail beautiful looking websites as I did once in a previous project in a company.
But as I started looking some videos on youtube and udemy, they are creating a separate project for both angular and spring running on different ports 4200 and 8080.
Is this what a full-stack development is and is this what the companies are asking for in the interviews nowadays? Sorry if the question seems from 2015.

You are correct, each of them is an ecosystem that communicates with each other via nowadays mostly rest.
Each of the code is compiled separately also, typescript and java.
As for full-stack requirements for job its most of the time on one side you have for an example spring boot microservice that does some logic and exposes those results on specific URLs, and you consume those results with your frontend and display them accordingly.
Now, when it comes to frontend you can simply mock values and do your development instead of waiting for someone to finish their backend and after they are done you just write it to the specification that they provide. Most of the time its used Open API ( ex Swagger ).
But basically if you call yourself fullstack developer you need to be able to write backend that emits responses with some results, and write frontend that consumes those responses and displays them. Front side of an application as well as back side.
There are approaches where you use only JS ( nodejs for backend, react or angular for frontend and mongodb for database ), but if you end up in some company where are old-school people, it will be Java on backend and they are looking for youngsters that are Jedi Knights in JS, at least that is what my company did a month ago.

Related

Spring API + Vue JS Web Application slows down extremely in production

I built a basic web application to learn about Spring Boot and Vue.js.
When running the applications on localhost, everything runs smoothly, i.e. every request needs well under 1 sec.
Now I deployed the application on heroku to put it into production, but the performance slowed down tremendously. Every action that requires an API call takes quite exactly 5-7 seconds.
Of course a slow down is to be expected when using a free hosting provider. However, this is extreme.
Now the region set in Heroku for the Spring API is Europe, the database for the application is in SG and I sit in the PHilippines, which I assume could explain some of the lag.
When following the logs in heroku, the API call shows up about 6 seconds after I send it, with the response coming right after (<1sec).
Which leads to my question:
How will I be able to find the bottleneck here and what can I do to fix this?
Here is the link for the API (the api contains only demo data, so please don't mind the exposed passwords...)
https://brownbag-api.herokuapp.com/api/pos/all
The issue was the delay between the Spring Boot API and the MySQL database.
Moving to a database on the same dyno as the Spring boot API fixed the issue.

Security concerns using Spring as backend for mobile app

Me and a team built a small "meet people" app last semester that used Spring linked to a MySQL database as the backend. I am working on my own app now and I'm worried about security because all of our user information was sent over HTTPS GET requests to the server. It seems weird to me that we were able to hop on google chrome, type in xxx.xxxxx.xx:xxx/user/2 and get back a JSON with all of a specific users information. If anyone knew our url/port, they would be able to access this information themselves.
I'm sure this is a basic question, but what steps do I need to take to create a Spring backend that isn't as easy to access? I'm basically a total beginner in this, but I did write the service in Spring last semester so I know the basics.
You can use Spring Security which is a very good project and easy to integrate.
There are many types of security features it provides :
Basic Spring Security
Role Based Spring Security
baeldung.com and howtodoinjava has a very good series on it.
You can also use jwt-authentication-on-spring-boot which is also a good way to secure the APIs.

Data synchronization in a Chrome packaged app

In my pursuit to write a Chrome packaged app, I am struggling to get my data synchronized to the app so that it can be used in offline mode.
My data lives on a server and I access it trough a restful service in this case I use.net MVC WebApi
What I have tried: Using Breezejs because of the easy offline capabilities ; the problem is that
window.localStorage
is not available in packaged apps, I did tried switching it out for IndexedDB but no luck.
I tried chrome.storage that worked great with the build in sync but it is not a big truck and that is what I need at least a 10tunner.
So my Question; is there a silver bullet that has some XMLHttpRequest implementations, that makes it easier to get data from a restful service, storing it to IndexedDB so that it can be used offline and when going online syncs the changes, that is compatible with packaged apps.
I know I must probably write my own but if someone already went trough all the hoops and complexities of synchronization that can guide me it will be awesome.
Have you looked at using the syncFileSystem API ?
As long as you are happy to sync your data into Google Drive, this api should meet your needs for not implementing sync code yourself and still working offline.

Spring web flow with dart on frontend and backend

Anyone tried using spring web framework with dart
kindly provide me with an example or if you have seen one in Github i would appreciate the link , have searched but i havent got one
Unfortunately I don't think you can accomplish whatever it is you are trying to accomplish. dart, as tagged here is the dart programming language which runs in its own virtual machine or is compiled to javascript. It has no connection to Java or Java Server Pages at all.
If you are using Dart on the front end, any back-end server an serve the html and dart/javascript scripts and respond to any ajax requests you setup, but you cannot integrate Spring Web Flow, a Java Server backend, with a dart backend.

ASP.Net or Node.js in the following situation

Good morning,
I am going to write a web service and I am not sure which framework would suit the situation best. I understand what Node and .Net are good at.
The client will call the services at the following stages:
App loads up - user logins in via Facebook API.
User can create an "entity". This entity will be stored in a database (SQL for .Net/ Azure table for Node) and also posted to a Facebook application (timeline stuff). User can make changes to this at any time.
User can browse Facebook Friends (Facebook API again).
Changes to the entity will be pushed to all users who have "joined" the same entity (SignalR .net/Socket.io Node).
That is the skeleton of the web services, there may be more Facebook calls or CRUD operations. Which Framework will handle this best?
Many thanks.
Aside from the mentioned WebAPI, also consider the excellent ServiceStack for building a webservice.
Any well-written code regardless of the framework will be able to handle it.
If you are a .NET developer I personally think type safety of C# is important so I would not go down the Azure node.js way since it will also force me to use Azure.
I would personally use ASP.NET Web API.
As long as you build your application on a solid framework, you'll be on the bright side (assuming you know how to set-up such an application in a secure and proper manner). For .NET i'd use the Web API and for node.js i'd stick with something like express/connect.
Just keep in mind that node.js and the frameworks based on it are still subject to heavy changes, whereas ASP.NET is production-safe since years.
As a bottom line, i don't think you're able to say "X is better than Y because of Z" in this scenario. It's a matter of personal preferences, infrastructure and your technical skills.

Resources