Full Stack Self-Assessment - Ryan Kwong

Module 1 - Getting Started

1. Overview

Technical Area

  • Learned about the Discourse platform and its codebase
  • Practiced Git and GitHub skills and how they work with open-source projects
  • Reviewed command line commands
  • Learned Ruby syntax both from the videos provided and Linkedin Learning

Tools

  • GitHub
  • Discourse

Soft Skills

  • Communication - Worked on establishing communication with team leads to find information needed for the program
  • Time Management - Worked out a schedule between tasks for stem-away and other program that I am doing.

2. Three Achievement Highlights

  • Gained a fair understanding of Ruby syntax
  • Reviewed Github and command line skills that I haven’t used in a while
  • Attended all team meetings and started talking with other team members

3. Goals for Upcoming Weeks

  • Install Discourse developer environment
  • Learn about Ember JS and SCSS and how they work within Discourse
  • Continue learning Ruby, specifically Ruby on Rails

Module 2 - Dev Environment Setup

1. Overview

Technical Area

  • Installed Discourse locally
  • Learned Ember.js
  • Learned SCSS and how it relates to CSS

Tools

  • Discourse

Soft Skills

  • Reading Documentation - Worked on how best to go over documentation of a new language
  • Debugging - Worked on searching through forums on specific errors I was getting during installation

2. Three Achievement Highlights

  • Gained a fair understanding of Ember.js and SCSS and how it works within a tech stack
  • Installed Discourse developer environment

3. Goals for Upcoming Weeks

  • Continue learning Ember.js and SCSS
  • Brush up on HTML/CSS/JS in preparation for developing themes
  • Create a basic theme and start brainstorming ideas for potential capstone projects

Module 3 - Developing Discourse Themes

1. Overview

Technical Area

  • Learned about how Discourse themes and components worked
  • Learned how to use the Discourse theme-creator to test out themes
  • Learned how HTML and SCSS are used to create themes in Discourse

Tools

  • Discourse
  • Github/Git
  • VSCode
  • DOM inspector

Soft Skills

  • Reading Documentation - Worked on how to follow a guide on learning a new skill and how to find related content that might be useful.

2. Three Achievement Highlights

  • Developed a simple theme for Discourse
  • Learned how the DOM inspector can be used for front-end design
  • Brainstormed a few ideas for the final project

3. Goals for Upcoming Weeks

  • Update basic theme to use more complex compents
  • Go over the different styles in the style guide that can be potentially used
  • Go into more detail on brainstormed ideas

Module 4 - Advanced Discourse Themes

1. Overview

Technical Area

  • Learned about handlebars templates and how they can be used in themes
  • Learned how to use a remote theme from Github

Tools

  • Discourse
  • Github/Git
  • VSCode
  • DOM inspector

Soft Skills

  • Brainstorming ideas for plugin project

2. Three Achievement Highlights

  • Updated previous theme with new material learned this module
  • Learned how AJAX requests can be used.

3. Goals for Upcoming Weeks

  • Come to meeting with fleshed out ideas for plugin
  • Continue testing things in theme and see if they can be used in the final project.

Module 5 - Discourse Plugin Development

1. Overview

Technical Area

  • Learned about to create a discourse plugin
  • Learned how to use plugin generator to create file structure

Tools

  • Discourse
  • Github/Git
  • VSCode
  • DOM inspector

Soft Skills

  • Communication with team on ideas for plugin project

2. Three Achievement Highlights

  • Created a basic plugin that toggled an image
  • Presented potential ideas to team

3. Goals for Upcoming Weeks

  • Make a more complex plugin that utilizes multiple application layers
  • Continue on plugin guides

Module 6 - Plugin Development Continued

1. Overview

Technical Area

  • Learned how backend interacts with frontend in Discourse
  • Learned how to use Discourse’s PluginStore to store data

Tools

  • Discourse
  • Github/Git
  • VSCode
  • DOM inspector
  • Ruby
  • PluginStore

Soft Skills

  • Planning - Selecting a project idea and seeing which tasks are needed to complete it

2. Three Achievement Highlights

  • Completed the notebook sample project
  • Agreed on project idea to go forward with

3. Goals for Upcoming Weeks

  • Start thinking about task I want to work on
  • Start researching how to complete assigned task

Module 7/8 - Putting It All Together

1. Overview

Technical Area

  • Learned how to use Ruby to create functions for PluginStore
  • Learned how backend controller works with PluginStore to retrieve/send data
  • Learned how to format AJAX requests to match up with established routes

Tools

  • Discourse
  • Github/Git
  • VSCode
  • Ruby
  • PluginStore

Soft Skills

  • Communication - Had to communicate with backend team to figure out how to design database and how data should be formatted.

2. Three Achievement Highlights

  • Designed database to store needed data
  • Created functions for backend controller to use to update, remove, and retrieve data from database
  • Created functions for frontend controller to send AJAX requests to retrieve/send data to backend

3. Goals for Upcoming Weeks

  • Finalize code and ensure that plugin is working as intended