AlexChiu - Full Stack (Level 2) Pathway

Module 1 - Getting Started

1) Overview of What I Learned

  • Technical Area:
    • Learned about Discourse such as the the similarities and differences between Stack Overflow. Also, learned about the structure of the Discourse stack.
    • Learned about Open Source projects. Specifically, learned how to contribute to open source projects and write helpful mark down files.
    • Reviewed Ruby syntax
  • Tools:
    • GitHub - very useful to create any project because of version control and collaboration.
    • Discourse, an online open-source and forum based software
  • Soft Skills
    • Leadership: Team communication was a bit slow initially. I went ahead and created a shared google folder to be a one-stop-shop for our team to find information like meeting links, meeting minute notes, and other resources.

2) Three Achievement Highlights

  • Learned more about GitHub and how it can be used, especially for Open Source projects.
  • Although I have previous experience with Ruby, I reviewed Ruby syntax to become more proficient.
  • Coordinated team meetings and information better.

3) Challenges

  • Some team members not fully active and hard to get quick responses since team members are from all time zones.

4) Upcoming Goals

  • Will complete Module 2 and complete the Self assessment.
  • Will further meet with team, host office hours, and be a responsible technical lead.
1 Like

Module 2 - Dev Environment Setup

1) Overview of What I Learned

  • Technical Area:

    • Learned about the structure of the Ember.js framework. For example, how routes help carry information from page to page. I also learned about “Services” in Ember which is similar to the states in React.js because information from different “states” is transferred/saved this way.
    • I also learned about SCSS which is makes CSS much easier to write. For example, you can have a hierarchy of elements which helps with writing the style and with readability.
    • Learned about Symlinks when using the terminal which can help connect two different projects. This is helpful because the two projects can have their own Github repository, but still interact with each other. This way, the versioning of the two projects does not affect each other and you have two independent projects.
  • Tools:

    • Learned more about the Discourse testing suite
  • Soft Skills

    • Leadership: I was still able to hold office hours and help my team members make progress.
    • Learning/ Listening: Although I am a technical lead, I still needed help with dealing with problems with my Discourse testing suite. Therefore, when I attended Office hours for Leads, I was needed to listen and learn from a great mentor, Bijay.

2) Three Achievement Highlights

  • Gained some familiarity with the Ember.js framework
  • I have extensive experience with CSS, so learning how SCSS extended the capabilities of CSS was very easy to grasp.
  • Reached out for help and also learned about the Discourse testing suite.

3) Challenges

  • The testing suite in Discourse can be very finicky and can just be due to the configuration of some gems in Rails.

4) Upcoming Goals

  • Will complete Module 3 (create a styling theme) and complete the Self assessment.
  • Will further meet with team, host office hours, and be a responsible technical lead.

Module 3 - Developing Discourse Themes

1) Overview of What I Learned

  • Technical Area:

    • Started to apply my knowledge of Ember.js by building ember components to create some simple themes.
  • Also started to apply my knowledge of SCSS which made styling way easier for multiple components or nested components, but also the transition from CSS to SCSS was very smooth.

  • Although I use the Chrome developer tools to inspect HTML elements all the time, I did not realize you could do this on Safari as well.

  • Tools:

    • Learned more about the the Safari developer tools.
    • Used Github more to create the remote discourse theme and install it on Discourse directly.
  • Soft Skills

    • Leadership: communicating the exceptions of our meetings and trying to gain more weekly attendance for our meetings. Also, summarized the topics discussed for this week’s meeting and stating the goals of next week in the meeting minutes.

2) Three Achievement Highlights

  • Gained more familiarity with the Ember.js framework by building a simple theme
  • Discovered the ability to use developer tools in Safari!
  • Connected more with other leads and solidified a plan for our team to have more participation leading up to our plugin development.

3) Challenges

  • Had a hard time selecting some components using the DOM. However, I later learned from one of the mentors, Keegan, that this is because some components are not rendered immediately at page start because they are ember components which have a different lifecycle. This problem helped me understand the ember components more and how to use the DOM more effectively.

4) Upcoming Goals

  • Will complete Module 4 and complete the Self assessment.
  • Will further meet with team, host office hours, and be a responsible technical lead.
  • Will solidify a plugin idea for next week to start production.

Module 4 - Advanced Discourse Themes

1) Overview of What I Learned

  • Technical Area:
    • Learned more about how handle bars help build themes. Specifically, handlebars help specify certain locations where a custom theme component can be added.
  • Learned about the Virtual DOM which is not only used by Ember.js, but other libraries like React.js. This technique helps build/load webpages faster by “diffing”, which means only changed components on the webpage will be re-rendered.
  • Tools:
    • Started to use the Safari developer tools to find exactly the components/ class names to target specific components.
  • Soft Skills
    • Leadership: this week was a bit more intensive on leadership since we are preparing for our final project (to build a discourse plugin). Therefore, the project lead and I discussed possible plugin ideas with our team and we voted to see which idea seemed the most interesting for us. I will also hold a GitHub workshop to teach/standardize a way for our team to work together using Github. For example, using branches to create different features and then creating pull requests.

2) Three Achievement Highlights

  • Gained more familiarity with the Ember.js framework by using handlebars and Ajax requests to build a complex theme
  • Learned a bit more about Ajax. Not entirely clear on how they work just yet.
  • Coordinated with team pretty well for our project ideation and we solidified an idea. I am excited to get everyone productive into working on their tasks.

3) Challenges

  • Had a bit of trouble coordinating ideas with the team members not present at the weekly meeting since everyone is in different time zones. Will need to set up a Jira account to coordinate tasks more.

4) Upcoming Goals

  • Will complete Module 5 and complete the Self assessment.
  • Will further meet with team, host office hours, and be a responsible technical lead. I will also be adding in the Github workshop for this week as well.
  • Will solidify plugin tasks so that team members can sign up for them on Jira.

Module 6 - Plugin Development

1) Overview of What I Learned

  • Technical Area:

    • Learned to create a very simple Discourse plugin that gives alerts upon loading Discourse.
    • Learned that the structure of the plugin project is very important because Discourse looks for certain templates, routes, and controllers in certain directories.
    • Gained a better understanding of how to connect frontend components to the backend such as using the plugin store to access the discourse database.
  • Tools:

    • The available plugin outlets (specifies where html components can be placed on the webpage)
  • Soft Skills

    • Leadership: we learned this week that we will be merging with team 1. Therefore, we will be needing more coordination and to refine the tasks so that everyone in this larger team can contribute to this plugin idea.
  • Communication: I was able to hold a workshop to teach about basic git commands and using GitHub for team collaboration which not many team members had experience with. I was also able to answer all the questions that my team had.

2) Three Achievement Highlights

  • Built a simple plugin and gained a better understanding of connecting the frontend and backend
  • Successfully hosted a GitHub workshop to teach team about GitHub collaboration.
  • Created a preliminary task list for team members to start on.

3) Challenges

  • The bigger team size will definitely pose a challenge. I will need to coordinate more with the project lead to get the whole team on the same page.

4) Upcoming Goals

  • Coordinate with project lead
  • Create a final task list for a larger team
  • Overall maintenance to ensure plugin development is going well.