User:Deepakrocks0009: Difference between revisions

From SMC Wiki
No edit summary
Line 1: Line 1:
This is my proposal for project Grandham. Please suggest any required changes.
== Personal Information ==


Introduction
Email Address                    ː deepak.kumar.ece11@iitbhu.ac.in
Blog URL                        ː http://deepakiitbhu.blogspot.com/
Freenode IRC Nick                ː deepak
University and current education ː BTech Electronics Engineering, Indian Institute of Technology (B.H.U.) Varanasi


Grandham is a project of an organization SMC to maintain and record bibliographic record. The current project allows authentic users to create bibliographic record (books), edit and update it. There are different tabs of books, authors, publishers and libraries. Feature to add book cover and searching of items on the basis of language are also there. But if we want to process the record, it is difficult for computers to read them in their original form. The records need to be in converted into proper format in order to make it machine readable that format should be internationally acceptable. So we want to introduce MARC 21 feature in Grandham for all types of bibliographic records. MARC 21 is a set of digital format for the description of items such as books, bibliographic record etc. There are several versions of MARC out of which MARC 21 is most predominant. Using the format of MARC we will convert record to machine readable form.


Project Goals
=== Why do you want to work with the Swathanthra Malayalam Computing? ===


The main goal of the project is to introduce MARC 21 import/export feature in Grandham. The features which will be introduced are:
Swathanthra Malayalam Computing is the best platform for me to showcase my talent and prove my self. Moreover seeing my fellow batch mates I was inspired to contribute to open source project. The project Grandham is totally of my field of interest. In addition to this the mentors are very helpful and are always ready to help any time. I am looking my carrier in software field and want to become a good developer so SMC's platform is a golden opportunity.
1.      Import and parse bibliographic data from MARC 21 records. It basically means reading and decoding MARC 21 record so that we can understand it. (Reading and decoding operation)


2.       Improving book table. Currently book table contains limited field columns and it need to be extended in order to accommodate extra fields.
=== Do you have any past involvement with the Swathanthra Malayalam Computing or another open source project as a contributor? ===
No.I was not familiar with SMC. I have not contributed to any open source project.


3.       If we have a bibliographic record, we need convert it into MARC 21 format so that it can be processed by machines. (encoding Operation)
=== Did you participate with the past GSoC programs, if so which years, which organizations? ===
No. I have not participated in GSoC programs before.


4.      We need to have export feature i.e. exporting data to existing MARC 21 record in case if we want to append some data. (writing operation)
=== Do you have other obligations between May and August ? Please note that we expect the Summer of Code to be a full time, 40 hour a week commitment ===


5.       Since there are large number of fields and sub fields in MARC 21 so we will have option feature for the user which fields of record must be shown on view page. However we need to import all the field to our database.
I will try to give more than 40 hour a week as I will try to do my work on weekends also. I am very dedicated towards my studies and passion as I used to study 12 hour daily during my preparation time. I will try to finish the project requirements 2-3 weeks before the dead line.


6.      A small profile for authors and publishers can be made.
=== Will you continue contributing/ supporting the Swathanthra Malayalam Computing after the GSoC 2013 program, if yes, which area(s), you are interested in? ===


7.       We need add comment option on each record in order to have review of users.
I will contribute to SMC even after GSOC'14 and if I am not selected then also I will be in touch with SMC and mentors. I will try to develop advance features in Grandham (conversion to MARC 21 file of other language file other than english) in future. Moreover I will try to extend project to other form of records other than bibliographic record.  


8.      We need improve the Front end of the project in order to make more user friendly.
=== Why should we choose you over other applicants? ===


Future Development
I have been working on ruby on rails for last 1 year and I had done my summer internship'13 too on ruby on rails developing a web application for company www.schoolmitra.com. In that project I had worked on student database management, student report card management, bulletin board feature, alert system on mobile and email and event management system. I have also created a basic blog app using ruby on rails framework. Swanthanthra Malayalam Computing will be a great platform for me to contribute as the organisation has project 'Grandham' which belongs to my field of interest. I am familiar with most of the gems and tools which will be used in the project. Moreover the project is basically implementation of encoding and decoding algorithm and as I am good in algorithm and programming that will help me.
 
I am very enthusiastic and passionate about the project and I will work with full dedication and determination.
The current project only deals with bibliographic record and it can be extended to other formats like authority records, communication information.
 
Implementation
 
In order to implement MARC 21 import/export feature in Grandham I need to understand it thoroughly. MARC 21 is a huge document having 800+ fields and 3000+ subfields and it follows a particular format for encoding /decoding data.
1.      First we need to import MARC file which can be done through ruby’s ‘file_filed_tag’ which supports all type of file. Once the file is selected by browsing and submitted, we need to read it in controller. Moreover we will have an option to select files from existing records too. Once we read it as a string we can decode it using ruby-marc library function MARC::Reader.decode(string).
 
2.       Once we have decoded data describing leader, tags, control fields, and field value now we need to match the fields and tags with database value and find what they exactly mean. If any of the field does not matches with database it will go to default row of table and will be assign null value. It will be a tough task to make a huge database of MARC 21 control fields and sub fields and for this we will be using rails’ STI method. Using single table inheritance method we will be avoiding extra tables. We can omit some of the fields which are rarely used.
 
3.      For adding columns in book table we just need to create another table. This is necessary as we want to decode every field of MARC record.
 
4.      Converting existing bibliographic record into MARC 21 format record is basically an encoding process and for this we will be using MARC8 encoding scheme. We need to first create a blank marc record file using MARC::Record.new function. And after this we will append data to this file and by using library function MARC::Writer.encode(record) we will get encoded MARC record. The main task in this process is to append data to record. Every record has title, language_id, price, isbn, pages, year and many other fields. From these fields we need to generate leader, directory of tags, fields, sub-field, and field value with the help of MARC 21 format. Once we have these array of data we can use ‘record.append’ function to append it to record.
 
5.      For any changes in existing MARC record first it need to be decoded and after the proper changes it can be again change back to marc record. In another way if we need to add any particular filed and subfield value it can be done through append function.
 
6.      Since there will be a lot of information in a MARC 21 record and all of it may be not useful for a reader so we will restrict the flow of data in view of record. However we need to extract every field of the record as it may contain useful information.
 
7.      For making front end better we can use bootswatch.com themes. Features like how many people liked the record, and how many viewed the record can be made using gem socialization.
 
8.      A small profile for authors and publishers can be introduced which will have fields like name, his books, his qualification etc.
 
9.      Another feature which can be introduced for the books is comment for receiving users review. This can be simply implemented using gem ‘act_as_commentable’.
 
Timeline (19th may to 18th August)
·        19th may to 25th June
 
Importing MARC file will and extracting leader, tag, fields and subfields.
 
·        26th may to 1st June
 
Creating database of marc tags, fields and subfields.
 
·        2nd June to 22nd June
 
Decoding the file with the help of database.
 
·        23rd June to 24th June
 
Once the import feature is created I will test it using different type of marc records and its efficiency with large MARC files and modify book table. So it will take another 2 days.
 
·        25th June to 5th July
 
Now for encoding process i.e. converting a bibliographic record into MARC I have to create tags, fields, subfields and data value from the book table fields.
 
·        6th July to 17th July
 
Appending these data to newly created record and encoding it.
 
·        18th July to 25th July
 
Creating view of the decoded MARC file and deciding the fields which need to be shown.
 
·        28th July to 4th Aug
 
Creating profile for authors, publishers and adding comment feature.
 
·        5th Aug to 11th Aug
 
Implementing Bootswatch.com theme and adding CSS to project and showing number of visitors to page.
 
·        11th Aug to 18th Aug
 
Enhancing the code, making test file, and modifying documentation.
 
 
About me
 
I am Deepak Kumar, a junior year undergraduate student of Department of Electronics Engineering at Indian Institute of Technology (B.H.U.) Varanasi, one of the India’s premier engineering Institute. I have good hand on knowledge of ruby on rails, HTML, CSS, JavaScript, and SQLite. I have worked on many web application and my best one is www.schoolmitra.com during my summer internship 2013. Features on which I had worked under this project are event management, send alerts, bulletin board, and student database management.
I know two of my batch mates who have worked in GSOC’13 Bhardwaj Machiraju and Rishabh Yadav.
 
Email: deepak.kumar.ece11@iitbhu.ac.in
IRC: deepak_
Github: github.com/deepakrocks0009
Mob: +918423542271

Revision as of 18:25, 19 March 2014

Personal Information

Email Address                    ː deepak.kumar.ece11@iitbhu.ac.in
Blog URL                         ː http://deepakiitbhu.blogspot.com/
Freenode IRC Nick                ː deepak
University and current education ː BTech Electronics Engineering, Indian Institute of Technology (B.H.U.) Varanasi


Why do you want to work with the Swathanthra Malayalam Computing?

Swathanthra Malayalam Computing is the best platform for me to showcase my talent and prove my self. Moreover seeing my fellow batch mates I was inspired to contribute to open source project. The project Grandham is totally of my field of interest. In addition to this the mentors are very helpful and are always ready to help any time. I am looking my carrier in software field and want to become a good developer so SMC's platform is a golden opportunity.

Do you have any past involvement with the Swathanthra Malayalam Computing or another open source project as a contributor?

No.I was not familiar with SMC. I have not contributed to any open source project.

Did you participate with the past GSoC programs, if so which years, which organizations?

No. I have not participated in GSoC programs before.

Do you have other obligations between May and August ? Please note that we expect the Summer of Code to be a full time, 40 hour a week commitment

I will try to give more than 40 hour a week as I will try to do my work on weekends also. I am very dedicated towards my studies and passion as I used to study 12 hour daily during my preparation time. I will try to finish the project requirements 2-3 weeks before the dead line.

Will you continue contributing/ supporting the Swathanthra Malayalam Computing after the GSoC 2013 program, if yes, which area(s), you are interested in?

I will contribute to SMC even after GSOC'14 and if I am not selected then also I will be in touch with SMC and mentors. I will try to develop advance features in Grandham (conversion to MARC 21 file of other language file other than english) in future. Moreover I will try to extend project to other form of records other than bibliographic record.

Why should we choose you over other applicants?

I have been working on ruby on rails for last 1 year and I had done my summer internship'13 too on ruby on rails developing a web application for company www.schoolmitra.com. In that project I had worked on student database management, student report card management, bulletin board feature, alert system on mobile and email and event management system. I have also created a basic blog app using ruby on rails framework. Swanthanthra Malayalam Computing will be a great platform for me to contribute as the organisation has project 'Grandham' which belongs to my field of interest. I am familiar with most of the gems and tools which will be used in the project. Moreover the project is basically implementation of encoding and decoding algorithm and as I am good in algorithm and programming that will help me. I am very enthusiastic and passionate about the project and I will work with full dedication and determination.