Skip to content

Application containing detailed introductions to various concepts for dev on-boarding.

Notifications You must be signed in to change notification settings

MaritzSTL/mtz-app-knowledge-center

Repository files navigation

Polymer Knowledge Center

Our Promise: We'll take you from having zero knowledge of Polymer to fixing your first bug in under four weeks!


About

  1. What Is The Objective?
  2. How Do I Contribute?
  3. Additional Tasks

Getting Started

  1. Developer Access
  2. Environment Setup
  3. Deployment

Learning Resources

  1. References
  2. Video Training Courses
  3. Tutorials
  4. Sauce Labs Orientation Overview - Sauce Labs orientation overview with Polymer and Selenium code examples

Chapters

  • This Polymer app simply iterates over all of the markdown files in the chapters folder, then displays them on the home page when the application starts.
  • The chapters are zero base indexed.
  1. Chapter 0: Web Components
  2. Chapter 1: A New Kind of <div>
  3. Chapter 2: Developing Better
  4. Chapter 3: Routing

Troubleshooting


What Is The Objective?

Polymer allows you to put software in any person's hands, anywhere on earth, faster and more maintainably than its competitors. However, Polymer has a problem: all of its documentation is reference material, not teaching material. Polymer's documentation is written for people who already understand Polymer, not those who are just getting started.

The purpose of the Polymer Knowledge Center is to teach Polymer by taking a learning by teaching approach.

References the Learning Resources section for training and relevant Polymer information.

As you build out each chapter writing the markdown files of your own, you can both learn and refine the material for this project for the entire team.


How Do I Contribute?

  1. Get familiar with Polymer Learning Resources.

  2. Complete Getting Started.

  3. Update, rewrite, or add any additional chapters.

    • Reference Chapters for additional ideas.
    • Reference known issues via GitHub
    • Complete any of the additional tasks
    • Update this README.md file with any relevant information that meets the following criteria:
      • Any information you found helpful
      • Any information you found unclear
      • Any information obsolete
  4. Commit and push the changes from your local branch.

  5. Make a pull request.

    • Via BitBucket (TODO)
    • Via GitHub
      • Navigate to Pull Requests
        1. Make sure your changes are pushed.
        2. Click New Pull Request.
        3. Make sure you see the following base: master <- compare: yourBranchNameHere.
        4. Click Create Pull Request button.
        5. Begin pull request message body with #X some text here (where X is the number of the issue).
        6. Provide title or description of your pull request.
        7. Update the Slack channel se-pull-requests accordingly.

Additional Tasks

Tasks Which Need to Be Completed

  • Analytics Embedded Into App (Online, Offline)
  • Authentication
  • Add BitBucket Pull Request Steps

Chapters Which Need to Be Written

  • Linting / Code Format Standards
  • Appropriate Testing
  • Device Responsiveness
  • i18n
  • Customizability (is responsive to app-level defaults, so for ex, you can set app colors on per-client basis)
  • Actual Code (events up, properties down)
  • Reuse Considerations
  • Service Workers

Developer Access


  1. Make sure you have a registered Maritz email address receiving mail.
  2. Create a BitBucket account with your Maritz email address.
  3. Create a GitHub account.
    • If you already have a GitHub account
      • Use your personal account if you prefer
    • If you don't have a GitHub account
      • Create your new GitHub account using your personal OR Maritz email address
      • It would be helpful to create an SSH Key to avoid entering your username and password every time
      • It would be useful to add an environment variable to git.exe
  4. Request a BitBucket Invitation.
  5. Request a GitHub Invitation.
  6. Check the 'Other' conversations link via Microsoft Outlook if you do not immediately see the email invites in your inbox.

Environment Setup


  1. Make sure you have an active Maritz email account.

  2. Install any desired code editor.

  3. Install Node.js.

  4. Install Git.

  5. Modify global Git configuration.

    • Provide User Name

      • Provide full name
      • Full name will be attached to your commits
      git config --global user.name "yourUserName"
    • Provide Maritz Email Address

      • Email addresses can be uniquely modified locally per repository
      • Note: Although your global email address will be globally set for Maritz, your registered GitHub email will be required locally for this Polymer Knowledge Center repository.
      git config --global user.email "yourEmail@maritz.com"
    • Git Ignore File Configuration

      • This may already be set with a fresh installation of Git
      git config --global core.excludesfile "~/.gitignore"
    • Git Http Post Buffer Configuration

      • This is needed when dealing with bigger projects to set up a buffer big enough for transferring data
      git config --global http.postBuffer 524288000
  6. Create desired working directory for repository.

    mkdir c:\YOUR_DESIRED_PATH\mtz-app-knowledge-center
  7. Clone the Polymer Knowledge Center repository.

    • Use an SSH key and passphrase from account.
    • See Setting Up SSH Keys if you do not already have keys setup.
    git clone git@github.com:MaritzSTL/mtz-app-knowledge-center.git
  8. Set your local config file 'user.email' and 'username'.

  • This is where you set your local config email address to whichever one is tied to your GitHub account
  • The user name you set here will be your GitHub profile user name shown in your GitHub profile url
    git config user.email "yourRegisteredEmailWithGitHub@example.com"
    git config user.name "yourUserName"
  1. Verify your local config file user settings.

    • Open and inspect config file "..\mtz-app-knowledge-center.git\config"

    Example

        [user]
            name = Terrence Bowen
            email = terrence.bowen@maritz.com
            username = terrencebowen
  2. Install Bower.

    npm install -g bower
  3. Create a local branch from master.

    • Using your initials lowercase seems to be the convention for mtz-app-knowledge-center repository contributions
  4. Install Polymer.

    npm install -g polymer-cli

Deployment


  1. Navigate to your mtz-app-knowledge-center working directory.

  2. Install Bower locally.

    bower install
  3. Open 'mtz-app-knowledge-center' in desired code editor.

    Polymer serve --open
  4. Make sure you have your branched checked out.

    git branch
  5. Push your branch.

    git push yourBranchNameHere

Learning Resources

References

Video Training Courses

Tutorials

Troubleshooting

Setting Up SSH Keys

  1. Open git bash (Use the Windows search. To find it, type "git bash") or the Mac Terminal.

    Pro Tip: You can use any nix based command prompt (but not the default Windows Command Prompt!)

  2. Type cd ~/.ssh. This will take you to the root directory for Git (Likely C:\Users[YOUR-USER-NAME].ssh\ on Windows).

  3. Within the .ssh folder, there should be these two files: id_rsa and id_rsa.pub. These are the files that tell your computer how to communicate with GitHub, BitBucket, or any other Git based service. Type ls to see a directory listing. If those two files don't show up, proceed to the next step.

    NOTE: Your SSH keys must be named id_rsa and id_rsa.pub in order for Git, GitHub, and BitBucket to recognize them by default.

  4. To create the SSH keys, type ssh-keygen -t rsa -C "yourRegisteredEmailWithGitHub@example.com". This will create both id_rsa and id_rsa.pub files.

  5. Now, go and open id_rsa.pub in your favorite text editor (you can do this via Windows Explorer or the OSX Finder if you like, typing open . will open the folder).

  6. Copy the contents--exactly as it appears, with no extra spaces or lines--of id_rsa.pub and paste it into GitHub and/or BitBucket under the Account Settings > SSH Keys. NOTE: I like to give the SSH key a descriptive name, usually with the name of the workstation I'm on along with the date.

  7. Now that you've added your public key to Github and/or BitBucket, try to git push again and see if it works.

For more help available from GitHub Connecting to GitHub with SSH and BitBucket Help Troubleshoot SSH issues.

About

Application containing detailed introductions to various concepts for dev on-boarding.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published