Okolgeli - Full Stack (Level 2) Pathway

Module 2

  • Concise overview of things that I learned and technologies that I used
    • Technical Area
      • Ruby
      • JavaScript
      • Ember.js
      • Handlebars.js / HTML
      • SCSS
    • Tools
      • Git
      • Command Line
      • MacOS
    • Soft Skills
      • Self-learning
      • Time Management
      • Troubleshooting
  • Three achievement highlights
    • Installed Discourse on MacOS for development using Docker
    • Completed the Ember.js tutorial by building a simple Ember app; read the Ember.js guides that are on the official Ember website
    • Read the SCSS guide that is on the official Sass-lang website
  • Goals for the upcoming week
    • Creating a simple Discourse theme and pushing it to a public GitHub repository
    • Using the front-end technologies that I learned this week
  • Detailed statement of tasks done
    • I ran into a few issues when I tried to install Discourse for development without using Docker, which was probably caused by having the wrong version of Ruby pre-installed on my Mac. Then, I decided to use Docker to avoid such problems in the future, and the installation process after that was smooth and straightforward.
    • I watched freeCodeCamp videos on Ruby and did freeCodeCamp's JavaScript exercises to learn more about Ruby and JavaScript.
    • I read Ember guides as well as SCSS guides to better understand the Discourse codebase. I periodically skimmed through the codebase in order to get a better understanding of it each time.

Module 3

  • Concise overview of things that I learned and technologies that I used
    • Technical Area
      • SCSS
      • HTML
    • Tools
      • Git
      • Command Line
      • Discourse Theme Command Line Interface
    • Soft Skills
      • Active learning
      • Self Assessment
      • Task Management
  • Three achievement highlights
    • Created and developed a basic Discourse theme; pushed my theme to a public repo on GitHub
    • Extensively used the DOM Inspector to determine what changes I wanted to see in the default Discourse theme
    • Used the Discourse Theme Creator to test my theme publicly
  • Goals for the upcoming week
    • Creating a more advanced Discourse theme
  • Detailed statement of tasks done
    • Added SCSS code on top of Discourse's default code after inspecting what elements on the Discourse page have which classes.
    • Increased the visibility of each post by hiding details and displaying up to 3 posts in each column, as opposed to Discourse's 1-post-per-column design.
    • Modified the default color scheme
    • Separated the user/admin panel visually from the rest of the page header

Module 4

  • Concise overview of things that I learned and technologies that I used
    • Technical Area
      • Yaml
      • Handlebars
      • SCSS
      • Javascript
    • Tools
      • GitHub CLI
      • Discourse Theme CLI
    • Soft Skills
      • Planning
      • Time Management
  • Three achievement highlights
    • Used Discourse plugin API to add new functionality to my custom theme
    • Added custom settings to my theme
    • Identified plugin outlet locations in Discourse
  • Goals for the upcoming week
    • Creating a custom route for your my own Discourse installation and adding custom settings to it
  • Detailed statement of tasks done
    • Identified Discourse's plugin outlet locations to add new widgets such as a new navigation bar items and additional information (number of unread posts, username, etc.) about the user at the top of the page
    • Performed AJAX requests to fetch data from Discourse's API endpoints by making use of Discourse plugin API
    • Added using Javascript and HTML the option to switch from light theme (default) to dark theme

Module 5-6 (Plugin Development)

  • Concise overview of things that I learned and technologies that I used
    • Technical Area
      • Handlebars/HTML
      • SCSS
      • JavaScript
    • Tools
      • Git/GitHub
    • Soft Skills
      • Teamwork/Collaboration
      • Time Management
  • Three achievement highlights
    • Learned how to create a Discourse plugin using Rails Plugin Generator; set up git for plugin development.
    • Worked on the front end of the notepad plugin development, our team's final project (details below).
    • Completed most of the frontend tasks as the frontend team (details below).
  • Goals for the upcoming week
    • Completing the final project and having a functional notepad plugin.
  • Detailed statement of tasks done
    • Fixed the bug, using JavaScript, that was making it necessary to click twice on the icon to open the notepad using JavaScript.
    • Added the option to change the color of the notepad using Handlebars/HTML, SCSS, and Javascript.
    • Modified the styles to make the notepad look more like the project prototype that is approved by the team.
    • Worked on creating the notepad popup button and styling the notepad using SCSS and JavaScript.
    • Made the final project's SCSS code more maintainable and readable by combining identical hardcoded styles in different places into reusable SCSS variables.

Module 7 (Final Project)

  • Concise overview of things that I learned and technologies that I used
    • Technical Area
      • Handlebars/HTML
      • SCSS
      • JavaScript
    • Tools
      • GitHub
    • Soft Skills
      • Teamwork
      • Task Management
      • Virtual Asynchronous Collaboration
  • Achievement highlights
    • Finalized the front end development of the "Personal Notes" plugin as the frontend team by making minor design changes
    • The "Personal Notes" Discourse plugin is now publicly available at github.com/mentorchains/fs3-final-project