Summer of Code/2016/GitBackend: Difference between revisions

Created page with "<big><big>'''<u>About You</u>'''</big></big><br /> '''<big>What is your name?</big>'''<br/> My name is Vikram Ahuja and i am a Undergraduate student at [http://www.iiit.ac.in..."
 
No edit summary
Tag: visualeditor
 
Line 58: Line 58:
|-
|-
| '''Community Bonding Period(28th April-18th May)''' ||  
| '''Community Bonding Period(28th April-18th May)''' ||  
* Finalizing the designs with the mentor.
** Finalizing the designs with the mentor.
* Finalizing the features and the implementation details with the mentor
 
* Clarifying doubts and add to my existing research.
** Finalizing the features and the implementation details with the mentor
* Researching the libraries that will be used more extensively.
** Clarifying doubts and add to my existing research.
* Understanding the plugin system of Turtle Block JS.
** Researching more libraries and compare with Dulwich
* Researching about making the project all browser compatible.
** Understanding the code of Turtle Block JS.
** Understanding the code of Sugar Journal and Datastore.
** Decide framework to use for web development of UI
** Finalizing the libraries to be used.


|-
|-
| '''Week 1(19th May - 25th May)''' ||   
| '''Week 1(19th May - 25th May)''' ||   
* Begin Coding for the activity
** Designing a flow chart for developing git backend
* Start making the basic version of the activity according to the decided UI.
** Start working on the first task(Backend for Turtle JS)
** Major functionalities like commit, fork, create etc will be implemented.


|-
|-
| '''Week 2(25th May - 1st June)''' ||  
| '''Week 2(25th May - 1st June)''' ||  
* Features like Previous/Next Image, Rotation, Resize, crop to be implemented for the basic version.
** Functionalities like pull request, diff will be implemented.
* Both Slideshow ,Time Based SlideShow , save and Converting to thumbnail to be implemented.
** Finishing backend for the Turtle JS
|-
|-
| '''Week 3(2nd June - 8th June)''' ||  
| '''Week 3(2nd June - 8th June)''' ||  
* Collage creation, compression and Watermark features to be implemented.
** UI to look at commit history, merging and forking for the Turtle JS
* Basic Version Completed.
** Web service for integration of Python and JS modules
* Testing the basic version and making it all browser compatible
* '''Deliverable 1'''
|-
|-
| '''Week 4(9th June - 15th June)''' ||  
| '''Week 4(9th June - 15th June)''' ||  
* Starting with Image Processing and Manipulation.
*  
* Integrating CamanJS with the basic version.
** Finishing up UI for Turtle JS
* Enhancement Functions, plugin system(to create filters) and UI based plugin(drag and drop) to be implemented.
** Web service for integration of Python and JS modules
** Server integration


|-
|-
| '''Week 5(16th June - 22nd June)''' ||  
| '''Week 5(16th June - 22nd June)''' ||  
* Buffer Week
** Starting with the second task to create the backend for the journal
** Coding functionalities like create, read, update , delete.
|-
|-
| '''Week 6(23rd June - 29th June)''' ||  
| '''Week 6(23rd June - 29th June)''' ||  
* Mid-Term Evaluation
** Deliverable 1
* Color Palette to be Implemented.
** Mid-Term Evaluation
** Buffer Week


|-
|-
| '''Week 7(30th June - 6th July)''' ||  
| '''Week 7(30th June - 6th July)''' ||  
* Pipeline System(Slow/Fast)
** Major git functionalities like commit, fork, PR, diff , status and merge to be implemented.
* Start working on Interactive Pixel mode(Pixel wise changes) feature.
** Start working with the API so that activities can connect to the git backend


|-
|-
| '''Week 8(7th July - 13th July)''' ||  
| '''Week 8(7th July - 13th July)''' ||  
* Finishing with interactive Pixel mode feature.
* Finishing coding functionalities required for the backend.
* UI based Automatic Version Control.


|-
|-
| '''Week 9(14th July - 20th July)''' ||  
| '''Week 9(14th July - 20th July)''' ||  
* Start working on Interactive Help/Tour Function.
** Testing and bug fixes
 
** Finishing up with the API.
** Server Integration


|-
|-
| '''Week 10(21st July - 27th July)''' ||  
| '''Week 10(21st July - 27th July)''' ||  
* Unit Testing and fixing the major accordingly.
** First version of the git backend completed.
* Starting Documentation
** Server Integration


|-
|-
| '''Week 11(28th July - 3rd Aug)''' ||  
| '''Week 11(28th July - 3rd Aug)''' ||  
* Integration Testing and fixing bugs
** UI for Sugar python activities
* Documentation
** Server Integration


|-
|-
| '''Week 12(4th Aug - 10th Aug)''' ||  
| '''Week 12(4th Aug - 10th Aug)''' ||  
* Finishing up with Integration Testing
** Integrating API with activities
* System Testing and fixing bugs
** UI for sugar  python activities
* Documentation


|-
|-
| '''Week 13(11th Aug - 17th Aug)''' ||  
| '''Week 13(11th Aug - 17th Aug)''' ||  
* Buffer Week
** Integrating API with the activities
* Finishing Documentation
** Buffer Week
** Testing, bug fixing


|-
|-
| '''17th Aug - 20th Aug'''  ||  
| '''17th Aug - 20th Aug'''  ||  
* '''Final Submission'''
** Buffer Week
** Testing
** Final Submission
|}
|}


Line 151: Line 160:
* Created a Pacman game using python  
* Created a Pacman game using python  
* Created a Photo Sharing portal using Ruby on Rails.  
* Created a Photo Sharing portal using Ruby on Rails.  
All the above mentioned projects had strict deadlines and were completed on time. In most of these projects I had to learn the technologies first and then implement them. Also I have no commitment other than this project this summer. <br/>
All the above mentioned projects had strict deadlines and were completed on time. In most of these projects I had to learn the technologies first and then implement them. Also I have no commitment other than this project this summer.  
In order to learn how sugar-web works and how CamanJS works, I created basic Image Viewer and a very basic Plugin system.
            https://github.com/vikramahuja1001/ImageJS/ <br/>
            https://rawgit.com/vikramahuja1001/ImageJS/master/index.html <br/>
            ImageJS 1 (basic): https://www.youtube.com/watch?v=uWTsEVzVp0A <br/>
            ImageJS 2 with CamanJS and plugin: https://www.youtube.com/watch?v=EQOT7g6jnKs <br/>