syap
June 16, 2021, 2:15am
1
Sean Yap - Full Stack Self-Assessment - Module 1
1. An Overview of Things I Learned
Technical areas:
Understand what Discourse is, why it was created, and how it is being used.
The different tools and commands used to install Discourse such as: brew, RubyGems, and bundler because I did not want to copy paste commands without knowing what it does.
The basic syntax of Ruby and the similarities and differences with other programming languages I know like Java and Python
Tools:
Package managers: brew, RubyGems, bundler
Terminal: zsh shell
Discourse framework
Soft Skills:
How to search for answers online for questions and issues I have when setting up Discourse
How to manage time on learning and working with abstractions instead of learning every possible nitty-gritty details that came along the way
2. Three Achievement Highlights
Successfully setup and run the Discourse web app using new tools that I did not use before.
Learned the basic syntax of Ruby and how to implement basic programming concepts like variables, data types, and data structure in Ruby
Develop a habit to document my progress on things I learned and performed
3. Tasks Completed
Installed, tested and ran Discourse on my local machine, along with integrating Discourse’s backend (ruby on rails) with Ember.js framework
Debugged the errors I faced when installing Discourse. Namely:
Watched the Ruby introduction videos and took some notes to help learning and remembering
4. Goals for next week
Understand the tech stack used by Discourse and how Ember.js manages the frontend
Browse meta.discourse.org website to brainstorm some ideas for theme and plugin development
syap
June 30, 2021, 3:53am
2
Sean Yap - Full Stack Self-Assessment - Module 2
1. An Overview of Things I Learned
Technical Areas:
How to write simple Ruby programs
How to run tests on my programs to ensure they meet expectation
How to work with Git and solidified the differences between Git and GitHub
Broad overview of Discourse’s codebase and architecture
Tools:
Ruby, VSCode, and Terminal
Soft Skills:
Continue developing a habit to take notes on things learned to improve understanding
Learning to manage time between learning new concepts and application
2. Three Achievement Highlights
Successfully clone the remote full-stack repository into my local machine using git clone
Able to run both Discourse’s rails server and Ember CLI locally on my machine
Learned to work with git branches to separate my codebase from master branch
3. Tasks Completed
Studied the videos provided to learn the technologies: Git, GitHub, and Ruby
Completed the Ember and SCSS readings and guides to understand how Discourse uses these technologies
Put together a mental picture of Discourse’s architecture and how its tech stack works
4. Goals for next week
Develop greater understanding of using and developing Discourse themes
syap
June 30, 2021, 3:59am
3
Sean Yap - Full Stack Self-Assessment - Module 3
1. An Overview of Things Learned
Technical Areas
Learned about how Discourse themes and theme components work
Refreshed memory on HTML and CSS and learned about SCSS
Obtained more experience working with Git CLI and GitHub platform
Tools
VSCode, Terminal, Git, GitHub, Discourse platform, Browser’s developer console and DOM inspector
Soft Skills:
Developed experience reading technical documentations to learn new features
Maintained routine in taking notes on things learned and writing about the process
2. Three Achievement Highlights
Applied what I learned to develop a Discourse theme for my local Discourse forum
Worked with browser’s developer console and DOM inspector to assist my theme development process
Made changes and previewed my Discourse theme on the Theme Creator site
3. Tasks completed
Finished reading the “Developer’s guide on Discourse Themes”
Setup a pipeline on my local machine for Discourse theme development
Developed a simple Discourse theme and previewed changes on my local Discourse
4. Goals for next week
Start learning about more advance topics such as API endpoints and AJAX requests
syap
August 3, 2021, 10:18pm
4
Sean Yap - Full Stack Self-Assessment - Module 4
1. An Overview of Things Learned
Technical Areas
Learned about AJAX request how to send it to receive data
Studied Handlebars syntax and Discourse’s widget
Understand the idea of plugin and what are some things it can do
Tools
VSCode, Terminal, Git, GitHub, Discourse platform, Browser’s developer tools
2. Three Achievement Highlights
Updated basic theme to work with the Plugin API
Utilized a plugin outlet to insert a custom code into my theme
Learned the differences and benefits between a DOM and virtual DOM
3. Tasks completed
Read the documentation guide on Handlebars, Virtual DOM, and AJAX
Identified some plugin outlets Discourse provided and how to add custom code to it
Held team meetings with group to follow up with what they worked on and answered their questions.
4. Goals for next week
Start looking into some examples of Discourse plugins and the development workflow
syap
August 4, 2021, 3:35am
5
Sean Yap - Full Stack Self-Assessment - Module 5
1. An Overview of Things Learned
Technical Areas
Learned to create a Discourse plugin
Read the documentation to use the plugin generator to create plugin files
Go over the basics of Ruby on Rails and how Discourse uses it in their codebase
2. Three Achievement Highlights
Learned the workflow for developing a Discourse Plugin
Understand the basic syntax and folder structure of Ruby on Rails
Created a custom route in the admin interface and added additional settings
3. Tasks completed
Read the documentation guide on Ruby on Rails and Discourse Plugins Development
Used a plugin generator to create a blueprint to start developing a plugin
Brainstormed with team about some plugin ideas to work on in our final project
4. Goals for next week
Learn more about Discourse plugins development and how to publish a plugin