[JAVA] A story about an engineer who came only on the server side created a portfolio

Introduction

Recently, I often see articles such as Qiita and IT articles that creators created portfolios. When I saw the portfolio I actually created, I felt that my background, skills, and deliverables were posted on the site with a wonderful design, and that I was firmly appealing to the world. So I decided to create a portfolio myself and started immediately, but I forgot the important thing.

** I've never done a front end ... **

Looking back on my work, I've only been doing server-side work for about 10 years as an SE. The main roles in the project are DB construction / tuning, server-side programming, Web application deployment and operation management. Most of the front ends are outsourced, so we can't design at all. I've been using JQuery for a long time, so I can implement it all at once, but I've only touched css with pinpoints, and an elaborate portfolio is a dream again.

However, even though ** portfolio should be something that expresses my skills **, I wondered if I should really emphasize design because I have no design experience.

In the end, I came to the conclusion that "I have never done design in the first place, so I do not need an elaborate portfolio! Rather, I should create a portfolio that can appeal server-side technology!" I made it.

What was made

[wakaba-bbq's Portfolio][1] [1]:https://wakaba-bbq.com/login

For server-side technology, I think that a login function is necessary first, so I am making a login-type portfolio. ** You can log in with the following ID and password. ** **

Although it is published on GCP, due to cost reasons, we are using a machine type with overseas regions and low specifications. Please note that DB access etc. is late.

ID:user
PW:user

Concept plan

First, I thought about the functions I wanted to put in my portfolio and listed them.

--I want to use the popular "Vue.js" on the front end ――I want to make it a popular SPA (Single Page Application) ――I want to have a responsive design --The server side wants to use the familiar Spring Boot --I want to strengthen security --I want to make it a RESTful API --I want to deploy a web application with Docker --I want to use a reverse proxy --The appearance is minimal

I thought that if the portfolio had the above functions, it would prove my skills, so I came up with this idea.

What I actually used

There is no time to raise it in detail, but the outline is above. The version etc. will be described when posting detailed articles in the future.

About design

As I mentioned at the beginning, I can't design myself, so I chose a free template. I searched for the template here. [creative-tim][2] [2]:https://www.creative-tim.com/ [ferret][3] [3]:https://ferret-plus.com/8517

Functions that could be implemented

front end

Back end

--Login function to browse DB --CORS (Cross-Origin Resource Sharing) measures --CSRF (cross-site request forgeries) countermeasures --Control of API and display menu that can be executed by user authority

infrastructure

--Deploying a web application using Docker --Release on GCP --Reverse proxy settings

It has become an operating environment that can be released as an ordinary web service.

Procedure to release

  1. Create a frontend with Vue.js and build with Webpack.
  2. Incorporate the front end module into the back end and build with gradle.
  3. Build the completed jar file using Dockerfile. (The build itself was left to docker-hub)
  4. When creating GCE, set the container image to refer to docker-hub and release it
  5. Use Nginx as a reverse proxy and set the port forwarding

So far for the time being

We plan to pick up and post each of the technologies used as Qiita articles in the future. I will post about git-hub if requested.

Recommended Posts

A story about an engineer who came only on the server side created a portfolio
A story about a GCP beginner building a Minecraft server on GCE
Knowledge for those who are only thinking about running the Qore SDK on a Mac
A story posted on Kaggle by an amateur who doesn't even know the terminal over 3 weeks
A story about a person who uses Python addicted to the judgment of an empty JavaScript dictionary
A story about creating an anonymous channel on Slack from zero knowledge
The story of the escape probability of a random walk on an integer grid
A story about deploying a Twitter-linked app created using Flask + gunicorn on Heroku
A story about a 503 error on Heroku open
A story about trying to install uwsgi on an EC2 instance and failing
A story about building an IDE environment with WinPython on an old Windows OS.
Drawing tips with matplotlib on the server side
A story about displaying article-linked ads on Jubatus
A story about running Python on PHP on Heroku
A story about how Windows 10 users created an environment to use OpenCV3 with Python 3.5
I tried studying on the WEB server side at an in-house Python study session
A story about an error when loading a TensorFlow model created with Google Colab locally
[CentOS 7.3] Build an FTP server on the ESXi host
The story of launching a Minecraft server from Discord
A story about changing the master name of BlueZ
A story about a Linux beginner putting Linux on a Windows tablet
Create a shape on the trajectory of an object
When I created an ECR scan from a CDK, I could see the back side of the scan