Difference between revisions of "GettingStarted"

From crowdresearch
Jump to: navigation, search
(What is the release timeframe)
(What is the Release Cycle)
Line 71: Line 71:
 
= '''What is the Release Cycle''' =
 
= '''What is the Release Cycle''' =
 
=== '''Three Phase Cycle'''  ===
 
=== '''Three Phase Cycle'''  ===
# <code>Development</code>  
+
# <code>Development</code> <code>Saturday, Sunday, Monday, Tuesday, Wednesday </code> 
# <code>Staging Ready for Production </code>
+
# <code>Staging Ready for Production </code> <code>Thursday</code>  
# <code>Released to Production </code>
+
# <code>Released to Production </code> <code>Friday</code>  
  
 
==='''How to submit the work'''===
 
==='''How to submit the work'''===

Revision as of 17:44, 10 May 2015

How to setup the environment?

Fig 1. System Architecture

Local environment

  1. Please go through README

Current folder structure:

  1. Backend: crowdsourcing Serializers, Validators, Viewsets, Models, Views, tests
  2. Front End statcfiles css, js (angular services, controllers) Angular routes Configurations, templates html
  3. Admin csp

System Architecture

  1. Fig 1 shows the overview of the architecture. For more Information please see
  2. Data Models
  3. Front End
  4. Git Strategy
  5. Active Branches: Develop, Staging, Production

If you have questions

  1. Check existing FAQs.
  2. If you don't get answer: add your question to the FAQs list, ping on slack #infra channel, escalate the issue to DRIs


What to work on?

Working on the existing issues

  1. Take a look at the Open Issues
    Fig 2. Release Cycle & Tags
  2. Helpful search tags: Unassigned Open & Critical, Need Backup ,
  3. Choose the issue you would like to work on
  4. Add it to the google doc: Issue Name, Your Name, Your Git Hub Id
  5. If you want to raise request for the new issue or feature (see the section below)

Creating New issue/feature Requests:

  1. If you want to create new issue, task, feature request add it the Fig 2 Github Issues
  2. The Labels in the Fig 2 highlight various tags that needs to be associated with the issue.
  3. Description Write a clear description explaining the new request. Add below tags:-
  4. Add tags 0. Feature Request, 0. Please Prioritize
  5. Add the one tags from 1 to 9 describing category of your request
  6. Assign the issue to yourself and in the description add following DRI handle so that immediate notification will be sent:
# Category Name Add DRI handles in the Description
1 DESIGN @neilthemathguy
2 FRONT END ENGINEERING @nistala, @neilthemathguy, @dmorina
3 SYSTEMS @dmorina, @elsabakiu, @neilthemathguy, @ksetyadi
4 DATA @dmorina, @elsabakiu, @neilthemathguy, @ksetyadi
5 DEPLOYMENT @ksetyadi, @dmorina, @neilthemathguy
6 SECURITY @ksetyadi, @dmorina, @elsabakiu, @neilthemathguy
7 ANALYTICS @neilthemathguy
8 TESTING @swapagarwal, @dmorina, @ksetyadi, @neilthemathguy
9 OTHERS @dmorina, @ksetyadi, @nistala, @neilthemathguy


What are the categories?

Design Dashboard Dashboard Class Class Class


What is the Release Cycle

Three Phase Cycle

  1. Development Saturday, Sunday, Monday, Tuesday, Wednesday
  2. Staging Ready for Production Thursday
  3. Released to Production Friday

How to submit the work

  1. Finish the development and testing
  2. Create the branch with the FEATURE NAME and tag ACTIVE TAG
  3. Add the GIT issue number to the request, it will help to cross reference the release
  4. Create the PULL REQUEST
  5. Update the description of the issue

Timeline for each week

  1. We have weekly milestone schedule
  2. Each release should be 5 days: Saturday, Sunday, Monday, Tuesday, Wednesday
  3. The Pull Request should be raised on Wednesday
  4. DIRs should finish the Merge by Friday
  5. Saturday is the DEMO Day