Gitbackend: Difference between revisions

Tag: visualeditor
Line 1: Line 1:
== '''Git Backend''' ==
== '''Git Backend''' ==
'''Overview'''


The project is aimed to develop a git based backend for Journal.
The project is aimed to develop a git based backend for 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
* Create different branches
* Merge branches
* Fork others program
* Make pull request to others program
==== '''Steps to move on this project:''' ====
==== '''Steps to move on this project:''' ====
1. Code to use git as datastore
1. Code to use git as datastore
Line 8: Line 22:


     We can use [https://developer.github.com/v3/git/ github API] need discussions(Why/Why not):
     We can use [https://developer.github.com/v3/git/ github API] need discussions(Why/Why not):
     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.
     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
.  Desigin UI
     UI should allow user to perform following activies in database:
     UI should allow user to perform following activies in database:
         * fork
         * fork