Technical Area: Learned about basics of command line (traverse through files, create directories, delete/create files, understand the shell), Git version control, how to use GitHub, Ruby syntax and basic information of Ember JS.
Technical Area: Learned about installing Discourse in local machine, basics of Ruby on Rails, Model-View-Controller architecture, basics of SCSS, basics of Bootstrap, the Discourse codebase and how it is composed and developed.
Tools: Youtube tutorials, STEM-Away, technical support forums (Stack Overflow, etc.), documentation of Ruby on Rails, SCSS guides.
Soft Skills: Learned to communicate with developer communities in platforms such as Stack Overflow and Github, and to work in my time management studying the resources from the module 2.
Achievement highlights
Installed Discourse in local machine, and got a better understanding of the libraries required by it.
Got a better understanding of debugging practices when installing libraries using the command line.
Learned about MVC architecture, and the basics of Ruby on Rails.
Learned about the Discourse codebase and its tech stack.
Goals for upcoming week
Start working and complete the module 3.
Get a better understanding and start learning about developing Discourse themes.
Use the knowledge from previous weeks to understand more the Discourse platform (for example, knowledge from the Ruby on Rails, Ember.js material).
Tasks done
Installed Discourse in local machine. Faced some errors of missing libraries in the Discourse installation, and solved them by investigating (using forums like Stack Overflow) the missing libraries and installing them. Also, I faced some problems in my installation due to my Ruby version, and I solved them by changing it for an older Ruby version.
Got a better understanding of the Discourse codebase, and the tools used to develop in it (Ember.js, Ruby on Rails, etc.).
Technical Area: Learned about installing/creating Discourse themes and components both in local machine and in Theme Creator (which is a Discourse platform to preview themes). Learned about trouble shooting installations.
Soft Skills: Learned to communicate through the STEM-Away Discourse, and get support from mentors in that platform.
Achievement highlights
Learned to install Discourse themes in different ways (installing the ones suggested, from a GitHub repository, etc.).
Created theme in local machine using the Admin Settings UI in Discourse, and adding some HTML/CSS/JavaScript to customize it.
Created a remote theme in GitHub, and imported it to my local machine. Got a better understanding of the required files and the required structure for a remote theme.
Got introduced to browser developer tools, and starting learning about it
Goals for upcoming week
Learn more about creating themes in Discourse
Get introduced to handlebars syntax
Learn more about APIs and their uses on Discourse
Tasks done
Installed and created my first themes in Discourse using different methods (direct installation, installation from remote repository, etc.)
Troubleshooted problem of installing themes in my local machine. When trying to install themes, I got a “500 Internal Server Error.” Solved this problem by following Discourse installation again, and trouble shooting (by adding some commands in command line) the failures from the bundle exec rake autospec command in the Discourse installation.
Technical Area: Learned to create themes using plugin API, use plugin outlet locations, add settings and localized strings to Discourse themes, use Font Awesome icons and make AJAX requests.
Soft Skills: Worked on figuring out and learning unfamiliar syntax by myself.
Achievement highlights
Created a theme component using a plugin outlet in Discourse
Added settings, localized strings and Font Awesome icons to that theme
Made API requests with theme and learned about API endpoints in Discourse
Got introduced to create plugins in Discourse
Goals for upcoming week
Start to create Discourse plugins
Work on material of module 5 and 6
Get a better understanding of making AJAX requests, and developing theme components and plugins
Tasks done
Created a theme component using different elements from Discourse, mentioned in module 4
Learned more about handlebars syntax and templates, SCSS, JavaScript and AJAX requests with themes. Got challenged trying to understand ideas from the module 4, and started working on them by watching YouTube videos and reading documentation of syntax that I’m not very familiar with