Project Manager for One — 5/19 Sunday Execution Report

Yeonjoon Choi
Project Manager For One
4 min readMay 19, 2019

TL;DR

I will build a personal website using the agile methodology.

I will use Git Repo to manage Flask for the back-end, Angular for the front-end web application.

I will containerize the web application using docker and ship to AWS on my domain.

Kanban

Kanban Board as of 5/18 4:10 PM

Planned

My first article has captured the following in my Kanban board the following as TODOs:

  1. Decide cadence for project management
  2. Build High-Level project requirements
  3. Decide technology stack for the website
  4. Research hosting options
  5. Write this article

As you can see, this short week’s focus has been on project initiation.

Cadence for Project Management — Completed

Broadly, the project will take advantages of agile methodology. Simply put, agile methodology is built for the constantly changing requirements. Instead of showing the completed product at the very end, I will go through many iterations of the website being built with the changing requirements. The methodology focuses on getting continuous feedback from the customer and improve based on the feedback. You can read more about the agile methodology below.

As you know I have already set up the Kanban board for you to follow. You can learn more about Kanban board in the link below by Atlassian.

I will have the following set up:

Sprint Planning — Plan what to work on for the given week (Monday Article)

Daily Scrum Meeting — This is usually done in a team setting but I will keep the log of what I have accomplished, what I will be working on, and what are the risks. (Sunday Article)

Sprint Retrospective — Discuss what went well, what could have improved (Sunday Article)

Build High-Level Requirements

I want to build a portfolio Web Application. Like any portfolio website, the purpose is to showcase my work, provide contact information and resume. My end goal for this website, however, is to display some of the quantifiable attributes about me, both from my manual entry and from making an API call to external websites that hold my information. Some of the data points that I want to use are:

  1. Website Analytics Data — To display page access/interaction
  2. GitHub Activities Data — To display how actively(or inactively)I am coding
  3. Health Data — To display sleep, exercise patterns
  4. Financial Institutions Data — To display and analyze my spending patterns

For the first iteration, here are the main goals that I want to showcase within my website:

  1. About Me — picture and a short bio to introduce myself
  2. Resume — up-to-date single page Resume in PDF
  3. Contact Information — include Social Media (LinkedIn, Medium) and E-mail
  4. Display of at least one Dataset

As the website matures I will revisit this frequently. On the Monday planning article, I will showcase user stories that are accounted for the above.

Decide Technology Stack/Language for The Website

Part of the reason why I am building the website is to identify the gaps I have in building a fully fledged web application. I am excited that this will bring a lot of challenges and learnings from developing a website.

As per code management, version control, I will use GitHub to host my code. Please find my repository here.

For the backend, I will use Python Flask. It is a lightweight micro-framework that I have some working knowledge of. In the future, I would like to take the website to process and visualize many of the datasets and I found Python to be the easiest one to process the data with.

For the frontend, I will use Angular. Angular is a modern front-end framework developed by Google. Amongst other tools, Angular has one of the most comprehensive sets of documentation and tutorials to follow. This will be new learning for me.

I will use Docker to containerize my application and deploy to hosting website. Please find the video by Solomon Hykes, the founder of Docker, here. Docker is used to shipping the software. As the video mentions, Just like the shipping companies are putting goods into a same-sized shipping container, docker enables the code that is built to be in the standard format to be shipped to someone else’s laptop and to the server that the developer wishes to host the software. Docker is another popular tool that I am not used to that I am hoping to be familiarized by the end of this project.

Decide Hosting Options

I have purchased the domain that I will be using at the GoDaddy website. I now have the ownership of http://yeonjoonchoi.com. Currently, you will see it only has GoDaddy’s templated page that the domain is taken. In the future, you will be able to see my web application in that domain.

I have decided to learn and successfully deploy to AWS. What really inspired me to go with AWS was AWS re:Invent 2018 presentation which you can watch here. I found it astounding on one of the slides that say AWS is “the broadest and deepest cloud platform for today’s builders.” After watching the video, I put their statement to the test. Try typing in “AWS for X,” I have found it harder to find something that they do not have.

My first set of AWS service usage will be rudimentary (Route53, S3, and EC2) but I will explore more options to add as the website matures.

Write This Article

Last but not least, writing this article was the hardest out of all the tasks…

I will come back with a more detailed plan on Monday on what I will be working on throughout next week.

--

--