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. |
− | 2. Desigin UI | + | |
− | UI should allow user to perform following activies in database:
| + | 2. Desigin UI |
− | * fork
| + | |
− | * pull request
| + | UI should allow user to perform following activies in database: |
− | * merge
| + | * fork |
− | * see versioning
| + | * 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 |