Coder Social home page Coder Social logo

how-to-use-this-org's Introduction

How to use this organization and contribute

What it is

This Organization holds repositories of lessons and daily class work, labs, homework, and installation lessons.

Before creating a new repository search through organization to make sure your content is unique. You can search by repo topic names like lesson and homework or by topics like javascript, express, mongoose, ruby, rails,

If it is not unique

Clone the repository that contains an version of your content and make a new branch to push your content to.

see naming conventions below

If it is unique

Create a new repository with a master and a solution branch.

Label your repo with Topics by clicking the Settings tab in the organization, and clicking Repository topics.

Find your repo in the list and add the relevant tags to make the repo easily searchable from the org home page.

Be sure to definitely label your repo as either lesson, homework, lab etc and the technologies required.

Name of the repo should start with language/tech abbreviation followed by the type of content and the name of the assignment.

examples:

js-hw-function-reps
ruby-lab-banana-stand

Once the repo is created add a description to the repository describing the content if there are things specific to the content that should be known early.

For Example:

That the lab in a repo is a multi-day assignment or dependent on the content in some other repo etc.

Every repo should have the starter code, lesson, README, instructions, examples, on the master branch.

The solution code in a solutions branch.

Iterating on existing content

If changes are updates be sure to update the master branch as well as the solution branch.

Adding a new version of existing content

Your branch name should include your name and whether it's the master or the solution.

master
<your name>-solution

Create an issue on the repo in question and list the problem, proposed fix, or addition and the associated branch, file, line number, etc.

The content owner can either make that change or suggest that it goes into a new version of the lesson made by you!

how-to-use-this-org's People

Watchers

 avatar  avatar

how-to-use-this-org's Issues

Purpose of a master branch

As referenced in #4, we might consider the naming conventions of master and solution branches.

Considering the process of scaling–say we have many teams working in this org and we want to keep all the ui-router content to one repo–there wouldn't necessarily be a master version of a lesson. But different versions that use different examples.

As we scale we might need to justify the purpose and value of a master branch vs branches named after the type of example they hold.

Thinking about documenting order

Necessary? Not necessary?

If so, what is a maintainable way to thread content while considering scaling this organization. It'd be easy for us to thread it all together once for our own benefit. But if another team were to use the content and reorder it how would that work? Or would it?

Need better naming conventions for tracking different versions of content

Currently, contribution documentation asks instructors to create a branch with their name and whether it's master or solution. This isn't particularly descriptive and doesn't inform other instructors as to what's different about that version vs another.

Possible options are using git branch descriptions using git branch --edit-description but this requires everyone set up a script to see the description since they're only listed in the git config file.

http://labs.6dglobal.com/blog/2015-02-19/taking-advantage-git-branch-descriptions/

We could create an installation script that sets this up easily.

Other options are:

  1. create more verbose naming conventions for branches
  2. ask that instructors create an issue that describes the lesson and the branch name

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.