About Singapore Rails Learning Group
In this learning group, we want to encourage participants to learn how to build web applications using the Ruby on Rails (RoR) framework. We do this by blending 3 types of learning:
- Online learning: Asking questions in the online community (Discord or Facebook), reading articles, watching videos
- Offline learning: Joining meetups, lessons and tutorials, and onsite coding
- Peer learning: Helping one another understand more about coding
As of now, this program will last for 6 months. In this 6 months, you should be able to complete 1 to 2 simple web applications.
At the end of the 6 months, we may:
- Restart this program for new participants or those who want to reinforce their learning
- Continue to explore more advanced RoR concepts/ruby gems
- Branch off into specific sub-groups (e.g. API development, React/Redux, Artificial Intelligence/Machine Learning, etc.)
This learning group will act as the basis for organizing such sub-group.
Getting Started
Although we target complete beginners in this learning group, there are quite a fair bit of self-learning and preparation involved. To get started, make sure you complete the following:
Basic CSS (Coming Soon)
Basic jQuery (Coming Soon)
Ruby Programming Basics Part 1
The above guides explore the minimum you must know before getting started in Rails.
What will we learn?
Ruby on Rails is a web development framework. At the end of this program, you will learn how to build a web application of moderate difficulty.
Individual-Group Projects
To get the most out of this learning group, I encourage you to form groups to do your project. Unlike traditional group projects, the structure of this project is somewhat different:
- You will form teams of no more than 5 persons.
- Within the team, you will discuss what is the application you want to develop, and its features. You can see below for some ideas what kind of application is suitable for beginners.
- Then each team member will develop this application on his own.
- Within the team, you can share your code with one another. Should you do not know how to implement a feature, you can check how another person has done it.
There are several advantages to this system:
- Your progress in the project does not depend on your team’s commitment. Once decided on the feature, you can develop your application at the pace you are comfortable with.
- You can learn from how your teammate code the same feature, especially when you are stuck
- When you review your teammate’s code, think about whether is the code maintainable and readable, whether is the code efficient.
Progress
For each of the live session, we will be posting the related article in this publication. This is to help those who cannot attend the live session.
You are also welcomed to contribute to this publication. Your contributions can include:
- What have you learned?
- Tips on learning how to code
- Walking through your project
- How do you make use of what you learn in your project
- How to be motivated in learning how to code
- Specific issues that you have learn and overcome
We will also showcase the projects done by the community in this publication.
Communication Channels
Singapore Rails Learning Group Publication: We will publish all our content over in this publication.
Learning Web Development with Ruby on Rails meetup group: We will organize all our events using this meetup.
Discord server: For asking ad-hoc questions, discussions, and networking. Once you joined the meetup group, you will get the invitation link to join the Discord server.
Facebook Group (Coming soon): For a more organized discussions, sharing of articles and resources