Firstly, check out our technology stack :
It is Play framework, REST API, Java, AngularJS, MySQL, we deploy our application on AWS, Heroku. All our development happens over Lubuntu, a lightweight and fast operating system. We make use of Git along with GitHub for version control.
What is SwiftCode ?
SwiftCode program is intended to show a modern age computer science graduate how to build scalable and robust applications using state of the art techniques and design methodologies that have shaped software today.
This blog post beautifully explains how we set up collaborative development environment for our workshop : How to Quickly Set Up Collaborative Software Development Environments
On August 20th, we hosted our first workshop at BNMIT engineering college, Bangalore. We had 25 students from Computer/Information Science department.
On the first and second day, Sandeep and Akshay took the session on Java Play framework, explaining how to build a RESTful application. They completed the backend side of the application. Students were often made to commit and push their code on Github. At the end of day 2, Shrita showed how to test our APIs using the Postman.
On the third day, Prarthana took a session on front-end development, talking about how responsive websites could be built using bootstrap, architecture of Model-View-Controller (MVC) and AngularJS.
At the end of the training, all students were able to build a social media (similar to facebook) application on their own. They had soo much fun and learned a lot.
You can see all the repositories created by them at our GitHub org : https://github.com/swift-code
Image source : SwiftCode
It’s a great start to our long journey. Keep waiting to know about our next stop! 🙂
The Google Summer of Code 2016 is coming to an end, just couple of days left.
The good thing is that I’m also almost done with my project and enjoying my free time. 🙂
I have published the screencast of how my project (Collaborative editor extension) works on my laptop.
YouTube : https://youtu.be/lf1Kg0gVIWk
I had built the extension on normal MediaWiki.
I tested it on my local instance of WikiToLearn i.e http://tuttorotto.biz (URL is accessible only if you are running its local instance)
It works good and as smooth as it was on MediaWiki.
The things I’ve planned to work on these final days are :
* Write good documentation. Since my project was bit complicated, I do feel it requires a good documentation on how does it work, how to use it and configuring it.
* It may need some tweaking on UI so as to match with the current skin of WikiToLearn. It would be easy, we can do it anytime but my focus is on get the collaborative editing work good.
* I’m curious to know how it would perform when we deploy it on staging or production server. I know WikiToLearn will be used by the huge number of people every day and hence it will have high traffic.
I’m also looking for any good tool to write my documentation. Maybe GitHub wiki, ReadTheDocs or a blog post would be fine I think.
Hope all these goes well. 🙂
Testing Rich Elements.
YouTube : https://youtu.be/T3KyDwNi_VM
It’s been more than a month I’m playing with MediaWiki. I have learned a lot of things.
In my last blog post, I had mentioned about running the MediaWiki instance locally. After spending some time I was able to configure Parsoid server successfully. The issue was MediaWiki parsoid developer setup configuration page had a different format of URI.
The good part is I have done all works which were there in my TODO list of last blog post. In fact, I have done more than that.
Now, I have good knowledge on how to setup MediaWiki locally and run VE (also configured with parsoid server). I can also help other if they face any issues.
I discussed with James Forrester regarding our extension and took some feedback from him. He pointed me to some of the hurdles which I would face while building Collaborative Editor extension.
The workflow of my extension is also done. Cristian helped me in designing the workflow of extension.
* I tried out different VE extensions just to get used to how extensions are build.
* VisualEditor provides a powerful API through which we can build our extensions on top of it.
* I tried out OO.ui to add an icon within VE so that user can enable collaboration by clicking on it.
* Now, I’m working on APIs listen to behavior of cursor inside the VE, so that all the changes made will be seen by others in real time.
On May 5th night, we had a hangout call with our project mentors and other GSoC students of WikiToLearn team.
This is the first hangout call we had with respect to GSoC.
We discussed the following things :
* Having a blog account and keep updating the progress in it. Also to find a way to mirror our blog and WikiToLearn wiki page to keep track of everything.
* We discussed our project proposals. We felt it will be a good idea if we inform about our project ideas to upstream contributors, MediaWiki contributors so that they could help us if we have any problem with respect to MediaWiki extension development.
* Make use of WikiToLearn tech channel effectively for every technical problem because we have experienced people there who could help us to solve it.
Things which I have done till now :
* Created an account on KDE identity.
* Got KDE developer access.
* Aggregated my Blog with KDE planet.
* Have an account on Phabricator.
* Have an account on KDE Bugtracking System. (WikiToLearn team doesn’t use it much.)
* Updated my user page on WikiToLearn.
* Created a doc which shows a list of days and hours I’ll be working/taking off.
* Running MediaWiki instance locally in my system.
* Installed and enabled VisualEditor. (Playing with it)
* Spending some amount of time in configuring Parsoid server. (I need to link VisualEditor and Parsoid server so that they talk each other and enables me to create and save wiki pages.)
Things I’ll work on next :
* Configure Parsoid server.
* Design workflow scheme for collaborative editor extension.
* Try out some simple VE extensions.