It will be a huge task. This is not good or bad, just an expression :)
There are many technologies that you are talking about, and each of them will have a little learning curve. Just watching the American Ninja Warrior last night, you are learning a curve similar to Warped Wall! Do not despair, get ready for the start, and everything will be in order.
Three large pieces that you will have to cover:
NodeJS
There are many tutorials on the Internet, and you will need to learn Javascript and what this means on the NodeJS server. The asynchronous nature of Javascript will be very different from Java (I know it was also my transition). The tutorial I like: Mixu Node Book The e-book I like: Node Beginner
Mongodb
I am still working on this myself, but MongoDB is different from a relational SQL database. Here you need to think differently. There are many tutorials for MongoDB.
However, I will say that NodeJS can be combined with SQL. If you do this to learn, you can immediately turn all the knobs. If you want to see something working, you can just use DB as usual. I like to use knexJS when working with a SQL database. This is amazing.
Angularjs
Angular is a huge structure. People like it. Easy to use as soon as you know it. I read it easily to get started, and then harder to master. There are many ways to try to solve this problem, here the link I wrote is noted: Explore AngularJS on the weekend
However, you will not need to use Angular in your application. Some frameworks can support it and base their NodeJS server on the Angular interface, but you can use your existing interface skills (even gasp !, jQuery) so that your web pages manage your server server.
My thoughts on other questions that you asked
- Is it crazy to pretend that I will differently borrow part of the engine and the administrative part?
You can separate the two, but if it's just for learning, do it all in one. MongoDB can certainly handle your administrative stuff.
- Can the MEAN stack deal with all admin / login features?
Yeah. Some frameworks have the same packages by default.
- Is it crazy to pretend that I can find out how the MEAN stack is with (for now) limited knowledge of Javascript? Of course, you need to learn ... I know that there will be a quiet learning curve, but I'm ready for it.
This is not insanity, but the learning curve is quite large. Having an app / goal will be a good drive for you. Also, do not try to do everything perfectly the first time. Find an NPM package that looks pretty good, use it and continue. Do not worry about all the details right now. Do this in your next application or when you have a functional baseline.
- Is there an easy way to integrate Node.js with Java code? Has anyone tried it? For example, I would like to use the non-blocking features of Node.js, but call the Java method to access a third-party API, for example.
Of course, the Java client can access the NodeJS server. If you created a NodeJS API server, you can write a Java client to test it. You can even do other crazy things from NodeJS to Java code , but I would suggest leaving Java behind. For many web materials (HTTP requests, etc.), I think you will be pleasantly surprised how quickly to do something in NodeJS, what you will need to do for the equivalent in Java.