Difference between revisions of "Coder"

From LMU BioDB 2017
Jump to: navigation, search
(Milestones: Wrong markup language heh.)
(Milestones: Write up Milestone 2.)
Line 20: Line 20:
 
=== Milestone 1: Working Environment Setup ===
 
=== Milestone 1: Working Environment Setup ===
  
Coder work will require the following software. The Seaver 120 lab computers are already set up for this; this list is provided for coders who need to work on a different computer or outside of the lab.
+
Coder work will require the following software. The Seaver 120 lab computers are already set up for this; this list is provided for Coders who need to work on a different computer or outside of the lab.
 
* Node.js 8.4.0 or newer
 
* Node.js 8.4.0 or newer
 
* Code-savvy editor such as Atom or Microsoft Visual Studio Code
 
* Code-savvy editor such as Atom or Microsoft Visual Studio Code
Line 30: Line 30:
  
 
=== Milestone 2: Version Control Setup ===
 
=== Milestone 2: Version Control Setup ===
 +
 +
Coding work will be done on a ''fork'' of the open source [https://github.com/dondi/GRNsight GRNsight project], which is hosted on [https://github.com GitHub]. The software that interacts with GitHub to perform version control is '''git'''. If any Coder needs help with '''git''' or version control concepts in general, please consult your fellow guild members or ask Dr. Dionisio.
 +
 +
The Interaction and Integration team is responsible for this fork, and will do their own work on the ''master'' branch of this fork. Thus, many of the early steps in this procedure involve them, and they must accomplish these steps first before the others can proceed:
 +
 +
# All members of the Coder guild should acquire a GitHub account, if they don’t already have one (it’s free).
 +
# One of the Coders of the Interaction and Integration team creates a fork of the GRNsight project.
 +
# The Interaction and Integration team adds the GitHub accounts of all Coder guild members as ''collaborators'' on the fork.
 +
# Once every team is a collaborator on this fork, they can then create their respective ''branches'' on the fork:
 +
#* The Page Design team creates a branch called ''page-design''.
 +
#* The Gene Database APIs team creates a branch called ''gene-database-apis''.
 +
#* ''After'' the ''gene-database-apis'' branch is created, the JASPAR API team creates a branch '''from ''gene-database-apis''''' called ''jaspar-api''.
 +
 +
The teams will then do their work on their respective branches. The protocol for integrating your work is described in the ''Integration and Testing'' milestone below.
 +
 +
The structure described in this milestone is a typical GitHub fork-and-branch approach which some Coders are already familiar with. If any Coder needs help with this methodology, please consult your fellow guild members or ask Dr. Dionisio.
  
 
=== Milestone 3: “Developer Rig” Setup and Initial As-Is Build ===
 
=== Milestone 3: “Developer Rig” Setup and Initial As-Is Build ===
Line 36: Line 52:
  
 
(varies per team)
 
(varies per team)
 +
 +
=== Milestone 5: Integration and Testing ===
  
 
{{Under Construction}}
 
{{Under Construction}}

Revision as of 20:54, 9 November 2017

GRNsight Gene Page Project Links
Overview Deliverables Reference Format Guilds Project Manager Quality Assurance Data Analysis Coder
Teams Page Desiigner Lights, Camera, InterACTION! Gene hAPI JASPAR the Friendly Ghost

The coder is the resident expert on the technology being used—assorted software, file management, version control, troubleshooting, programming. He or she coordinates with Drs. Dahlquist and Dionisio and fellow coders in developing the code base for the GRNsight gene page. GRNsight is written in JavaScript and is built on open source JavaScript libraries. Source code is hosted on GitHub and managed by Node.js.

Guild Members

  • Page Design: Arash (Coder), Nicole (Designer)
  • Gene Database APIs: Eddie A. and John
  • JASPAR API: Eddie B. and Simon
  • Interaction and Integration: Blair and Zach

Milestones

The milestones do not necessarily correspond to particular weeks; instead they are sets of tasks grouped together.

Milestone 0: Journal Club Presentation

  • For the Week 11 assignment, the Coders (including Designers) of each team will prepare a PowerPoint presentation of their respective assigned software design/development/engineering/best practices reading to be delivered in class on Tuesday, November 14.

Milestone 1: Working Environment Setup

Coder work will require the following software. The Seaver 120 lab computers are already set up for this; this list is provided for Coders who need to work on a different computer or outside of the lab.

  • Node.js 8.4.0 or newer
  • Code-savvy editor such as Atom or Microsoft Visual Studio Code
  • Web browser with developer tools (Seaver 120 uses Google Chrome)
  • git version control software
  • (depends on team) curl command

Make sure that this software is installed and operational before beginning. If any Coder needs help with any of these packages, please consult your fellow guild members or ask Dr. Dionisio.

Milestone 2: Version Control Setup

Coding work will be done on a fork of the open source GRNsight project, which is hosted on GitHub. The software that interacts with GitHub to perform version control is git. If any Coder needs help with git or version control concepts in general, please consult your fellow guild members or ask Dr. Dionisio.

The Interaction and Integration team is responsible for this fork, and will do their own work on the master branch of this fork. Thus, many of the early steps in this procedure involve them, and they must accomplish these steps first before the others can proceed:

  1. All members of the Coder guild should acquire a GitHub account, if they don’t already have one (it’s free).
  2. One of the Coders of the Interaction and Integration team creates a fork of the GRNsight project.
  3. The Interaction and Integration team adds the GitHub accounts of all Coder guild members as collaborators on the fork.
  4. Once every team is a collaborator on this fork, they can then create their respective branches on the fork:
    • The Page Design team creates a branch called page-design.
    • The Gene Database APIs team creates a branch called gene-database-apis.
    • After the gene-database-apis branch is created, the JASPAR API team creates a branch from gene-database-apis called jaspar-api.

The teams will then do their work on their respective branches. The protocol for integrating your work is described in the Integration and Testing milestone below.

The structure described in this milestone is a typical GitHub fork-and-branch approach which some Coders are already familiar with. If any Coder needs help with this methodology, please consult your fellow guild members or ask Dr. Dionisio.

Milestone 3: “Developer Rig” Setup and Initial As-Is Build

Milestone 4: Development and Implementation

(varies per team)

Milestone 5: Integration and Testing

This page is under construction.

GRNsight Gene Page Project Links
Overview Deliverables Reference Format Guilds Project Manager Quality Assurance Data Analysis Coder
Teams Page Desiigner Lights, Camera, InterACTION! Gene hAPI JASPAR the Friendly Ghost