Full Stack - Level 1: Module 4 - Juan Marcos Gutierrez Ramos

1. Overview

Technical Area

  • Git and GitHub. Push Discourse theme code to GitHub and preview theme in local machine.
  • Handlebars. Learning the basic syntax and test what was learned in JSFiddle
  • HTML. Use of script and implementing Handlebars
  • Windows Terminal. Reinforcement of basic command lines. Restart Discourse server to test plugins.
  • Discord. Working with handlebars, make custom theme development and plugin development. Navigate and familiarize with the Codebase


  • STEAM-AWAY forum
  • Ubuntu
  • VS Code
  • Windows Terminal
  • Trello
  • Discourse in Local Machine
  • Discourse Forum

Soft Skills

  • Improvement in use of project management tools
  • Read technical documentation to learn new subjects and solve problems
  • Learn to read and familiarize codebase created by other developers

2. Achievements

  • Learned the basic syntax of handlebars.
  • Solved a problem, where the activity column was not showing data, modifying the activity template.
  • Learned how to create a discourse basic plugin to show an alert when the application loads.

3. TASKS Completed

Brief overview on Handlebars.js. The documentation was clear, it is a really useful tool. I was replicating the code in JSFiddle while reading the introduction in the official website. The syntax is similar to what I am familiar with, but I need more practice.

Locating templates and components in Discourse Codebase and modifying them. I watched the video provided in this module two times. The first time I was taking notes, and the second time I followed and make the same changes in my branch of the repository. The instructions were clear and easy to follow. I am not familiar with jQuery, and I need to reinforce my learning about DOM. During this step I was getting myself more familiar and comfortable with Discourse Themes and GitHub connection.

Previewing changes of Theme live on Discourse running in the local machine. This asset was practiced in the previous task. Every time I made a change in the code I pushed it to my branch of the repository and preview the changes to the Theme. I dind’t encounter problems in this step. I am aware of working in a branch and not in the main repository.

Brief overview of widgets and pluginAPI. I read the first part of Discourse API Documentation and I also read the beginner’s guide to creating discourse plugins. I was able to replicate the example and I created an alert that shows every time the application starts. I learned how to stop the server and restart it, in order to see the plugin modification.

Solving a problem. The activity column was not showing data. Probably this problem only occurs in my local machine. The activity column didn’t show the last activity of the topics. I solved this issue creating a script in the body_tag.html so I can modify the activity-column.hbr. I erased this line of the code: {{~raw-plugin-outlet name="topic-list-before-relative-date"~}} that was inside the a tag. I took that decision reviewing the code in the other lists. It solved the problem.