You are on page 1of 23

Trainee Registration And Management System

ADVANCED LEVEL TELECOMMUNICATION TRAINING CENTER (BSNL TRAINING CENTER) GHAZIABAD-201002

GUIDE: MR. OMENDRA GOVIND, SUB DIVISIONAL ENGINEER, ALTTC BSNL GHAZIABAD 6 WEEK TRAINING

SUBMITTED BY: SUSHIL KUMAR, 10103611, CSE DEPARTMENT, JAYPEE INSTITUTE OF INFORMATION TECHNOLOGY

INDEX

1) Acknowledgement 2) Declaration 3) Description of Organization 4) Project description 5) Project work breakdown 6) Database design 7) Frontend and backend development 8) Snapshots 9) Appendix 10) References

3 4 5 8 9 10 15 16 20 23

Acknowledgement

It gives me immense pleasure to express my profound gratitude to Jaypee Institute of Information Technology, Noida to encourage students to undergo industrial training to gain valuable practical experiences from various industries and companies. First of all, I would like to express my gratitude towards Mr. Omendra Govind, SDE(IT) who encouraged me to undergo this training at BSNLs Advanced Level Telecom Training Center, Ghaziabad. I also extend my thanks to all the faculties and teaching staff at ALTTC for their valuable support and assistance.

DECLARATION

Sushil Kumar(10103611), student of JIIT, Sector 62, NOIDA hereby declare that the project entitled Trainee Registration and Management System was completed by me under the guidance of Mr. Omendra Govind during the period w.e.f 3 June 2013 to 12 July 2013. The same is hereby approved.

Sushil Kumar 10103611, CSE

DESCRIPTION OF ORGANIZATION

Bharat Sanchar Nigam Ltd. was incorporated on 15th september 2000 . It took over the business of providing of telecom services and network management from the erstwhile Central Government Departments of Telecom Services (DTS) and Telecom Operations (DTO), with effect from 1st October 2000 on going concern basis. It is one of the largest & leading public sector units providing comprehensive range of telecom services in India. BSNL has installed Quality Telecom Network in the country & now focusing on improving it, expanding the network, introducing new telecom services with ICT applications in villages & winning customer's confidence. Today, it has about 43.74 million line basic telephone capacity, 8.83 million WLL capacity, 72.60 million GSM capacity, 37,885 fixed exchanges, 68,162 GSM BTSs, 12,071 CDMA Towers, 197 Satellite Stations, 6,86,644 RKm. of OFC, 50,430 RKm. of microwave network connecting 623 districts, 7330 cities/towns & 5.8 lakhs villages . BSNL is the only service provider, making focused efforts & planned initiatives to bridge the rural-urban digital divide in ICT sector. In fact there is no telecom operator in the country to beat its reach with its wide network giving services in every nook & corner of the country & operates across India except New Delhi & Mumbai. Whether it is inaccessible areas of Siachen glacier or North-Eastern regions of the country, BSNL serves its customers with a wide bouquet of telecom services namely Wireline, CDMA mobile, GSM mobile, Internet, Broadband, Carrier service, MPLS-VPN, VSAT, VoIP, IN Services, FTTH, etc. BSNL is numero uno of India in all services in its license area. The company offers wide ranging & most transparent tariff schemes designed to suit every customer. BSNL has 90.09 million cellular & 5.06 million WLL customers as on 31.07.2011. 3G Facility has been given to all 2G connections of BSNL. In basic services, BSNL is miles ahead of its rivals, with 24.58 million wire-line phone subscribers i.e. 71.93% share of the wireline subscriber base. BSNL has set up a world class multi-gigabit, multi-protocol convergent IP infrastructure that provides convergent services like voice, data & video through the same Backbone & Broadband Access Network. At present there are 8.09 million broadband customers. The company has vast experience in planning, installation, network integration & maintenance of switching & transmission networks & also has a world class ISO 9000 certified Telecom Training Institute. During the 2010-11, turnover of BSNL is around Rs. 29,700 Crores.

VISION:

Be the leading telecom service provider in India with global presence. Create a customer focused organization with excellence in customer care, sales and marketing. Leverage technology to provide affordable and innovative telecom. Services/products across customer segments.

MISSION: Be the leading telecom service provider in India with global presence.

Generating value for all stakeholders - employees, shareholders, vendors & business associates Maximizing return on existing assets with sustained focus on profitability Becoming the most trusted, preferred and admired telecom brand To explore International markets for Global presence

Creating a customer focused organization with excellence in customer care, sales & marketing.

Developing a marketing and sales culture that is responsive to customer needs mere care, sales& marketing

Excellence in customer service-friendly, reliable, time bound, convenient and courteous service

Leveraging technology to provide affordable and innovative products/ services across customer segments

Offering differentiated products/services tailored to different service segments Providing reliable telecom services that are value for money

Providing a conducive work environment with strong focus on performance


Attracting talent and keeping them motivated Enhancing employees skills and utilizing them effectively Encouraging and rewarding individual and team/group performance

Establishing efficient business processes enabled by IT


Changing policies and processes to enable transparent, quick and efficient decision making Building effective IT systems and tools

OBJECTIVES:

To be the Leading Telecom Services provider by achieving higher rate of growth so as to become a profitable enterprise.

To provide quality and reliable fixed telecom service to our customer and thereby increase customers confidence.

To provide customer friendly mobile telephone service of high quality and play a leading role as GSM operator in its area of operation.

Aspiration

Be the leading Telecom Service Provider in India with global presence. Create a customer focused organisation with excellence in sales, marketting and customer care. Leverage technology to provide affordable and innovative products/services across customer segments Provide a conducive work environment with strong focus on performance Establish efficient business processes enabled by IT

Strategy for:

Rightsizing the manpower Providing greater customer satisfaction>/li>

Contribute towards:

Broadband customers base of 20 Mn in India by the end of 2011-12 as per broadband policy 2004. Providing telephone connections in villages as per Government policy.

To leverage the existing infrastructure of BSNL for facilitating implementation of other government programmes and initiatives particularly in the rural areas.

Project Description
Abstract
During the course of this training I worked with fellow trainees to implement an Online Training Registration and Management Module using which the substantial part of training registration process can be done online and after complete registration student can take the print out of this fully filled registration form and get registration done. It provides the students a convenient way to register since those who are not local to the place can get themselves register without presenting themselves in person at the ALTTC office.

Features
Online Registration form: This was the core feature of the module. It was a form with all the necessary fields. This form can be reached at http://alttc.bsnl.co.in/registration/registration_form.php Facility to download registration form in PDF form: Functionality using which student can download the filled form after successful registration in an easy to carry PDF format. Prototype of admin panel using which: A not so feature full panel using which administrators at ALTTC can keep a eye on the registration process. Cancel any registration, can get the information of the registered students and can download filled forms in PDF (just in case student didn't brought it ).

Project Work Break down

This module used PHP and MySQL the existing infrastructure that ALTTC use for their own website. The entire module was divided into following 4 major components

1.) Database Design. 2.) UI Design. 3.) Front end development and integration. 4.) Integration with existing website. I with fellow trainees worked on Database Design, Back-end development (PHP), client-side scripting and integration with existing website. UI Design was done by other trainees.

Database Design
A database having many relations having different purposes ranging from metadata to list of colleges in India to relations for storing student's permanent information was designed. A complete ER diagram of the complete database is there in subsequent pages. Following is the list of tables with their structures and description

1)

Admin Datatype varchar varchar Size 50 50 Constraints Not null Primary key Not null

S.No. Attribute Name 1 Email 2 password

Description: This tables holds the details of all the administrators at ALTTC which can login using this information and can control many aspects of registration process.

2)

Branch Datatype int varchar Size 11 50 Constraints Not null Primary key Not null

S.No. Attribute Name 1 id 2 Branch_name

Description: List of all branches / major ( we didn't implemented an exhaustive list )

3)

Cities: Datatype varchar varchar Size 100 100 Constraints Not null Primary key(combined) Not null Primary key(combined)

S.No. Attribute Name 1 location 2 City_state

Description: List of cities and states so as to give an intutive option to user to select state and then corresponding city.
10

4)

Course_master Attribute Name Course_id Course_name Course_category_id Datatype int varchar Int Size 5 100 5 Constraints Not null Primary key Not null Not null Reference from training_category

S.No. 1 2 3

Description: List of the domains available for training at ALTTC.

5)

Degree Attribute Name id Datatype int Size 11 Constraints Not null Auto Increment Primary key Not null Unique

S.No. 1

degree

varchar

10

Description: Degree the student is pursuing.

6)

Metadata Attribute Name email Ip_address timestamp Datatype varchar varchar timestamp Size 100 100 Constraints Not null Primary key(combined) Not null Unique(combined) Not null Default current_timestamp On update current_ timestamp

S.No. 1 2 3

Description: A metadata table which records the IP address of the student when he/she registers. It can be used to track the student in case of any fraudulent activity.

11

7)

student_details

S.No. 1 2 3 4 5 6 7 8 9

Attribute Name email fname mname lname dob fathername paddress caddress phoneno

Datatype varchar varchar varchar varchar date varchar varchar varchar varchar

Size 50 20 20 20 70 100 100 11

Constraints Not null Primary key Not null Default null Not null Not null Not null Not null Not null Not null

Description: Holds the almost permanent information of the student. This table is separate so that the information can be persisted even if registration details are deleted.

8)

training_category S.No. 1 2 Attribute Name Category_code Category_name Datatype int varchar Size 11 50 Constraints Not null Primary key Not null

Description: List of the categories available for training at ALTTC.

9)

Universities S.No. 1 Attribute Name Univ_id Datatype Int Size 11 Constraints Not null Auto increment Primary key Not null Unique(combined) Not null Unique(combined)

2 3

Name Location

Varchar Varchar

200 100

Description: List of all the colleges and universities with theri locations ( again this list is not exhaustive )
12

10)

registration_details Attribute Name Reg_id Datatype Int Size 11 Constraints Not null Primary key Auto_increment Not null Reference from universities Not null Reference from degree Not null Reference from branch Not null Reference from cities Not null Not null Not null Not null Default null Default null Not null Default null Default null Default null Not null Reference from course Not null Reference from training_category Not null Reference from student_details Not null Reference from cities

S.No. 1

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

Univ_id Degree_id Branch_id State duration Hostel_acc Dd_no_main Dd_amount_main Dd_no_hostel Dd_amount_hostel Branch_name_main Branch_name_hostel Photo_sig Photo_id Course_id Category_code email City

Int Int Int varchar Int Int Int Int Int Int Varchar Varchar Varchar Varchar int int varchar Varchar

11 11 11 100 11 11 11 11 11 11 100 100 50 50 5 5 50 100

Description: Registration related details of the students. Information specific to the student is stored in student details table.

13

Entity Relationship Diagram


email emailvv passwor d Admin email paddress updates Changes/vie ws Student_details Phone no caddres state register city duratio Hostel_ac Registration_details Branch id selec fnam mnam Metadata monitor ipaddress timestam lnam fathernam dob

Dd_amount_mai college degree branch

Reg_id
Photo_si Photo_i email Course_i Cat_cod Cities Universities selec

Branch_nam
Univ_id name location

selec

location

Dd_no_host el Dd_no_main
Dd_amount_hoste Degree degnam

City_state
selec selec selec Course_master Training_category Cat_cod

Course_id Course_cat_i dame

Course_nam

id

Cat_name

14

Frontend Development and Integration


Frontend part
An HTML form to submit the required user details is part of the front end. Complete form validation using JavaScript and AJAX form upload so as to create an nice UI. Description of most significant scripts is given below 1. Main.js : This was the heart script of the form. It handled almost all the functionality of the form. The main feature was AJAX form submission and form validation. 2. Some more script for other AJAX requests to update the form in real time as user interacts with it. Technologies Used : jQuery Form submission plugin, Select2 Drop down box plugin to unable search in drop down boxes. See Appendix for some code exerpts.

Backend part
Several PHP scripts to with varying purposes were implemented. Description of some of the main scripts is given below. 1. Register.php : This is the main script which is responsible for storing the information from form to the database. It has all sort of sanity checks implemented so that it doesn't leave the database in corrupt state. It checks for CAPTCHA, checks if user has uploaded photos and if everything is fine then it stores all the information in the database in atomic fashion. This script talks with the front end using JSON as the medium of information exchange. 2. A bunch of files required for post registration activities namely login, information updation and download of PDF form. Technologies Used: FPDF the PDF generation library for PHP, MySQLI extension for more robust database interaction. See Appendix for some code exerpts.

15

SNAPSHOTS

16

17

Trainee Login

18

Admin

19

Appendix
This appendix contains some of the code excerpts written in PHP and JavaScript.

1.) Optional File Upload script


if( !empty ( $_FILES ) ) { // upload logic if( !empty($_FILES["photo"]) ) { if( $_FILES["photo"]["error"] >0) { // photo } else { $target_path ="uploads/"; $name = $_FILES["photo"]["name"]; $ext = end(explode(".", $name)); $exploded = explode("@" , $_POST["email"]); $fname1 = $exploded[0]; $fname2 = $exploded[1]; $photo_file_name = "photo_{$fname1}{$fname2}.{$ext}"; $target_path = $target_path . $photo_file_name ; if(!move_uploaded_file($_FILES["photo"]["tmp_name"], $target_path)){ } } } if( !empty($_FILES["signature"]) ) { if( $_FILES["signature"]["error"] > 0 ) { // signature } else { $target_path ="uploads/"; $name = $_FILES["signature"]["name"]; $ext = end(explode(".", $name)); $exploded = explode("@" , $_POST["email"]); $fname1 = $exploded[0]; $fname2 = $exploded[1]; $sig_file_name = "signature_{$fname1}{$fname2}.{$ext}"; $target_path = $target_path . $sig_file_name ; if(!move_uploaded_file($_FILES["signature"]["tmp_name"], $target_path)){ } } } }

2.) Generating PDF using FPDF


<?php require('fpdf.php'); $pdf = new FPDF(); $pdf->AddPage(); $pdf->SetFont('Arial','B',16); $pdf->Cell(40,10,'Hello World!'); $pdf->Output(); ?>

20

3.) Client side Form validation using JavaScript


function validate ( formData, jqForm, options ) { var data = preSubmit(); var regex_email = /[a-zA-Z0-9\._]+@[a-zA-Z]+(\.[a-zA-z]{2,4})+/; var regex_name = /[a-zA-Z]+/; var regex_mo = /[0-9]{10}/; var regex_dd = /[0-9]{6}/; var index = 1; var array = Array(); for ( var key in data ){ var id = "", error = ""; if( data[key] == null || data[key] == "" || data[key] == undefined ) { error = key + " can't be left empty."; id = "#" + key + "_id"; if(key=="fname"){ id="#name_id"; } $(id).show(); $(id).text(error); index++; }

} var drop_down = Array(); drop_down['degree'] drop_down['branch'] drop_down['course'] drop_down['category'] drop_down['states'] drop_down['cities'] drop_down['college']

= = = = = = =

$("#degree option:selected").text(); $("#branch option:selected").text(); $("#course option:selected").text(); $("#category option:selected").text(); $("#states option:selected").text(); $("#cities option:selected").text(); $("#colleges option:selected").text();

for (var key in drop_down ){ if( drop_down[key] == "Please select an option" ){ error = "Please select a " + key ; id = "#" + key + "_id"; $(id).text(error); $(id).show(); index++; } } if( !((data['email']=="") || (data['email']==null)||(data['email']==undefined)) && !regex_email.test(data['email'])){ error = "Invalid Email Address" ; id = "#email_id"; $(id).text(error); $(id).show(); index++; } if( !((data['fname']=="") || (data['fname']==null)||(data['fname']==undefined)) && !regex_name.test(data['fname']) ){ error = "Invalid First Name" ; id = "#name_id"; $(id).text(error); $(id).show(); index++; } if( !((data['mobile_no']=="") || (data['mobile_no']==null)||(data['mobile_no']==undefined)) && !regex_mo.test(data['mobile_no']) ) { error = "Invalid Mobile No" ; id = "#mobile_no_id"; $(id).text(error);

21

$(id).show(); index++; } if( !((data['dd-main-number']=="") || (data['dd-main-number']==null)||(data['dd-mainnumber']==undefined)) && !regex_dd.test(data['dd-main-number']) ){ error = "Invalid DD Number" ; id = "#dd-main-number_id"; $(id).text(error); index++; } if( !((data['dd-hostel-number']=="") || (data['dd-hostel-number']==null)||(data['dd-hostelnumber']==undefined)) && !regex_dd.test(data['dd-hostel-number']) ){ error = "Invalid DD Number" ; id = "#dd-hostel-number_id"; $(id).text(error); $(id).show(); index++; }

if( index > 1) { return false; } return true; }

4.) AJAX based login system


var options = { type : 'GET', url : 'trainee_login_validation.php', dataType : 'json', beforeSubmit : validation, success : function(obj){ if(obj.auth){ window.location = "trainee_account.php"; } else { alert("Wrong login"); } }, error : function(request,error){ console.log(request); } } $("#trainee_login").ajaxForm(options); function validation ( formData, jqForm, options ) { var email = formData[0].value; if( email == null || email == "" || email == undefined ) { $("#email_id").text('email cant be empty'); return false; } return true; }

22

References

1.) PHP MySQL Tutorial on W3Schools. http://www.w3schools.com/php/php_mysql_intro.asp 2.) Regular Expressions Cookbook by Jan Goyvaerts, Steven Levithan ISBN :1449319432 3.) jQuery AJAX form submission http://www.phpeveryday.com/articles/jQuery-AJAX-Form-Submission-P973.html 4.) Submit a Form without Refreshing page with jQuery and Ajax by Srinivas Tamada http://www.9lessons.info/2009/04/submit-form-jquery-and-ajax.html 5.) The Principles of Cross Browser coding by Louis Lazaris http://coding.smashingmagazine.com/2010/06/07/the-principles-of-cross-browser-css-coding/ 6.) Achieve cross-browser functionality with HTML5 and CSS3 by Kris Hadlock http://www.ibm.com/developerworks/library/wa-crossbrowsertechniques/ 7.) Cross-browser compatibility with CSS3 by Louis Gubitosi http://interactiveblend.com/blog/online/cross-browser-compatibility-with-css3/ 8.) jQuery Form plugin code samples http://malsup.com/jquery/form/#ajaxForm 9.) JSON with PHP tutorial on Tutorials Point http://www.tutorialspoint.com/json/json_php_example.htm 10.) PHP JSON Manual http://php.net/manual/en/book.json.php 11.) Encoding and Decoding JSON Data in PHP by Anil Gupta
http://www.phptutorialforbeginners.com/2013/01/encoding-and-decoding-json-data-in-php.html

12.) CAPTCHA creation in PHP http://www.slideshare.net/vmadan89/captcha-creation-using-php

23

You might also like