My project is an application that generates a random skate trick and combining it with a stance. The steeze is dependent on what the stance and trick is.
- 1_server: Sends out a request to 4_SKATE, to return the full trick, that is diplayed on a HTML page.< /li>
- 2_stance: This recieves a request from 4_SKATE, asking for a stance. A random number is generated which determines which ID is chose out of the stance table
- 3_trick: This recieves a request from 4_SKATE, asking for a trick. A random number is generated which determines which ID is chose out of the trick table
- 4_SKATE: This recieves a request from 1_server, so it then send out requests to 2_stance and 3_trick, to get the stance and trick. Once they have been retrieved, the steeze is then calculated, dependent of the stance and trick. Once this is done, these value are stored in a dict and jsonify'd.
- NGINX: Is used as a reverse proxy, this is so the use does not have direct access to VM's
- SQL DB: This has preset list within the stance and trick tables, these are queried and information is sent back to the relevant place
The picture is below is the continuous integration pipeline. This allows for rapid and efficient development to deployment. Using webhooks, once the user pushes code to the master branch, the code is tested, if it pasts the tests, then ansible is installed on the machine and docker starts to build the images. This allows for there to me no down time during deployment.
To track the progress of the project and layout what was needed, Githubs project tracker was used to do this. I linked issues to certain pull-requests therefore slightly automating the kanban board. The board has several collumns, this allowed to keep tabs on the progress.
- To do: This showed what was still needed to be completed
- In progress: This shows what is currently being worked on
- Completed: This shows all the issues that have been completed
- User Stories: This shows all the user stories
High coverage was produced accross all services, unfortunately when implementing new features, I was un able to get high coverage of 4_SKATE. Testing is fully automated, so whenever someone pushes code to master branch, it is tested.
- Due to the limited resources of GCP, after all images are uploaded and updated, sometimes it will revert to the old code, but only for a few seconds.
- Allow for the user to store their trick< /li>
- Higher coverage on 4_SKATE
- Improve the front end, and make it more visually appealing