Full Stack - Level 1 - Hannah Zhang

Hannah Zhang - Self Assessment - Module 1

1. An Overview of Things Learned

  • Technical Area: I refreshed my memory on Discourse, open source forums, and Ruby
  • Tools: STEM-Away forum, Discourse, Atom, Github
  • Soft Skills: Learned how to ask for help when necessary and synthesize information from videos

2. Achievement Highlights

  • I was able to successfully update Discourse and ensure that it ran properly
  • From videos and articles, I was able to refresh and self-teach myself various concepts in Ruby
  • I familiarized myself with the new format for the full stack pathway as well as the plan for the upcoming weeks

3. Challenges

  • Initially, I ran into the problem of Discourse not working despite having it installed previously
  • I was also unsure of what to do for the pathway hub, which prevented me from starting earlier and from reaching out for help

4. Goals For Module 2

  • To gain a deeper understanding of Ruby and master more advanced concepts
  • Be able to understand how Ruby connects to full stack
  • To learn to use Github in the context of a team (merge, pull, branches)

Hannah Zhang - Self Assessment - Module 2

1. An Overview of Things Learned

  • Technical Area: I was able to master many concepts in Ruby and learn how to create branches in Github
  • Tools: STEM-Away forum, Ruby, repl.it, Discourse, Atom, Github, Terminal
  • Soft Skills: I learned how to problem solve, work around the problem, and search for help when I ran into errors

2. Achievement Highlights

  • I was able to successfully complete the 4 assignments and get a 100% pass rate for all 4. Additionally, I had a lot of fun doing it and rediscovered how much I enjoy solving programming problems!
  • I really strengthened my problem solving skills by manually debugging my assignments when stuck by testing cases, looking at outside resources, and more
  • I created one of my first branches on Github and fully the understood process of how to commit

3. Challenges

  • I constantly messed up the syntax of Ruby since it was so different from previous languages I had worked with, so I was constantly debugging and problem solving
  • I was unable to attend the meeting module meeting so I had to figure out the task mostly on my own
  • When I updated my computer, git stopped working so I had to figure out how to get it working again

4. Goals For Module 3

  • To gain a deeper understanding of Github and learn more concepts beyond committing to a branch
  • Start experimenting and exploring with my local Discourse instance and refreshing my knowledge on open source forums and other concepts in full stack
  • Be able to attend the module meeting and be more involved on the STEM-away forum

Hannah Zhang - Self Assessment - Module 3

1. An Overview of Things Learned

  • Technical Area: I learned how to modify theme designs by manipulating header, footer, after header, and css files and then deploy the changes on my local Discourse instance as well as Theme Creator.
  • Tools: Local Discourse Instance, Theme Creator, Atom, Github, Terminal, STEM-Away forum, w3schools
  • Soft Skills: I learned how to search up examples when I wanted to create something and then apply the content to my own project. I also continued to learn how to problem solve on my own.

2. Achievement Highlights

  • For this module, I was able to take recent knowledge I had gained in HTML/CSS and implement it with theme creation, which was really amazing since I was able to see the usefulness of the knowledge I had learned through various applications. I was also able to go above and beyond by adding header and footer files to test as well as more advanced CSS!
  • When themes did not look the way I had intended, I learned to manually debug and fix the errors. I was also to debug much faster than I had in the past, which was a huge improvement!
  • I learned to use Github along with my local Discourse instance & Discourse Theme Creator to push changes and then update on the site I was viewing it at.

3. Challenges

  • At first, when working on my local discourse instance, I had no idea where to install the theme I had created and view it. Therefore, I worked with theme creator first before figuring out the local instance.
  • In the past I had mostly experimented with HTML/CSS on blank pages but Discourse already has content on the pages. So, I had to work around some of the problems and modify code so that the theme did not have excessive blank space or overlap existing content.
  • Since the Github repo originally only had an after_header.html and common.scss file, I was originally very limited in the places I could edit. However, I later discovered that by creating a header.html and footer.html file, I had greater flexibility.

4. Goals For Module 4

  • For Module 4, I hope to be able to explore and maybe even build more complicated Discourse themes and go beyond just modifying the design of the page.
  • Instead of just adding content, I want to explore how I can remove some of the existing content on Discourse.
  • Learn some concepts in Javascript in order to add more interactivity to the themes I create.
1 Like

Hello @hannahzhang

Glad to see your progress, we will be soon learning about advanced Theme and Plugin development.


Hannah Zhang - Self Assessment - Module 4

1. An Overview of Things Learned

  • Technical Area: I learned how to delete things from the existing template rather than simply adding content. Additionally, I learned the basics of Handlebars.js. Lastly, I learned to locate certain files in the Discourse codebase by using the Inspect element.
  • Tools: Local Discourse Instance, Atom, Github, Terminal, STEM-Away forum, Handlebars.js, JSFiddle, Discourse Codebase, Developer Guide, Chrome inspect tool
  • Soft Skills: I learned how to follow along video tutorials to implement changes on my own local instance. Additionally, I continued to work on problem solving skills by inspecting code when something went wrong and searching things up on my own when I did not understand something.

2. Achievement Highlights

  • For this module, I was able to take the knowledge from the previous module on modifying local Discourse themes and really build on it. In the past, I remember that in the Developer’s Guide to Discourse Themes, I could only get to the “Your First Themes” section before getting stuck. However, in this module, I was able to get all the way to “Advanced Discourse Themes” and follow along with the content there, which was a huge achievement for me.
  • I learned a lot about Handlebars.js and how it can be used to integrate HTML and Javascript. It was really interesting to see the syntax and how it was surprisingly very similar to React.js. In the end, I was able to successfully use Handlebars.js to write up simple code and add a bit of css as shown here: https://jsfiddle.net/hannahjzhang/9qedtp6b/38/.
  • Discourse has a huge codebase and in the past, I’ve found it impossible to navigate. However, in this module, I was able to learn how to use the inspect element to target specific files and make it easier to find where changes need to be made. Then, I learned to find specific codes of line to delete in order to make the views section go away.

3. Challenges

  • Even though I had read the Handlebars.js guide, I was still easily confused regarding syntax and why certain lines of code were necessary. Therefore, when I wanted to write something, I had to take a lot of time to find out what needed to be added and how, before implementing the logic.
  • Despite the inspect tool, I still found it hard to locate the specific file necessary to change the part I wanted to. Therefore, I worked to follow along with the module 4 video, and I was then able to locate the files necessary to change the views part.
  • The syntax used in the files I worked with were much more complicated and so I could not truly understand what all the code did. Add, I made silly mistakes like naming a file body.html instead of body_tag.html, which cost me time.

4. Goals For Module 5

  • For module 5, I hope to get better at using the inspect element to find file names, and then actually locate the right file in the Discourse codebase.
  • I hope to get a better grasp of the code used in the Discourse codebase and become more familiar with the way it works, so that I can better modify it.
  • Be able to go through more of the Developer’s Guide to Discourse Themes article and implement more advanced themes that are more personalized or have more features.