Nanar.boursalian - Full Stack (Level 2) Pathway

WEEK 1

1. Things Learned

Technical Areas

  • Ruby: I learned how to write variables, primitives, methods, and classes in Ruby by following James’ tutorial on the basics.
  • Command Line CLI: I learned more commands to use on the command line interface from the MIT lecture.
  • Git and Github: I refreshed my knowledge on Git and Github by reading the provided article.

Tools

  • CLI Commands like mkdir, open, cd, ls, and pwd will be incredibly helpful when working on the project.
  • Git and Github are extremely helpful for version control and working within a team that’s all working on the same project.

Soft Skills

  • After the first team meeting this Friday, I really understand the importance of communication, and I’m glad I have a simple method to reach other people in my team quickly through Discord.

2. Achievement Highlights

  • I was able to complete all of the prerequisites and requirements for this week, including the lecture on CLI, the introduction to Ruby from James, and the reading regarding Git and Github.
  • I was able to set up mentorchains gsuite and link it to my personal email and calendar so I can never miss a notification or meeting.
  • I was able to meet and introduce myself to my team for the first time!

3. Goals for Upcoming Week

  • Install Discourse for development onto my computer!
  • Look through Discourse codebase and understand where everything is and how they are used.
  • Complete the Ember guides.
  • Start the SCSS guide.

4. Tasks Completed

  • Followed along with James’ video to have a better understanding of Ruby. Hurdles: originally just taking notes made video difficult to process; Solution: incorporated code editor to work with James to adhere less to lecture-style and more to interactive-style work
  • Watched and took notes on MIT lecture for CLI
  • Met with FS June-1 team for the first time
3 Likes

WEEK 2

1. Things Learned

Technical Areas

  • Ember JS: After going through the guides and completing them interactively, I have a better grasp of EmberJS as a whole and the basics that come with it.

Tools

  • Discourse: After a couple of hurdles with command line tools and my path, I was able to download and install Discourse onto my machine and make an admin account.

Soft Skills

  • I also expounded on my abilities to ask for help. After running into issues downloading and installing Discourse, I believe I took the appropriate action in searching for the issue on my own before asking my team for advice/help.

2. Achievement Highlights

  • I was able to debug my installation of Discourse using a combination of help from my teammates and the Internet.

  • I was able to build an Ember application using a tutorial from the Ember guides, where I got an overview of components, routes, models, etc.

  • I was able to install sass onto my machine and look at some examples with the guides.

3. Goals for Upcoming Week

  • Create a theme in Admin Settings UI.

  • Create a remote Discourse Theme. Setup the Discourse Theme CLI and create a new theme. Move changes from the simple theme to the new theme codebase. Add more complex styles. Push theme to a public Github repo.

  • Read about how to use browser’s dev tools.

  • Use DOM inspector in dev tools to inspect Discourse’s UI.

  • Update theme to apply changes based on inspecting components in the /styleguide route using the DOM inspector.

4. Tasks Completed

  • Downloaded and installed Discourse. Hurdles: Had a tough time getting through the errors that I was having in downloading ruby onto my computer. I originally thought it was an issue with my operating system version, but it turned out to be trouble with xcode command line tools. Solution: After asking my teammates for help and looking for solutions of my own online, I was able to reset the command line tools path and get ruby and Discourse downloaded.

  • Watched video explanation of Discourse Tech Stack and reviewed Discourse codebase.

  • Completed the EmberJS guides.

  • Completed SCSS guides.

WEEK 3

1. Things Learned

Technical Areas

  • Theme Building! I was able to go through a couple of guides and interactively follow and learn how to build themes on Discourse. With the information that I got from those guides, I was able to create my own theme called “Under the Sea,” using the Discourse CLI, changing color schemes, and different scss tactics.

Tools

  • Browser Developer Tools: I was able to figure out how to see my changes directly using the HTML and CSS editors provided by Developer Tools. I can extract class names from the “Elements” section and make edits to the proper classes and components. I also found out about JavaScript debugger and console, both tools that I can use to make sure my code works as intended.

Soft Skills

  • After having a million issues with Discourse, I was able to go to office hours and get some amazing help from Bijay, which I believe developed both my debugging and interpersonal communication skills.

2. Achievement Highlights

  • Got Discourse to work again!

  • Created both remote and local themes.

  • Read about DOM elements, Browser Developer Tools, and Discourse style guides.

3. Goals for Upcoming Week

  • Update my theme to make use of the plugin API.

  • Identify plug-in outlet locations in Discourse and add custom code in the theme below or above a plugin outlet location.

  • Read about and try to implement the Virtual DOM.

  • Add a setting to my Discourse theme.

  • Add a localizable string to my theme.

  • Use theme modifiers to add Font Awesome icon dependencies.

4. Tasks Completed

  • Got Discourse up and running (again)! Hurdles: Discourse was not loading on my machine because, for some reason, openssl wasn’t linking rbenv, so the ruby being used was the default one on my Mac. Solution: I attended office hours with Bijay on Saturday, and he really helped me debug the issues, going into how we can fix the openssl issues. Finally, after two hours, he helped me get Discourse working through Docker, so as to not affect my actual machine.

  • Created a theme through Admin by directly editing the CSS and HTML.

  • Created a remote theme called “Under the Sea” through Discourse CLI, changing the CSS and color scheme. Imported the theme into Discourse.

  • Learned about DOM elements and the Browser Developer Tools.

  • Read the Styleguide to update themes and inspect components.

WEEK 4

1. Things Learned

Technical Areas

  • Plugin API for themes: I went over the most common plugin API methods used on Discourse.

  • How to perform AJAX requests: I got to go over a lot of examples of AJAX requests

  • How to add settings to a theme: I reviewed how settings can be implemented in CSS and JS.

  • How widgets work: I was able to review the plugin API methods on how to create, decorate, and reopen widgets, as well to how to change their settings. I was also able to review the Virtual DOM.

Tools

  • Handlebars syntax: I was able to understand the syntax required to incorporate handlebars, look at some examples, and see how you can mount a widget using the syntax.

Soft Skills

  • Asking for help: While having trouble understanding how to watch my remote theme for changes, I was able to reach out and get clarifying information.

2. Achievement Highlights

  • I added an icon to my theme using the decorateWidget() plugin API!

  • I added some settings to my theme.

  • I added a localizable string to my theme.

  • I read about the Virtual DOM and how widgets work.

3. Goals for Upcoming Week

  • I want to be able to add an icon to my theme without using a plugin API, if that is possible.

  • Create a custom route for my admin interface and add some custom settings!

4. Tasks Completed

  • I added a setting that would alter the header size of the Discourse website.

  • I added a localizable string about the sidebar.

  • I added an icon using the decorateWidget() plugin API. Hurdles: I’ve had a couple of issues trying to get the icons to load, not using the decorateWidgetAPI. I’m not even sure that’s possible. Solution: I’m going to attend office hours next week and hopefully address this issue.

WEEK 5

1. Things Learned

Technical Areas

  • How to create a plugin: I learned how to create a plugin, and I also learned the proper file structure for creating and running that plugin. Furthermore, I was able to understand how to add JavaScript and HTML to my plugin.

Tools

  • Rails Plugin Generator: I was able to understand how to use the plugin generator to easily implement the folder structure for the plugin.

Soft Skills

  • Communication: My team and I were able to discuss and vote on what we wanted our final project to be. I was also able to ask for assistance on how to create a route using a plugin, and I got extra resources from my teammates.

2. Achievement Highlights

  • Created a plugin by creating a subdirectory in /plugins

  • Inserted JavaScript code in the plugin

  • Created a plugin using Rails Plugin Generator!

  • Inserted HTML code in the plugin

3. Goals for Upcoming Week

  • Finish Guides for Discourse Plugins (Part 3-6)!

4. Tasks Completed

  • Created a plugin by creating a subdirectory in /plugins

  • Inserted JavaScript code in the plugin

  • Created a plugin using Rails Plugin Generator!

  • Inserted HTML code in the plugin on the admin page

  • Voted on a final project for our team

WEEK 6

1. Things Learned

Technical Areas

  • How to add settings to plugin: I added certain settings to the plugin that would be displayed on the site settings route under plugins.

  • How to create an admin interface route to the plugin: I created an admin interface route to my basic plugin, which would show a purple tentacle when a button was pushed.

Tools

  • Git Setup for Plugins: I read and understood how to set up git for Discourse plugins.

Soft Skills

  • Team Planning: Our team members all voted on specific projects that we want to complete last week. At the beginning of this week, we met about discussing the final project that got the majority of votes, which was a theme component annotation tool.

2. Achievement Highlights

  • Added settings to my plugin

  • Created an admin interface for my plugin

  • Read about how to set up git and publish my plugin

3. Goals for Upcoming Week

  • Next week, we begin the planning and implementation of our team’s final project!

4. Tasks Completed

  • Added settings to my initial basic plugin

  • Created an admin interface for my plugin using the purple tentacle examples

  • Understood how to set up git and publish plugin

WEEK 7

1. Things Learned

Technical Areas

  • Widget Rerendering: As part of research for our project, we looked into how we will be able to re-render a widget based on the amount of likes that it has, such that we can sort them accordingly.

Tools

  • Through research, we have deduced that we will be using Virtual DOM to rerender the reply box, as part of our final STEM-Away project.

Soft Skills

  • Team Organization: Since our team structure was slightly skewed, we merged with team 2 to have more members and created a better, more well-rounded project overall. Currently, I am working with Yet Chun Fong in sorting the replies for votes.

2. Achievement Highlights

  • Conferred with my partner on the portion of the project.

  • Started action plan.

3. Goals for Upcoming Week

  • Continue the technical implementation of my team’s project!

4. Tasks Completed

  • Conferred with my partner on the portion of the project that we’re going to work on and started a plan of action on how we were going to be able to complete it within the time frame given.

Nanar Boursalian - Full Stack Assessment (Level 2)

WEEK 8

I’m submitting this early because, unfortunately, my other timeline was moved up, and I have to travel tomorrow. I have already informed my team of this, as well!

1. Things Learned

Technical Areas

  • Widget Rerendering: As part of research for our project, we looked into how we will be able to re-render a widget based on the amount of likes that it has, such that we can sort them accordingly.

  • Widget Reopening: I used the reopenWidget API to start writing the file.

Tools

  • Virtual DOM: I started writing the file for sorting using the Virtual DOM.

  • Inspect: I was able to use the inspector to find what the class and widget names for the reply box and the subsequent replies. With this, I was able to use the information that I received

Soft Skills

  • More communication: Unfortunately, my timeline was moved up, and I have to travel to Pinecrest tomorrow, in an area where I will have no service. Therefore, I will be unable to work on the project any longer. Fortunately, I was able to bring this up to my team, and we were able to confer.

2. Achievement Highlights

  • Conferred with my partner on the portion of the project.

  • Continued action plan.

  • Started coding!

3. Goals for Upcoming Week

  • Continue the technical implementation of my team’s project!

4. Tasks Completed

  • Conferred with my partner on the portion of the project that we’re going to work on and started a plan of action on how we were going to be able to complete it within the time frame given.

  • Began the file to reopen the correct widget, the name of which was taken from the inspector.

1 Like