Congratulations! You have completed the first steps and have been selected to join the Open Learning Exchange virtual intern team. Please remember that we expect interns to have at least 16 hours a week for the minimal of 3 months to work on Open Learning Exchange issues. If you do not currently have enough time, we will be happy to have you later when you do have time.
The first thing is to meet the team, starting with CTO dogi, then the current intern team leads and members. After having the initial meeting with dogi, you can join http://talk.ole.org during Google Hangouts session to meet with current interns, get to know each other, and ask them what they have been working on.
Typically, interns choose what project they want to work on based on their experience. If you get tired of a certain project, there is an opportunity to switch. Take a look at our current projects below, if any particular ones interest you, there is a very good chance that you can work on them.
planet
- A Progressive Web App using Angular & CouchDB with the BeLL Apps functionality.
- Takeout
- Takeout is an Android port of the
planet
apps.
- Takeout is an Android port of the
- Remote
- An Android app that communicates with headless Raspberry Pi mobile server running treehouses image via Bluetooth.
- Raspberry Pi
- The modified Raspbian image can be placed on a microsd card for deployment in the field with a Raspberry Pi.
- Docker
- Containerize CouchDB,
planet
, BeLL, and other educational applications
- Containerize CouchDB,
Once you officially become a virtual intern, you will receive email invites to become GitHub organization members of open-learning-exchange, ole-vi, and treehouses.
Now you should work on OLE's repositories instead of your own forked repositories, the workflow will be Feature Branch Workflow. Note that this will give you the ability to make bigger mistakes - so make sure you always double check what branch you are working on. Remember to commit often and create pull request early, so other virtual interns could look at your code and make sure you are on the right track at an early stage.
You will now have the ability to review, close, and merge pull requests and issues.
Once you have accepted your invitation, mark yourself as a public member in the list of OLE contributors.
One of your responsibilities as an intern is to review and help prospective interns with their issues / pull request on open learning exchange. You can start a review by going to the files changed tab on a pull request. You can read more about Review on GitHub.
Since we are a very diverse community with people coming from different background and culture, it might be hard to find the right language to use in reviewing other's code. Please make sure to read a guide for reviewing code and having your code reviewed for some useful tips.
You should check if the following conditions are met:
- issue number is included in pull request title and description
- there are no unnecessary files/lines change in pull request
- there's a branch for the patch
- the pull request actually fixes the issue
- changes are rendered correctly on rawgit preview
- no merge conflicts
- commits are associated with GitHub account
Every time you comment on an issue or review a pull request, message those involved on the Gitter chat with a link to the issue / pull request. Also, if you find any issue that must be addressed with a pull request, do not forget to use the Request changes
option when creating your review.
The pull request can be merged if at least two other people have approved the pull request and there are no more changes requested by another intern. One exception is when virtual interns are adding themselves to the team, we want the new intern to merge their pull request during their interview.
When you are ready to merge the pull request:
- Select "Squash Merge"
- Remove all of the commit messages in the extended description, and make sure the commit title is clear and short.
- Include “(fixes #IssueNumber)” in the title so it will automatically close the issue.
- If you forget to add a keyword, go to the issue and manually close it and link to the original pull request.
- An example of good commit title is: "update vi-configuration.md (fix #1530) (#1557)", where "1530" is the issue number and "1557" is pull request number.
- Read more about closing Issues using keywords.
Every time you merge a pull request, message the author on Gitter chat, make sure you include a link to the pull request and commit id.
Waffle.io is what OLE uses to manage some of our projects. It's another way to view the projects that you and your team need to work on and review. You will be automatically added to the Waffle.io page once you become a member of ole-vi GitHub organization.
Choose issues to work on out of the Ready
column and assign them to yourself. Move them to the In Progress
column when you start working on them. Make sure you link the pull requests to their issues by mentioning them in the pull request title. E.g. "(fixes #54)".
Every time you work on OLE projects and issues, you should post the "stand-up" message in our Gitter standup room before you start working. Use the following format:
What did I achieve yesterday?
- Mention what you were able to achieve
What is my aim for today?
- List what you are working on - consider linking to the issues
What obstacles are in the way of our progress?
- List any problems
This is especially helpful if you are not able to attend our Google Hangouts sessions.
While you are free to work in your own style, we recommend you follow this basic daily routine:
- Check Gitter interns room and your Gitter private messages.
- Join the OLE Google Hangouts session if you are able to, so you can follow what everyone is working on and get help fast.
- Check Waffle.io, if you have no issues assigned, assign yourself to issues relating to the project you wish to work on.
- Write a message in Gitter standup room with the format mentioned above.
- Review any issues or pull requests that have been added or changed on open-learning-exchange.github.io since last time you reviewed.
- Work on your issues and write in intern chat any time you run into problems.
- Make pull requests as early as possible so you can get feedback as you work.
- Try to close issues using some of the following keywords and variations of them in the headings:
close
,fix
andresolve
. Closing Issues using keywords
All of our Google Hangouts sessions can be joined at http://talk.ole.org. Currently, we have a few scheduled sessions each week:
- Happy hacking hangout
- angular asia (h)acking (h)angout
- BeLL Reboot Angular Hacking Hangout
- Raspberry Pi Hangout
- Take Home Hangout
Every Monday at the "Happy hacking hangout" session, we work on problems together and catch up on what people have been doing all week. It is also advisable to schedule a day out of the week to meet with a team leader, especially if you can’t make it to the meeting. Use the calendar to set up meetings and other events with interns.
Please subscribe to our calendar:
- In Google Calendar, paste
[email protected]
into "Add a friend's calendar" and hitEnter
(do not click the + sign). - Use this iCalendar file to access our calendar from other applications.
It’s not good to go silent on Gitter or any other forms of communication. If you are ever unsure of what to work on, or cannot work for any other reason, please talk to us in the Gitter chat. It's better that we know why you aren’t able to do anything than to imagine reasons ourselves. Also make sure you are away
in the OLE google hangout. Remember, the more you put into this internship the more you will get out of it. It may take a while to get used to the fact that you will need a good amount of self-discipline and initiative to get anything done in a remote internship, but we are here to help, so take advantage of it!
Also, if you find any issue that must be addressed with a pull request, do not forget to use the Request changes
option when creating your review.