How and what kind of portfolio was created by inexperienced people Portfolio explanation → I will explain in the order of consciousness and hardships.
Please read if you like
** If you register your favorite manga, novels, etc. and your favorite author, you will be notified by e-mail 3 days before the release of the new issue ** By the way, the app name is Buksil. "Book" + "Know (new release)" isn't it? I like it. It's not cold. Someone said it was cold.
** If I wanted to create a portfolio, I wanted to create something useful for someone **, so I started creating it according to the following flow.
front end HTML/CSS(Sass) Bootstrap 4.5.2 jQuery 3.5.1
** Backend ** Ruby 2.6.6 Ruby on Rails 6.0.3.3
API Rakuten Books API, Rakuten Genre Search API
RDBMS PostgreSQL 13.1
infrastructure AWS (VPC / EC2 / RDS / IAM / Route53 / ACM) Own domain HTTPS conversion
The hardest part was DB design. I started by making a light ER diagram before development, but I could not relate well with the original concept, so I had to recreate it many times. Finally, it is as shown in the figure below.
Don't waste your time on senior employees and bosses when you get into business ** First of all, I was strongly conscious of solving it by myself **. Specifically, it may be mixed up, but the order is roughly as follows.
I used Slack to ask questions with the following configuration. ** I was conscious of making the content as small as possible and not wasting the other person's time. ** **
** I think it would be a loss to keep worrying alone in practice. If you cannot solve the problem by yourself to some extent (15 to 30 minutes?) By the above method, I would like to try to minimize the time loss by asking simple and just enough questions. think. ** **
I was conscious of developing a mock team assuming practical work. ・ Source control using Git and GitHub ・ List the necessary requirements in Issues and complete the task -Develop on a pull request basis by cutting the feature and fix branches
However, I later learned that Issues could be associated with Pururiku, so I regret that it wasn't easy to use.
** DB design ** As I mentioned above, I had the hardest time. Even if I thought I knew about the relation, it didn't work when I put it in my app, so I wrote it on paper many times to sort out the relationships.
** Applying Rakuten Books API ** I couldn't get an image of how to handle it only from the official document, and as far as I investigated, there were few usage examples. I repeated trial and error while actually writing the code, how to put it into my application from a small amount of information, what can be generalized from the usage example.
** Error resolution is insanely fun. ** ** ** I've been so excited that I pushed my hands up when I got over the error ** several times. It's like when you defeat a strong boss in a game. If you lose, you think about your next move and execute it, and it seems that you will win in the end.
I think I was afraid of errors when I started learning programming, but I wonder if I have grown up. After that, I thought that the work of repeating temporary construction and verification was similar to the current research work.
I still have something I want to do, so I would like to improve it one by one.
・ Responsive web design (smartphone compatible) ・ Flash display when registering/canceling favorites ➡ Implemented -Asynchronous processing when registering/canceling favorites ・ LINE login ・ Notify by LINE using LINE's Messaging API
Thank you for reading this long sentence If you like it, please ** LGTM **! I hope it will be helpful to anyone!
Recommended Posts