Skip to content

Latest commit

 

History

History
94 lines (49 loc) · 8.23 KB

File metadata and controls

94 lines (49 loc) · 8.23 KB

First Steps – Mobile Virtual Intern

The Big Picture

Welcome to the first steps for becoming an OLE Mobile Virtual Intern! We treat these first steps as a vetting process to prove that you can follow basic instructions before moving on to more complex projects and larger teams. Think of this as the interview for the internship.

If you are selected for the internship after completing the steps, you will be officially invited to join the OLE mobile interns team! We’ll add you to our Virtual Interns Discord channel and assign you to a specific team to work on developing and improving OLE’s software. Our current mobile projects are:

  1. myPlanet: An Android app that syncs with Planet to save data for offline use and send usage data.
  2. Remote: An Android app that communicates with headless Raspberry Pi mobile server running treehouses image via Bluetooth.

If you are selected after completing these steps, you'll work with your team on an assignment, and assignments will change weekly. During this internship, you will have the opportunity to work with various software and languages, including Git, GitHub, Markdown, Command Line/Terminal, Command Line/Terminal Scripts, Vim, CouchDB, [Realm database](https://en.wikipedia.org/wiki/Realm_(database%29), Android Studio, and Kotlin.

NOTE: This is an unpaid, intensive internship requiring a minimum commitment of 24 hours per week for at least 3 months. Additional details about the internship can be found in our FAQ. If you have further questions, feel free to ask in our Discord server!

The Steps

Social coding is a huge part of any open source and collaborative project, and the Open Learning Exchange (OLE) is no different. In the following series of steps, you will learn about Markdown, Git, GitHub, GitHub issues, GitHub pull requests, etc. You'll also be introduced to OLE's digital library, Planet, and its companion Android app, myPlanet.

These steps may seem simple, but we expect high-quality work, which might require extra time. We want to see that you can use, or learn to use, these tools effectively — including writing clear GitHub issues, using basic Git commands, creating proper pull requests, navigating myPlanet, etc. Just passively following the steps is the bare minimum; instead, aim to impress us with excellent GitHub etiquette and well-structured Markdown.

Take the opportunity to read more about the tools and languages we use to deepen your understanding and reduce confusion. Treat these steps as learning opportunities! The GitHub and Markdown skills you practice in first steps are crucial for both this internship and a future career in software development.

The MDwiki offers plenty of resources to help you complete these steps. You'll find a list of useful links at the end of each step.

We also would like you to keep us regularly updated in the Discord channel as you complete these steps. We will ask you to send messages, links, and screenshots along the way, which we'll use to track your progress. Please make sure not to miss this, as it's crucial for us to track your work.

A significant part of these steps is identifying problems or suggesting improvements for this MDwiki. As you complete the steps, take note of any issues you encounter or ideas for enhancements. This helps improve the MDwiki and these steps for future interns.

While there's no official deadline for completing these steps, most successful candidates finish them within 7-8 days. Good luck!

FAQ - Frequently Asked Questions

Our FAQ page is a comprehensive resource containing answers to common questions about the internship and First Steps. It also features additional helpful links and video tutorials aimed at familiarizing you with the tools and languages integral to our work.

If you have general internship inquiries and can't find the information you need on the FAQ page, please don't hesitate to reach out to us via Discord. Try to avoid DMs as others might have the same question!

For technical questions not covered in the FAQ, in addition to contacting us on Discord, Google and Stack Exchange serve as excellent supplementary resources to explore. :)

Step 0 - Introductory Step

Follow the instructions on Mobile Interns Introductory Step.

Step 1 - Markdown & Forking Workflow

Follow the instructions on Creating Your GitHub Profile Page: A Guide to Markdown & Forking Workflow.

Remember: Only proceed to the next step once you've completed all the instructions and submitted the pull request for your profile.

Step 2 - myPlanet App

Please follow the directions at myPlanet App to download and test the beta version of myPlanet.

Step 3 - Build myPlanet in Android Studio

Follow the guide at myPlanet and Android Studio to clone myPlanet repository from GitHub and build the myPlanet app with Android Studio.

Step 4 - Connect myPlanet app to Planet

Follow the guide at Connecting myPlanet to Planet.

Step 5 - Git Repositories: A Guide to Cloning, Configuring, and Syncing Forks

Follow the directions at Git Repositories: A Guide to Cloning, Configuring, and Syncing Forks.

Step 6 - GitHub Issues Tutorial

  • Follow the tutorial under the GitHub Issues to create at least one issue. Post a link in the discord channel whenever you create an issue or when you comment on someone else's issue. You are encouraged to post as many issues as you can for improving the page as well as for personal practice.
  • No issue is too big or too small to be filed, and it's okay if you are not sure how to fix it yourself. If you know how to solve an issue, be sure to provide a detailed account of your research and show how to fix it. It is ok to file an issue about minor typos and very small changes, but do not make this the case for all of the issues that you file.
  • You can also work on issues that you didn't create. Make sure you have created at least one issue, resolved it, commented on an issue you didn't create and have a pull request with the fix merged.

HINT: You can track your progress with the number of pull requests and issues here.

Step 7 - Take a Course on myPlanet, Courses Gardening

Follow the guide at Take a Course on myPlanet, Courses Gardening.

Step 8 - Create More Issues and Pull Requests

Follow the guide at Create More Issues and Pull Requests.

Step 9 - Kotlin Tour

myPlanet uses Kotlin as the development language. If you have no or little prior exposure to Kotlin, please go over the Kotlin crash-course on Android Developers to gain some familiarity.

Additionally, you may also go over the official Kotlin tour. Optionally, there are practice exercise at the end of each topic for you to get some hands on exercise.

We also recommend checking out the Kotlin docs.

Step 10 - Be part of the team

Once you've confirmed that you've met the requirements in the progress tracker, your next step is to add yourself to the virtual intern list in mi-team.md and submit a pull request. Afterward, message us ("@okurole_25668", "@dogi", and "@vi-mobile") in the Discord #lagrangelounge channel to schedule a meeting and officially join the team.

After scheduling the meeting, and before it takes place, be sure to review the Mobile Intern Orientation document before the meeting.