This article is the 19th day article of Advent Calendar 2019 developed by one person. (At the moment, it seems to be flying)
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.
First, I would like to introduce the Web service CHROCO that I created this time.
At CHROCO, we have realized "** Show a story that cannot be told in a normal portfolio **".
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.
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"
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.
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.
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.
Neo4j is the most popular open source graph database implemented in Java.
** Cooperation between Neo4j and Spring boot **
Spring Data Neo4j I used the one, but I had a hard time with the English document because there was no article in Qiita or Japan.
** Handling of Neo4j unique key **
Neo4j ID is a serial number, but the free number when deleting data is reused, so it should not be used as a unique key. I knew this while I was making it, so I had to redesign the data structure.
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.
** Cooperation between Auth0 and Spring boot **
There are many samples of cooperation between Auth0 and Spring boot as shown in the image below, but since it is not a thymeleaf sample but a JSP sample, it is necessary to replace it. I was a little annoyed.
** Spring Security is the first time **
Since I used the Spring Security sample of Auth0, I had never touched it in the first place, so it took a lot of time to understand the mechanism.
Markdown editor is batting with other libraries → Try using "EasyMDE" instead of "SimpleMDE" in Markdown editor
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!
I created a service that tells the story of the portfolio. December 19, 2019 blockquote>
Recommended Posts