Difference between revisions of "Gitbackend"

From Sugar Labs
Jump to navigation Jump to search
(Change title size)
Tag: Mobile edit
 
(12 intermediate revisions by one other user not shown)
Line 1: Line 1:
== '''Git Backend''' ==
+
= Overview =
 +
The project is aimed to develop a git based backend for Sugar Journal.
  
The project is aimed to develop a git based backend for Journal.
+
== Functional Requirements ==
  
==== '''Steps to move on this project:''' ====
+
Users(kids) should be able to:
 +
* Register a unique username
 +
* Login with his/her unique username
 +
* Start versioning their program
 +
* Look at history of their program
 +
* Clone others and their programs
 +
* Save new content to versioned programs
 +
* Look at difference between current state of program and versioned state
 +
* Create different branches
 +
* Merge branches
 +
* Fork others program
 +
* Make pull request to others program
 +
 
 +
= User Work Flow =
 +
User work flow image is present at https://drive.google.com/file/d/0B-LVD_AaEDFjakw3VjExU2ZhYnM/view?usp=sharing
 +
 
 +
The dia file of above work flow is present [https://drive.google.com/file/d/0B-LVD_AaEDFjSkZoMVgwT3VFSnM/view?usp=sharing here].
 +
 
 +
= Steps to move on this project =
 
1. Code to use git as datastore
 
1. Code to use git as datastore
    Datastore should provide "CRUD" functionality.
+
 
    We can use [https://developer.github.com/v3/git/ github API] need discussions(Why/Why not)
+
Datastore should provide "CRUD" functionality of program for git backend along with special features as mentioned in functional requirements.
        API have certain limitations like the git API limits the support of blobs up to 100 megabytes in size [https://developer.github.com/v3/git/blobs/ proof], number of requests per hour are limited(60 requests for unauthenticated requests[https://developer.github.com/v3/#rate-limiting proof]. So it is better to build the datastore from scratch.
+
 
2. Desigin UI
+
2. Desigin UI  
    UI should allow user to perform following activies in database:
+
 
        * fork
+
UI should allow user to perform following activies in database:  
        * clone
+
* fork  
        * pull request
+
* clone  
        * merge
+
* start new program versioning
        * versioning(see history)
+
* see history of program
 +
* pull request  
 +
* merge  
 +
* add new content to the versioned program
 +
* look at difference between current state of program and versioned state of program
 +
* create branche

Latest revision as of 15:30, 5 April 2015

Overview

The project is aimed to develop a git based backend for Sugar Journal.

Functional Requirements

Users(kids) should be able to:

  • Register a unique username
  • Login with his/her unique username
  • Start versioning their program
  • Look at history of their program
  • Clone others and their programs
  • Save new content to versioned programs
  • Look at difference between current state of program and versioned state
  • Create different branches
  • Merge branches
  • Fork others program
  • Make pull request to others program

User Work Flow

User work flow image is present at https://drive.google.com/file/d/0B-LVD_AaEDFjakw3VjExU2ZhYnM/view?usp=sharing

The dia file of above work flow is present here.

Steps to move on this project

1. Code to use git as datastore

Datastore should provide "CRUD" functionality of program for git backend along with special features as mentioned in functional requirements.

2. Desigin UI

UI should allow user to perform following activies in database:

  • fork
  • clone
  • start new program versioning
  • see history of program
  • pull request
  • merge
  • add new content to the versioned program
  • look at difference between current state of program and versioned state of program
  • create branche