【Day 713】I release online board game service

2021.01.14

I released an online board game service for in-house training. It took 4 months for development.

This development was my first project with Vue.js. I want to write down about reflection!

Project Overview

  • Created with Laravel, Vue.js, and Bootstrap.
  • In charge of all development except for the requirements definition phase.
  • I adopted Laravel Echo and Pusher to realize bi-directional communication for the board game.
  • Vue.js is mainly used in board game pages. Other pages are created with Laravel and JQuery.

I had only the experience of coding an official tutorial about Vue.js, but the client let me handle this development.

A non-experienced job always makes me super growing. I appreciated my client for giving me a great opportunity.

I always felt anxious while I developed

I always felt anxious while I developed. Could I finish this development?

I drew a schedule and developed it along with that. However, I had to reschedule many times due to my lack of knowledge.

I needed to learn Pusher, Laravel Echo, bi-directional communication, and even Node Package Manager(npm) in early development. It was too difficult for me to estimate person hours correctly. Thus, regardless of the schedule, I had to develop as hurrier as possible.

I was relieved to be able to have finished development.

I learned I could do that challenging project! I will actively raise my hand even on such a challenging project.

Using Bootstrap with Sass

I had often used bootstrap as CSS (only import). In this project, only the outline of UI was defined, and I could code to my liking.

So, I customized Bootstrap, which means edited sass files. In Laravel, I only edit /reasource/sass/_variables.scss and input the command npm run dev.

It was beneficial and highly maintainable! That made development time short.

I will use it from now on!

What is Bitnami??

I deployed to Amazon Lightsail for development and production environment. OS is debian, and it uses Bitnami.

I had experienced deployment of Laravel to only CentOS. In the case of Bitnami, the directory structure and commands are completely different from CentOS.

I estimated deployment time was short because I had deployed Laravel many times, but It was a mistake. That made me in trouble...

I realized again that software development is complex.

To deploy, I googled a lot and knew Lightsail was an excellent service. I only had to git clone and composer install to deploy the Laravel project to Lightsail because the Necessary modules(PHP, Git, and more) have already been installed in LightSail since I created Instance.

Moreover, Lightsail is very reasonable! It may be better to use Lightsail than the Japanese Web hosting service Xserver...(I often use Xserver for my development).

Testing is hard for game service.

Testing was especially hard for game service because I had to play the game until it finished to test the end of functions. It was a waste of time to play the game only for that.

In the later development, I created some functions for testing. That made testing time short. I should have started that in the early development...

The testing function is handy in what kind of systems. I will create it in the next development too.

Go to the next development!

I could have gained knowledge of many technologies. For example, Vue.js, Laravel Echo, LightSail, and so on. All of that was a great experience!

But I had much hard time developing it. I hope the next project is different.

At last, I will tell you the words that helped me in this development.

  • it will end someday if you proceed in to correct direction

I like that word. I believe that words and finished development in this project.

Thank you for reading!