Monday, October 3, 2011

My Academic Project – Git Based Wiki Implementation

As my university curriculum insists, I need to do an individual project in the end of my master of computer application course. I decided to do it completely using the open source technologies. And my project topic is “Git based wiki implementation”. I am not a fool to say that my wiki is more efficient than the existing Wikipedia. Existing Wikipedia is the brain work of hundreds of experienced software engineers. Then what’s about my wiki?

The main point about my project is, the efficient distributed version control system, Git is used here. Why a version control system is needed in a wiki? We know, wiki is basically an information resource where an efficient content management system is established. Any registered user has the privilege to edit the article. If a user edits an article and adds some misleading/unwanted/abusing information, then we need to retain the previous published version of the particular article. So it is very important that, a wiki needs an efficient version control system. Git is a distributed version control system with an emphasis on speed.

Python is used as the back end. Basic HTML/JavaScript/CSS is used for the interface. Here webpy framework is used in the development of my project. Webpy has a built in server. SQLite3 database is used for saving user information. Nginx server can be used for the application on implementation.

My project uses only the open source tools for its development and gives the freedom to any one of the world to modify it under GPL license. Wiki software (Wiki engine or wiki application) is collaborative software that runs a wiki, i.e., a website that allows users to create and collaboratively edit web pages using a web browser. Git is more powerful tool to implement the Wiki system.

The application has following type of users,

Administrator : Administrator have the privilege to mail all the registered users, rollback all articles etc.
Registered users : Registered users can  create articles and edit them.
Author : Author is registered user who can rollback his articles.
Viewers : Viewers are the normal users who can only view the articles.

I will add more posts about the project in the coming days.



No comments:

Post a Comment