In short, the Full-Stack Pathway is about developing Theme and Plugin for Discourse (a popular open-source discussion platform).
Although we will be learning these technologies along our way, it helps a lot if you are familiar with the followings:
- Basic knowledge of
- Familiar with Discourse and the meaning of
During our journey, we will work on the following things:
|1.||Installing Discourse in local machine (Mac or Windows or Linux).|
|2.||Getting familiar with Ruby programming language.|
|3||Getting hands-on GitHub.|
|5.||Starting custom Theme Development for Discourse.|
|6.||Getting hands on basics of PostgreSQL.|
|7.||Starting custom Plugin Development for Discourse.|
|8.||Other technologies as required during the development process.|
After successful completion of this journey, we will have developed the following skills:
- Fully understand Discourse architecture (tech-stacks), data communication between Frontend and Backend with API.
- Ability to develop custom Discourse Theme and Plugins.
- Ability to change or add functionality to Discourse with Plugins.
- Experience using version control system like Git.
- Virtual collaboration and communication within a team.
- Leadership skills.
- Project management and Time Management skills.
- Familiar with industry-standard Agile Methodologies and Sprint systems.
Self-Assessments are very important because it is the way to keep a record of all your highlights and achievements (helps a lot when creating/updating resume). Also, it is required by STEM-Away to be able to generate certificates and 1-Click Resume. Most of the big companies also use the same technique of self-assessments to evaluate their employee’s performance.
- Which format should you follow to write a self-assessment? You can find the format here.
- Where should you post the self-assessment? You can post it here.
Getting Started Ahead
First, it is good to understand what is a discourse, what are its uses, and how popular is Discourse? Or what kind of business can benefit from Discourse? Contrast and compare Discourse with other platforms like Stack Overflow. Since we will be working with Discourse, it would be very helpful if we have a little background knowledge about it. Furthermore, it will be useful for visualizing and brainstorming what kind of Theme or Plugin would be most beneficial to who.
This podcast with Jeff Atwood (one of the founders of Discourse and Stack Overflow) is really an interesting one. Jeff Atwood talking about Discourse
Module 1 - Getting Started
Module 1 - Tasks
- Install discourse locally. It takes some time to complete the installation process.
- Ubuntu Users - Please follow this link.
- Mac Users - Please follow this link.
- Windows Users - Please follow this link.
NOTE for Windows Users Windows Subsystem for Linux should be set up in the windows machine. And the minimum system requirement is Windows 10 with the following versions: x64 (Version 1903 and Build 18362 or higher) ARM64 (Version 2004 and Build 19041 or higher)
- Create a GitHub account if you have not yet. We will be cloning the GitHub projects, making pull requests, and commits. GitHub
- Get yourself familiar with Ruby (if new to Ruby). It is okay to just learn basic syntax for now. Video1, Video2
Task Submission Steps
After completing the tasks for a specific module, post a self-assessment to the forum in this link.
Now, post the link (URL) of self-assessment as a reply to the ongoing module.
In later modules, we will push the tasks to GitHub.
There will be a webinar once every two weeks (date will be announced). So, all the tasks including self-assessment are due before that webinar.
During the webinar, you can discuss the problems you had faced, and the way you solved it, or please free feel to discuss any topics or questions.
Here are the collections of resources from STEMCasts that might come in handy.
- Project Management
- Introduction to Ruby
- Discourse Tech Stack
- Complete Discourse Installation steps with debugging
Please reply below for any sort of questions or clarifications.