I've been a Java/J2EE developer for a few years now, and unfortunately lately I haven't been learning that much because of the context of my daily job and my company.
That's why I've decided to tackle my own personal project, which would have the following details/features (the first one are the most prioritary)
- Web app for logged-in users
- Need to retrieve information from third-party API (think Twitter, Facebook, Pinterest...)
- Many concurrent accesses to the same features (API information retrieval) at the same time
- Accessible through Web and eventually via Mobile
- Cron/Quartz to regularly (every night?) send users their updated information via email
- Dashboard with real-time information
- Notifications by email or web when something happens (new Twitter follower...)
My knowledge is the following:
- Java/J2EE with a bit of Spring/Hibernate, quiet a lot of Maven/Ibatis
- Deploys on Tomcat/JBoss
- HTML, CSS and Javascript, basic. Enough to perform basic stuff, but not enough to build a responsive and shiny web for example
My soft skills:
- I want to learn new techs
- I need to learn new techs (to update my CV)
After reading quiet a bit about many tech available, I've thought the following:
- for the engine part (i.e. retrieve information from third party, display it on the web and mobile, send the email every night...), I was thinking of a full MEAN stack (I'm more attacted to mean.js even though mean.io look more mature) i.e. MongoDB + Express.js + AngularJS + Node.js
- for the administrative part (new users creation, login management): Java + Spring/Hibernate + regular MySQL + AngularJS
- Amazon EC2 instance with a Apache+Tomcat for the administrative part
What do you think + Some questions:
- Is it crazy to pretend I'll tackle in a different way the engine part and the administrative part?
- Could the MEAN stack also deal with all the administrative/login features?
- Is it crazy to pretend that I can get to learn MEAN stack with (at the moment) a limited knowledge of Javascript? The point of course is to learn it... I know there will be quiet a learning curve, but I'm ready for it.
- Is there an easy way to integrate Node.js with Java code? has anyone tried it? For example I would like to take advantage of non-blocking capabiltiies of Node.js, but call Java method to access the third-party API for example.
Thanks in advance for your advice.
Nicolas.