[JAVA] A story about creating a service that tells a story of a portfolio by developing alone

This article is the 19th day article of Advent Calendar 2019 developed by one person. (At the moment, it seems to be flying)

Introduction

Hello, this is Hide (@blue_islands).

Do you develop by yourself and put together your own work or something?

Most of the portfolios that you often see are just the finished products of the work, and most of them cannot be detailed, such as the actual hardships and the places you want to do. Therefore, I created a service called CHROCO, which I am developing, and I hope that the story of the difficulties of development at that time will be helpful to other developers as much as possible.

This article is a spelling of the battle when I created a service to put my works together.

What is CHROCO

First, I would like to introduce the Web service CHROCO that I created this time.

FireShot Capture 007 - CHROCO――ポートフォリオをストーリーで語る - chroco.ooo.png

At CHROCO, we have realized "** Show a story that cannot be told in a normal portfolio **".

  1. Show the production process on the timeline
  2. Deepen the story with a strong feeling and show the depth

1. Show the production process on the timeline

By arranging the methods that realized the ideas, the slides used in study sessions and presentations, the proposals that were lost, small achievements and ingenuity, and such things as a story, you can leave your thoughts and records at the time of production on the timeline. I will.

2. Deepen the story with a strong feeling and show the depth

You can create more stories in the story of one work, and you can realize another story in the story.

** The concept and the background of making it in note are summarized. ** ** note "The story of making the portfolio Web service" CHROCO "told in a story"

architecture

As for the service architecture, we use something like this. Many of them have been used for the first time, and I am having a lot of trouble. Well, that story will be in the later part.

1. Front end

2. Back end

3. Infrastructure

4. Other

This time, I was thinking of making it a modern front end, but since I used thymeleaf, javascritpt ran into jQuery, and it became a little classic configuration.

In terms of few usage examples, I think it's Neo4j, Auth0, etc. CSS is the Bulma framework It's a recent favorite.

Difficulties

After all, when I went to the point where I had a hard time, I had a lot of trouble handling "Neo4j" and "Auth0" which I had never used before.

1. Difficulties with Neo4j

What is Neo4j

Neo4j is the most popular open source graph database implemented in Java.

Difficulties

2. Difficulties with Auth0

What is Auth0

Auth0 is an Authentication Infrastructure Service (IdMaaS). It provides an authentication platform for mobile apps and web apps, and can call APIs such as new registration and login using a dedicated SDK.

Difficulties

3. Other difficulties

Markdown editor is batting with other libraries → Try using "EasyMDE" instead of "SimpleMDE" in Markdown editor

in conclusion

So far, I've had a lot of trouble with the ones I used for the first time, so I think I'll forget it unless I leave an article on Qiita as a memorandum.

When I make a service, I try to use one or two technologies that I have never used, but after all, when I make a first-time implementation level one, there are few things that can be used as a reference, so I am addicted to it. It will be a point, so I really wanted to summarize that area.

Last but not least, if you'd like, use CHROCO to put together your story and create a portfolio!