Intro to the EventSearch JHipster project
Hi there! I completely forgot that technical part should be in English, heh:) So let the game begin!
This technical posts series is retrospection from my learning process. The whole series is due to Maciej Aniserowicz contest Get Noticed!, where more than 1000 people are gonna writting their tech blogs for 3 months. Two post a week, repo on github, a lot of knowledge and great fun.
Back to work. I’ve been working as java programmer almost for last four years, but never had a chance use generators in development process. Sometimes I was writting CRUD stuff on my own, sometimes using some generics, but in most cases it was quite boring. The best pins and needles I had when I was writting business logic. So why don’t we try to minimize repetable actions using generators and focus on functionalities?
Code generators in java
Last year I’ve tested some java projects which were trying to help us generate backbone of the application. After a long research I’ve found four most fine-looking plugins:
1) Spring Roo – generates ugly code, lots of aspects, difficult custom modification.
2) Telosys tool – much better than Roo. Allow to generate both frontend on Angular and backend with Spring. Nice online tutorials. Sometimes I had problems with running this plugin, but Telosys tool was quite good. The biggest minus is IDE: it works only on Eclipse.
3) NetBeans IDE has their own PrimeFaces CRUD Generator plugin. It generates code in Primefaces and JPA. Little to custom technologies, but looks like working quite stable. You can concern this way if you really need to use PrimeFaces template system.
4) And last but not least – JHipster – newest, still being updated, more and more developers tries to use it. Supports Intellij Idea:)
What this JHipster is?
JHipster is a Yeoman generator, used to create a Spring Boot with Angular project. Tool is based on Spring Boot and gives you a lot of profits (reliable and stable java core, Boot statictics, health checks, etc). You can decide what to use on DB access (Hibernate/JPA) and frontend (Angular/Angular2/React). You can enable Spring Security with filling configuration only. Has many developed plugins which can faster working with such technologies as Elastic Search, Apache Cassandra, Mongo DB and more. And the code looks quite nice. Easy to maintain and adding modification.
I’ve decided to use JHipster in EventSearch project. Event search will be a place where you will be able to look for upcomming events in your neighbourhood. User will be able to sign in for event and get remainder about it. User will be able to create his own account with social way. System will match user’s expectations and recommend similar events using elasticsearch. Maybe we will be able to use Mongo DB for something. Data will be mocked using faker. Maybe google maps integration? We will see, what will be interesting to use with JHipster 🙂 I’m thinking also about test of Heap analytics, this could be cool stuff!
Source code is available on https://github.com/padob/eventsearch so let’s star it and take a look there from time to time 🙂