Vous êtes sur la page 1sur 142

1.

INTRODUCTION
Innovation is the base of development; so here introduce a new topic ONLINE PROJECT
CORDINATION SYSTEM. This system is opening a new technology to manage the students
project. Here all the communication between student-student and student-guide is digital. So direct
presence of guide is not necessary, guide can give instruction to their students from the distant area.
Only an Internet connection is required to do this task. The main problem is if the guide is absent
then the students must not receive the necessary guidelines. In this system guide can monitor the
work of each group. Approval of topic, abstract submission is also digitalized. So guide can easy to
verify and can send it to head of the department. Head can put mark for each group. Also provide
public and private messages between group members, so project works can do on both working days
and holidays. Here have 4 types of user- Admin, Head of the Department, Guide and Student. Admin
will create account for every other users, he can remove or temporarily block unwanted users, can do
correcting errors. Each user can create their own profile details in their account. This system will
store the name of all the projects done by the students, so this history helps for other students to
select the topic by neglecting already presented topics.
In the current system submitting all the records are submitted as hardcopies and
communication between students-students and students-guide is direct. So if the guide is busy or
absent will be a big trouble for students. And also students cant make a good communications in
holidays. Topic approval and abstract submission need more time. This type problems leads to the
creation of the system-Online project management system. Expense will be larger when we submit
everything as hard copies, and direct communication is not possible on any situation. So proposed
system will be a fast, efficient and reduce workload and money consumption of students and lectures.

1.1. OBJECTIVES

Make grouping and document submission of students project through online.

Provide digital communication between students and guide

Make verification and approval of project works through online.

Provide previously done project topic names online for reference.

1.2. BRIEF DESCRIPTION


Proposed system will allow digital communication between users. A master user
Administrator will control and maintain the overall system. Administrator will create account for
HOD. Head will select a lecture as project guide from a list of lectures. Guide will assign group
leaders and group members. Members can submit topics and other document to the guide. Also
members can communicate each other.
In the existing system reports and other documents are submitted as hard copies. In this
system students can submit topics and documents as soft copies. So it can reduce time and expense.
Guide can help students to clear their doubts through online messages. Students can communicate
with other students or guide regardless of their location. Students can share ideas and documents.
They can submit documents and reports to guide. Guide can correct the reports and upload it to HOD
for verification.
To use this project users need user id and password. This is done by the administrator. After
the account creation every users can create a profile of them, including profile photo, address, mobile
number, degree branch etc. At the time of login system identify Head, Guide, Student and Admin by
their user id and password. Other features are profile modification, password change password
recovery technique etc.
In the market customers not only value the features of the system, they also check for a user friendly
system, because all the users may not know the technical side of the site. So user friendly site will
more useful. Here provide a simple and easily understandable interface for this website, so anyone
who knows English can easily handle the website.

2. SYSTEM ANALYSIS

2.1 REQUIREMENT SPECIFICATION


2.1.1 Existing System
In existing system there is no digital control of students projects. All documents
related to project are submitted and verified as hard copies. Students need to meet their guide to get
advice or clear any doubts, which is only possible in working hours of working day.

2.1.2 Proposed System


Here we are introducing a web site to coordinate project of an MCA student. Using
this web site students can submit project topic and other documents related to project to their guide.
Students can do online discussion with their group members, they can clarify doubts by asking to
guide through our web site. Guide and HOD can verify documents submitted by students and assign
marks to them. They can view student discussions and respond to them.

2.2 FEASIBILITY STUDY


A feasibility study is a test of the system proposal according to its workability, impact
on the organization, ability to meet user and effective use of resources. The objective of feasibility
study is not to solve the problem, but to acquire a sense of its scope. During the study, the problem
definition is crystallized and aspects of problem to be included in the system are determined,
consequently costs and benefits are estimated with greater detail at this stage. The result of feasibility
study is a system formal proposal. This is simply a form of documenting or detailing the nature and
scope of proposed solution. The proposed summarizes what is known and what is going to be done.
The key considerations involved in the feasibility analysis are technical, economic, and social.

Here the study is done in three phases.


1. Technical feasibility
2. Economical feasibility
3. Social feasibility

2.2.1 Technical Feasibility


The assessment of technical feasibility must be based on an outline design of system
requirements in terms of input, output, files, programs and procedures. This can be qualified in terms
of volumes of data, trends, frequency of updating, cycles of activity etc. in order to give an
introduction of technical system, ONLINE PROJECT CORDINATION SYSTEM satisfies
technical feasibility because it need only less requirements in additional hardware or system
configuration for implementation and execution.
2.2.2 Economical Feasibility
Justification of any capital outlay is that it will reduce expenditure or improve the quality of
service or goods which in turn may be expected to provide increased profits. The technique of cost
benefit analysis is often used a basis for assessing economic feasibility. So the ONLINE PROJECT
CORDINATION SYSTEM satisfies economical feasibility.
2.2.3 Social Feasibility
Todays world is much faster and everybody needs to access the information at higher speed
at the lowest possible cost. Using this ONLINE PROJECT CORDINATION SYSTEM a student
can do his project more easily. And a guide and HOD can more effectively help students to do their
project.

3. SYSTEM SPECIFICATION
3.1 HARDWARE CONFIGURATION
Visual Studio.NET Requirements
Operating System:

Microsoft Windows XP Professional


Microsoft Windows XP Home Edition
Microsoft Windows 7 Professional
Microsoft Windows 7 Ultimate
Memory:

Microsoft Windows XP Professional 1 gigabytes(GB) of RAM


Windows 7 Professional 1 GB of RAM
Windows 7 Ultimate 1 GB of RAM
Hard Disc:
Standard Edition 8 GB on installation drive, which include 500 MB on system drive
Professional and Enterprise Editions 8 GB on installation drive, which include 500

MB on system drive
Drive:

ROM or DVD-ROM drive


Display:

Super VGA (800*600) or higher-resolution monitor with 256 colors.


Mouse:

Microsoft Mouse or Compatible pointing device


3.2 SOFTWARE CONFIGURATION
Tools
Operating System

: Visual studio.Net
: Windows 7, Windows XP

4. SOFTWARE DESCRIPTION
4.1 FRONT END
Microsoft .Net:
Microsoft .NET is Microsofts new Internet strategy. .NET was originally called NGWS
(Next Generation Windows Services). .NET is not a single technology, rather it is a set of
technologies that work together seamlessly solve your business problems.
Microsoft released the .NET framework in February 2002, its biggest initiative since the
launch of Windows in 1991.Microsoft .NET is a revolutionary multi-language platform that knits
various aspects of application development together with the internet. All .NET programs are
compiled to an Intermediate Language (IL) rather than to native code, which can be understood by
the computer processor. MSIL must be converted to CPU-specific code by a Just in time (JIT)
compiler. It helps the runtime and garbage collection keep track of memory that will be released back
to the operating system when it is no longer needed.
Microsofts .net is the next generation platform for building web applications and web
services. It is a platform for XML web services areas of Microsoft.

.NET is Microsofts new Internet and web strategy


.NET is a new internet and web based
infrastructure .NET delivers software as web services
.NET is a framework for universal services .NET
is a server centric computing model
.NET will run in any browser on any platform .NET
is based on the newest web standard

FEATURES
ASP.Net Features:
ASP.Net combines unprecedented developer productivity with performance, reliability and
deployment. ASP.Net redesigns the whole process. Its still easy to grasp for new comers but it
provides many ways of managing projects. The following are the features:
Easy Programming Model
ASP.NET makes building real world Web applications dramatically easier. ASP.NET server
controls enable an HTML-like style of declarative programming that let you build great pages with
far less code than with classic ASP. Displaying data, validating user input, and uploading files are all
amazingly easy. Best of all, ASP.NET pages work in all browsers including Netscape, Opera, AOL,
and Internet Explorer
Flexible Language Options
ASP.NET lets you leverage your current programming language skills. Unlike classic ASP,
supports only interpreted VBScript and Jscript, ASP.NET now supports more than 25 .NET language
(built-in support for VB.NET, C#, and Jscript.NET), giving you unprecedented flexibility in your
choice of language.
Great Tool Support
You can harness the full power of ASP.NET using any text editor, even Notepad. But Visual
Studio .NET adds the productivity of Visual Basic-style development to the Web. Now you can
visually design ASP.NET Web Forms using familiar drag-drop-double-click techniques, and enjoy
full-fledged code support including statement completion and color-coding. VS.NET also provides
integrated support for debugging and deploying ASP.NET Web applications. The Enterprise versions
of Visual Studio .NET deliver life-cycle features to help organization plan, analyze, design, build,
test, and coordinate teams that develop ASP.NET Web applications. These include UML class
modeling (conceptual logical, and physical models), testing tools (functional, performance and
scalability), and enterprise frameworks and templates, all available within the integrated Visual
Studio .NET environment.
Rich Class Framework
rd

Application features that used to be hard to implement, or required a 3 party component,


can now be added in just a few lines of code using the .NET Framework. The .NET Framework
offers over 4500 classes that encapsulate rich functionality like XML, data access, file upload,
regular expressions, image generation, performance monitoring and logging, transactions, message
queuing, SMTP mail, and much more. With Improved Performance and Scalability ASP.NET lets
you serve more users with the same hardware.

Compiled Execution
ASP.Net much faster than classic ASP while preserving just hit save update model of
ASP. However, no explicit compile step is required. ASP.Net will automatically detect any changes,
dynamically compile the files if needed, and store the compiled results to reuse for subsequent
requests. Dynamic compilation ensures that your application is always up to date, and compiled
execution makes it fast.
Rich Output Caching
ASP.Net output caching can dramatically improve the performance and scalability of your
application. When output caching is enabled on a page, ASP.Net executes the page just once, and
saves the result in memory in addition to sending it to the user. When another user requests the same
page, ASP.Net serves the cached result from memory without resending the page. Output caching is
configurable, and can be used to cache individual, regions or entire page. Output caching is
configurable, and can be used to cache individual regions or an entire page. Output caching can
dramatically improve the performance of data-driven pages by eliminating the need to query the
database on every request.
Web-Form Session State
ASP.Net session state enables to share session data user-specific state values across all
machines in the web farm. It enables the users to hit different servers in the web farm over multiple
requests and still have full access to the session. And since business components created with the
.Net framework are free-threaded, so the problem of thread affinity can be avoided.
Easy Deployment
ASP.Net takes the pain out of deploying server applications. It dramatically simplifies the
installation of the application. With ASP.Net, the developer can deploy an entire application as easily
as an HTML page; just copy it to the server. No need to run regsvr32 to register any components, and
configuration settings are stored in an XML file within the application.
Dynamic update of running application
ASP.Net lets the user to update compiled components without restarting the web server. In
the past with classic COM components, the developer would have to restart the web server each time
an update is deployed. With ASP.Net the developer can simply copy the component over the existing
DLL: it will automatically detect the change and start using the new code.
Easy Migration Path
ASP.Net pages are processed by the new ASP.Net engine. It enables the user to migrate
application by application or single pages

XML Web Services


XML web services allow applications to communicate and share data over the internet,
regardless of operating system or programming language. ASP.Net makes exposing and calling XML
web services simple. Any class can be converted into an XML web services with just a few lines of
code, and can be called by any SOAP client. Likewise, ASP.Net makes it incredibly easy to call
XML web services from the application.
Mobile Web Device Support
ASP.Net mobile controls let the developer to easily target cell phones, PDAs and other
mobile web devices. The mobile controls will automatically generate WAP/WML, HTML or I Mode
as required by the requesting device.

4.2 BACK END


SQL-SERVER 2005 (Back End):

The SQL-Server 2005 database from Microsoft Corporation is a cooperative server


and open database used to support mission critical application. It is fully portable to more
than 80 distinct hardware and operating system platforms, room development system,
mainframe and super computer. These platforms are UNIX, VMS, MVS, VM, HP, MPE/XL,
OS/2, NT, Windows-95 and Novell NetWare. This portability enables to select SQL Server
database server platform that meet current and future needs without effecting already existing
applications. In practice it provides an asset of the more or the less flexible and sophisticated
tools for handling information. These tools for handling information and define a database
query, secure data from public access, communicate within a network s exports and imports
data because it gives so much control over the data.
C#.NET:

C#.NET is the next generation of the visual basic language from Microsoft. With C#
you can build .NET applications quickly and easily. Applications made with C# are built on
the services of the common language runtime and take advantage of the .NET framework.
C# has many new and improved features such as inheritance, interfaces and
overloading that make it a powerful object-oriented programming language. Other new
features include free threading and structured Exception handling# fully integrated the .NET
framework and the common language runtime, which together provides language
interoperability, garbage collection, enhanced security, and improved versioning support C#
supports single inheritance security and create

5. SYSTEM DESIGN

5.1. MODULES
5.1.1. ADMINISTRATOR
Administrator is a person responsible for carrying out the administration of a software or
System. Here administration is the process of controlling and monitoring the activities takes place
in the software. In this website Administrator have overall control in all activities. Also have
feature to monitor the activities of the user. In Software, sometimes need some modifications, so
here have options for maintenance. This website does not allow everyone to register ,so here
administrator create account for all in the institution and Public messages can send to everyone.
5.1.2. HOD
Head of the department select one lecture from the group of lectures in the institution as the
guide of project. So HOD can give instructions to guide about the projects which mean much
information like submission date, maximum number of members allowed for a group etc.
Verification of the project topics and project documentation sends by guide. Assigning mark is
also allowed for this user. This mark will be store in the database and also approved topics will be
put in the memory so students can easily find the seniors topics.

5.1.3. GUIDE
Guide directly interact with the students, before starting the project guide create number of
groups and add students to each group. And here have option to send public messages to students
so general information can be easily distributed. Also provide communication with HOD. Study
material distribution is allowed for every student. The most important feature is guide can help
students in distant area by the help of internet, because it is a web based project. Submission date
will be announced. Document verification is also provided. Marks of each student will be store in
the database as guide mark. Here there are two marks for each student, one is by HOD and other is
by guide.

10

5.1.4. STUDENT
Students can communicate with the group members, it gives a good opportunity to share
ideas and clarify the doubts. This is done by group messaging. Each student will have their own
profiles. Photo upload option gives a good looking to the site and it creates a personal account
feeling. Every student can send documents of project to their group members and guide. If anyone
have any complaints there here have option to send complaints to the Administrator.

11

5.2. DATA FLOW DIAGRAM


Data flow diagram is one of the best ways of documenting the entire functionality of the
system, which will have some data flows in and have some processing inside and then some data
flows out from the system can be documented or represented effectively by means of data flow
diagrams. The data flow diagrams are a diagrammatical representation of the system, which has
inputs, process and outputs. Once any system is represented using a data flow diagram, we can
identify the following things easily:

Various entities interacting with the system are identified.


Flow of data from one entity is identified.
Processes involved in between the interaction of two or more entities in the system are clearly
pointed out.
Various data stores, which hold the data in between processes, are clearly identified.

In the normal convention, logical DFD can be completed using only 4 notations

: Represents source / destination data

: Represents data flow

: Represents a process that transforms


Incoming data into outgoing flow.

: Represents data store

12

To construct a Data Flow Diagram, we use,


Squares representing external entities, which are sources or destinations of data.
Rounded rectangles representing processes, which take data as input, do
something to it, and output it.
Arrows representing the data flows, which can either, be electronic data or
physical items.
Open-ended rectangles representing data stores, including electronic stores such as
databases or XML files and physical stores such as or filing cabinets or stacks of
paper.
Process:
A process transforms incoming data flow into outgoing data flow.
Data Store:
Data stores are repositories of data in the system. They are sometimes also referred to as files.
Dataflow:
Data flows are pipelines through which packets of information flow. Label the arrows with
the name of the data that moves through it.
External Entity:
External entities are objects outside the system, with which the system communicates.
External entities are sources and destinations of the system's inputs and outputs.
Data Flow Diagram Layers:
Draw data flow diagrams in several nested layers. A single process node on a high level
diagram can be expanded to show a more detailed data flow diagram. Draw the context diagram first,
followed by various layers of data flow diagrams.
Context Diagrams:
A context diagram is a top level (also known as Level 0) data flow diagram. It only contains
one process node (process 0) that generalizes the function of the entire system in relationship to
external entities.
The DFD at the simplest level is referred to as the CONTEXT ANALYSIS DIAGRAM.
These are expanded by level, each explaining its process in detail. Processes are numbered for easy
identification and are normally labeled in block letters. Each Data flow is labeled for easy
understanding.

13

LEVEL 0

Figure 1
Description: User login in to the website by checking username and password in the login table

14

ADMINISTRATOR LEVEL 1

Figure 2
Description: Admin login to the website using username and password in the login table. Then
admin can control profile of other users using the process user profile control, which is connected
with sub processes user profile creation, activation and deactivation, search. Using those sub
processes admin can create account of other all users, admin can search other user using search
process to view their profile and admin can deactivate or activate their account temporarily.
Registration table contains information about the users. Admin can send public messages to users
through public message process using message table. Also read complaints and requests posted by
user through complaints table. Admin can change his password using change password process.

15

HEAD OF DEPARTMENT LEVEL 1

Figure 3
Description: Figure 3 shows the level 1 dataflow diagram of HOD. HOD can login to the website
using username and password given in the login table. HOD can search a user in search process by
accessing LEC_REG and STUD_REG tables. HOD can receive or send public messages using
public message process. HOD can also verify documents uploaded by users by accessing
document table and can assign marks to students using the process assign mark. .HOD can change
his password using change password process.

16

GUIDE LEVEL1

Figure 4

17

Description: Guide can login to the website using username and password given in the login table.
Figure 4 shows the level 1 DFD of guide. Guide can search a user in search process by accessing
STUD_REG table, can receive or send public messages using public message process. Guide can
assign students into number groups and verify the topics uploaded by them using group creation
and topic approval processes. Guide can also verify documents uploaded by students by accessing
document table and can assign marks to students using assign mark process. Guide can also
upload documents to website using document upload process. Guide can change his password
using change password process.

18

STUDENT LEVEL1

Figure 5
Description: Student can login to the website using username and password given in the login
table. Figure 5 shows the level 1 DFD of student. Students can submit their project topic to guide
and check its status from topic submission and check status processes. Student can receive or send
public messages using public message process. Student can also upload documents to guide
through document upload process and download documents using document download process by
accessing documents table. Student can also view marks using view marks process from marks
table. Student can change his password using change password process.

19

5.3. DATABASE DESIGN


A database table is designed as a collection of rows and columns, which are in turn called
tuples and attributes tuples but a record in the table. A record is a collection of one or more
interrelated fields. The table is an object of relational database management systems, which is used to
store and retrieve data much easier and faster. The tables should be carefully designed because the
efficiency of the software is based on the effective table design. The organization of data in a
database aims to achieve three major objectives: data integration, data integrity and data
independence.

LOGIN
PRIMARY KEY: ID
PURPOSE: Uniquely identify user to login. Primary key id is an integer assigned
uniquely for each user.

20

PROJECTS
PRIMARY KEY: PROJECT ID
PURPOSE: Stores the name of the previously done projects. It used to check by student
that whether that topic selected by previous batch or not.

MESSAGES
PRIMARY KEY: USERNAME
PURPOSE: Used to store messages and its related information such as sender id,
destination id, guideline for all students.

21

REGISTRATION (LECTURE)
PRIMARY KEY: ID
PURPOSE: store details of lecture. When a new lecture is arrived his details will added to
the table.

22

REGISTRATION (STUDENT)
PRIMARY KEY: ID
PURPOSE: Used to store details of student, When a new Student is arrived his details
will added to the table.

23

DOCUMENTS
PRIMARY KEY: DOC.ID
PURPOSE: Stores information about the document uploading. Sender id, destination id,
group name etc.

24

MARKS
PRIMARY KEY: ID
PURPOSE: Stores marks assign by the HOD and guide of each students, students have option
to view it.

COMPLAINT
PRIMARY KEY: USERNAME
PURPOSE: Stores complaints registered by HOD, guide or students.

25

NOTIFICATIONS
PRIMARY KEY: GUIDEUSERNAME
PURPOSE: Used to store the guidelines send by guide and its related information such as
guide username, destination, path, etc.

PROJECT SUBMISSION
PRIMARY KEY: GROUP ID
PURPOSE: Used to store the topic submitted by each group and its related information
such as groupid, date, etc.

26

5.4. INPUT OUTPUT DESIGN

LOGIN

STUDENT REGISTRATION BY ADMINISTRATOR

27

LECTURE REGISTRATION BY ADMINISTRATOR

VIEW BY ADMIN

28

VIEW BY ADMIN

ADMIN-USER ACTIVATION/DEACTIVATION

29

FORGET PASSWORD

ADMIN-PUBLIC MESSAGE

COMPLAINT AND REQUEST

30

HOD SEARCH

HOD-PUBLIC MESSAGES

31

HOD-DOCUMENT VERIFICATION

HOD-ASSIGN MARK

GUIDE-SEARCH

32

GUIDE-DOCUMENT VERIFICATION

GUIDE-DOCUMENT UPLOAD

GUIDE ASSIGN MARK

33

GUIDE-PUBLIC MESSAGE

STUDENT-PUBLIC MESSAGE

34

STUDENT-DOCUMENT UPLOAD

STUDENT-VIEW MARKS

35

6. SYSTEM CODING
The project uses Microsoft Visual Studio .NET as front end and SQL server 2005 as back
end. The system has four modules Admin, HOD, Guide and User.
The entire application is organized by different package:
1.
2.
3.
4.
5.
6.
7.
8.

System
System.Collections.Generic
System.Linq
System.Web
System.Web.UI
System.Web.UI.WebControls
System.Data
System.Data.SqlClient

The name spaces used for this project are the following:
The system name space contains fundamental classes and base classes that define commonly
used types of classes. It is usually specified with a using system directive. The package System.Web
consists of the web supports for the system. It consists of several classes which helps in web based
operations. The System.Web name space contains classes for creating web based applications. The
System.Web.UI web controls name space contains classes that allow you to create HTML server
controls on a web form page.html server controls run on the server and map directly to standard
HTML tags supported by most browsers. The System.Linq is used to execute queries in the code.
The System.Data namespace is the .NET framework data provider for SQL server. The package
System.Data.SQLClient contained different classes.

36

6.1. ADMINISTRATOR MODULE


6.1.1. ACTIVATION AND DEACTIVATION
Administrator can deactivate the account of a user temporarily. Then it can activate when
needed.

CODE FOR ACTIVATION AND DEACTIVATION


public partial class usercontrol_activaion_deactivation : System.Web.UI.UserControl
{
database db = new database();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)

37

{
grid();
}
}
public void grid()
{
DataTable dt = new DataTable();
dt = db.table("select username,role,status from login");
GridView1.DataSource = dt;
GridView1.DataBind();
}
protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{
int dd = e.NewSelectedIndex;
string ii = "";
ii = db.scalar("select status from login where username='" + GridView1.Rows[dd].Cells[1].Text
sdf +"'");
if (ii == "1")
{
int d = e.NewSelectedIndex;
int i = 0;
i = db.nonquery("update login set status='0' where username='"
+ GridView1.Rows[d].Cells[1].Text + "'");
}
else
{
int d = e.NewSelectedIndex;
int i = 0;
i = db.nonquery("update login set status='1' where username='" +
GridView1.Rows[d].Cells[1].Text + "'");
}
grid();
}

38

6.1.2. LECTURE REGISTRATION


Administrator can create new account for users. This page is used for creating new lecture
accounts.

CODE FOR LECTURE REGISTRATION


public partial class usercontrol_lecture_registration : System.Web.UI.UserControl
{
databasedb = new database();
string availability = "";
int id;
protected void Page_Load(object sender, EventArgs e)
{
int i;
i = int.Parse(db.scalar("select MAX(id) from lec_reg"));
i++;
id = i;

39

Label1.Text = i.ToString();
}
protected void Button3_Click(object sender, EventArgs e)
{
string i = checkavailability();
if (i == "1")
{
Label3.Text = "Available";
}
else if (i == "2")
{
Label3.Text = "Not Available";
}
else
{
Label3.Text = "Enter Username";
}
}
protected string checkavailability()
{
string result = "";
if (username.Text != "")
{
availability = db.scalar("select status from login where username='" + username.Text
+ "'");
if (availability == "")
{
result = "1";
}
else
{
result = "2";
}
}
else
{
result = "3";
}
return result;
}
protected void Button1_Click(object sender, EventArgs e)
{
if (checkavailability() == "1")
{
int i = 0, j = 0;
i = db.nonquery("insert into lec_reg values('" + id + "','" + username.Text + "','" +
name.Text + "','" + DropDownList1.SelectedValue + "','" + address.Text + "','" +
mobile.Text + "','','"+DropDownList1.SelectedValue+"','"

40

+DropDownList3.SelectedValue+"','" + qualification.Text + "','"


+DropDownList2.SelectedValue+ "','0','"+email.Text+"')");
if (i > 0)
{
j = db.nonquery("insert into login values('','" + username.Text + "','" +
confirmpass.Text + "','" + DropDownList1.SelectedValue + "','1','0','','')");
if (i > 0 && j > 0)
{
Label2.Text = "Success...";
}
else
{
Label2.Text = "Login Table Error...";
}
}
else
{
Label2.Text = "Registration Failed...";
}
}
else
{
Label2.Text = "Username Error...";
}
}
}

41

6.1.3. STUDENT REGISTRATION


Administrator can create new account for users. This page is used for creating new student
accounts.

CODE FOR STUDENT REGISTRATION


public partial class usercontrol_student_registration : System.Web.UI.UserControl
{
databasedb = new database();
int role = 4,id; //role to know who this page for students(so always 4) string
availability = "";
protected void Page_Load(object sender, EventArgs e)
{
int i;
i=int.Parse(db.scalar("select MAX(id) from stud_reg"));
i++;
id = i;

42

Label1.Text = i.ToString();
}
protected void Button2_Click(object sender, EventArgs e)
{
Response.Redirect("students-registration.aspx");
}
protected void Button3_Click(object sender, EventArgs e)
{
string i = checkavailability();
if (i == "1")
{
Label2.Text="Available";
}
else if(i == "2")
{
Label2.Text="Not Available";
}
else
{
Label2.Text="Enter Username";
}
}
protected void Button1_Click(object sender, EventArgs e)
{
if (checkavailability() == "1")
{
int i = 0, j = 0;
i = db.nonquery("insert into stud_reg values('" + id + "','" + name.Text
+ "','" + DropDownList1.SelectedItem + "','" +
DropDownList2.SelectedValue + "','" +
BasicDatePicker1.SelectedDate + "','" + guardianname.Text + "','" +
DropDownList3.SelectedItem + "','" + address.Text + "','" +
mobile.Text + "','" + landline.Text + "','" +
BasicDatePicker2.SelectedDate + "','" + role +
"','','"+username.Text+"','"+email.Text+"')");
if (i > 0)
{
j = db.nonquery("insert into login values('','" + username.Text +
"','" + confirmpass.Text + "','" + role + "','1','0','','')");
if (i > 0 && j > 0)
{
Label3.Text = "Success...";
}
else
{
Label3.Text = "Login Table Error...";
}
}
else
{

43

Label3.Text = "Registration Failed...";


}
}
else
{
Label3.Text = "Username Error...";
}
}
protected string checkavailability()
{
string result="";
if (username.Text != "")
{
availability = db.scalar("select status from login where username='" +
username.Text + "'");
if (availability == "")
{
result = "1";
}
else
{
result = "2";
}
}
else
{
result = "3";
}
return result;
}
}

44

6.1.4. SEARCH
Administrator can use search page to get details of other user. Administrator can search for
both lecture and student details.

CODE FOR SEARCH


public partial class usercontrol_search : System.Web.UI.UserControl
{
databasedb = new database();
DataTable dt = new DataTable();
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{

45

if (DropDownList1.SelectedValue=="1")
{
if(TextBox1.Text!="")
dt = db.table("select name,department,designation,mobile,address
from lec_reg where username='" + TextBox1.Text + "'");
else
dt = db.table("select username,department,designation,mobile,address
from lec_reg where name='" + TextBox2.Text + "'");
}
else
{
if(TextBox1.Text!="")
dt = db.table("select name,course,semester,mobile,address from
stud_reg where username='" + TextBox1.Text + "'");
else
dt = db.table("select username,course,semester,mobile,address from
stud_reg where name='" + TextBox2.Text + "'");
}
grid();
}
public void grid()
{
GridView1.Visible = true;
GridView1.DataSource = dt;
GridView1.DataBind();
}
}

46

6.1.5. READ COMPLAINTS


Administrator receives complaints and requests from other users. Details about this
complaints and requests can be seen from this page.

47

6.1.6. PUBLIC MESSAGE


Administrator can send public messages to any other users. Public messages can also send to
students/lectures only.

CODE FOR PUBLIC MESSAGE


public partial class usercontrol_public_message : System.Web.UI.UserControl
{
databasedb = new database();
protected void Page_Load(object sender, EventArgs e)
{
string purpose = Request.QueryString["purpose"]; if
(Session["ms"].ToString() == "2")
{
if (purpose == "1")
{
DropDownList1.SelectedValue = "1";

48

Label2.Text = "Message For ALL";


}
else if (purpose == "2")
{
DropDownList1.SelectedValue = "2";
Label2.Text = "Message For Lectures";
}
DropDownList1.Visible = false;
}
else if (Session["ms"].ToString() == "3")
{
DropDownList1.SelectedValue = "3";
DropDownList1.Visible = false;
Label2.Text = "Message For Students";
}
}
protected void Button1_Click(object sender, EventArgs e)
{
string x = db.scalar("select role from login where
username='"+Session["username"]+"'");
int i = 0;
i = db.nonquery("insert into messages values('"+Session["username"].ToString()
+"','"+TextBox1.Text+"','"+DropDownList
1.SelectedValue+"','"+DateTime.Now+"','"+int.Parse(x)+"')");
if (i > 0)
Label1.Text = "Success...";
else
Label1.Text = "failed...";
}
}

49

6.2. HOD MODULE


6.2.1. SEARCH
Using this page HOD can search for the details of a lecture or student.

CODE FOR SEARCH


public partial class usercontrol_hod_search : System.Web.UI.UserControl
{
databasedb = new database();
DataTable dt = new DataTable();
string value = "";
protected void Page_Load(object sender, EventArgs e)
{
value = Request.QueryString["value"];
}

50

protected void Button1_Click(object sender, EventArgs e)


{
if (value == "1")
{
if (TextBox1.Text != "")
dt = db.table("select name,department,designation,mobile,address
from lec_reg where username='" + TextBox1.Text + "'");
else
dt = db.table("select username,department,designation,mobile,address
from lec_reg where name='" + TextBox2.Text + "'");
}
else
{
if (TextBox1.Text != "")
dt = db.table("select name,course,semester,mobile,address from stud_reg
where username='" + TextBox1.Text + "'");
else
dt = db.table("select username,course,semester,mobile,address from stud_reg
where name='" + TextBox2.Text + "'");
}
grid();
}
public void grid()
{
GridView1.Visible = true;
GridView1.DataSource = dt;
GridView1.DataBind();
}
}

51

6.2.2. PUBLIC MESSAGE


From this page HOD can send public messages to other users but not to admin.

CODE FOR PUBLIC MESSAGE


public partial class usercontrol_public_message : System.Web.UI.UserControl
{
database db = new database();
protected void Page_Load(object sender, EventArgs e)
{
string purpose = Request.QueryString["purpose"]; if
(Session["ms"].ToString() == "2")
{
if (purpose == "1")
{
DropDownList1.SelectedValue = "1";
Label2.Text = "Message For ALL";
}
else if (purpose == "2")

52

{
DropDownList1.SelectedValue = "2";
Label2.Text = "Message For Lectures";

}
DropDownList1.Visible = false;
}
else if (Session["ms"].ToString() == "3")
{
DropDownList1.SelectedValue = "3";
DropDownList1.Visible = false;
Label2.Text = "Message For Students";
}
}
protected void Button1_Click(object sender, EventArgs e)
{
string x = db.scalar("select role from login where username='"+Session["username"]
+"'"); int i = 0;
i = db.nonquery("insert into messages values('"+Session["username"].ToString()
+"','"+TextBox1.Text+"','"+DropDownList1.Select
edValue+"','"+DateTime.Now+"','"+int.Parse(x)+"')");
if (i > 0)
Label1.Text = "Success...";
else
Label1.Text = "failed...";
}
}

53

6.2.3. GROUP MESSAGE


Using this page HOD can send messages to every group separately. HOD can view each
groups chat and answer to their doubts when needed.

CODE FOR GROUP MESSAGE


public partial class usercontrol_group_messages : System.Web.UI.UserControl
{
database db = new database();
string uname,role,gid="";
protected void Page_Load(object sender, EventArgs e)
{
Label1.Visible = false;
uname = Session["username"].ToString();
role = Session["ms"].ToString();
if (Session["ms"].ToString() == "4")

54

{
DropDownList1.Visible = false;
gid = db.scalar("select groupid from stud_reg where username='" + uname + "'").ToString();
if (int.Parse(gid) == 0)
{
ListBox1.Enabled = false;
TextBox1.Enabled=false;
Label1.Visible = true;
Label1.Text = "You have no Membership in any Group...";
return;
}
ListBox1.Enabled=true;
TextBox1.Enabled=true;
}
else
{
DropDownList1.Visible = true;
gid = DropDownList1.SelectedValue;
}
grid();
}
protected void TextBox1_TextChanged(object sender, EventArgs e)
{
int t = 0;
t = db.nonquery("insert into messages
values('"+uname+"','"+TextBox1.Text+"','"+gid+"','"+System.DateTime.Now+"','"+role+"')")
;
grid();
TextBox1.Text = "";
}
protected void grid()
{
ListBox1.Items.Clear();
DataTable dt = new DataTable();
if (Session["ms"].ToString() == "4")
{
dt = db.table("select username,message from messages where destination='" + gid + "'
ORDER BY time");
}
else
{
dt = db.table("select username,message from messages where destination='"
+ DropDownList1.SelectedValue + "' ORDER BY time");
}
int n = dt.Rows.Count;
for (int i = 0; i < n; i++)
{
ListBox1.Items.Add(dt.Rows[i][0].ToString() + ":" + dt.Rows[i][1].ToString());
ListBox1.SelectedIndex = ListBox1.Items.Count - 1;

55

}
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
grid();
}
protected void Timer1_Tick(object sender,EventArgs e)
{
grid();
}
}

56

6.2.4. DOCUMENT VERIFICATION


From this page HOD can verify the documents uploaded by students. Documents can either
view or download. After verification HOD can accept or reject the document.

CODE FOR DOCUMENT VERIFICATION


public partial class usercontrol_report_verification : System.Web.UI.UserControl
{
database db = new database();
string groupno = "";
protected void Page_Load(object sender, EventArgs e)
{
groupno = db.scalar("select groupno from lec_reg where
username='"+Session["username"].ToString()+"'");
for (int i = 1; i <= int.Parse(groupno); i++)
{
DropDownList1.Items.Add("Group " + i.ToString());

57

DropDownList1.Items[i-1].Value = (i * 10).ToString();
}
}
protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{
}
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
string path;
int index = Convert.ToInt32(e.CommandArgument);
GridViewRow selectedRow = GridView1.Rows[index];
TableCell filename = selectedRow.Cells[3];
string fname = filename.Text;
path = db.scalar("select path from documents where docname='" + fname + "'");
string typ = db.scalar("select extension from documents where docname='" + fname + "'");
string r = e.CommandName;
if (r == "download")
{
Response.ContentType = typ;
Response.AddHeader("Content-Disposition", "attachment;filename=\"" + fname + "\"");
Response.TransmitFile(path);
Response.End();
}
else if(r=="Accepted")
{
int i = 0;
i = db.nonquery("update documents set gvaluation='1' where docname='"+fname+"'");
}
else
{
string FilePath = Server.MapPath("~") + @"/documents/" + fname + typ;
WebClient User = new WebClient();
Byte[] FileBuffer = User.DownloadData(FilePath); if
(FileBuffer != null)
{
Response.ContentType = "application/pdf";
Response.AddHeader("content-length", FileBuffer.Length.ToString());
Response.BinaryWrite(FileBuffer);
}
}
}
}

58

6.2.5. ASSIGN MARK


From this page HOD can assign mark to every student semester vise. For each phase of
evaluation.

CODE FOR ASSIGN MARK


public partial class usercontrol_viewmarks : System.Web.UI.UserControl
{
database db = new database();
protected void Page_Load(object sender, EventArgs e)
{
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
DropDownList2.Items.Clear();
string[] s=new string[60];
DataTable dt = new DataTable();
dt = db.table("select username from stud_reg where
semester='"+DropDownList1.SelectedValue+"'");
for (int y = 0;y<dt.Rows.Count; y++)
{

59

DropDownList2.Items.Add(dt.Rows[y][0].ToString());
}
}
protected void Button1_Click(object sender, EventArgs e)
{
int i = 0;
string role = db.scalar("select role from login where username='"+Session["username"]+"'");
if (role == "2")
{
int j = 0;
if(DropDownList3.SelectedItem.ToString()=="1")
j= db.nonquery("update mark set gp1='"+TextBox1.Text+"' where
username='"+DropDownList2.SelectedItem+"'");
else if(DropDownList3.SelectedItem.ToString()=="2")
j= db.nonquery("update mark set gp2='"+TextBox1.Text+"' where
username='"+DropDownList2.SelectedItem+"'");
else if(DropDownList3.SelectedItem.ToString()=="3")
j = db.nonquery("update mark set gp3='" + TextBox1.Text + "' where username='" +
DropDownList2.SelectedItem + "'");
if (j > 0)
Label1.Text = "Success...";
else
Label1.Text = "Failed...";
}
else
{
int j = 0;
if (DropDownList3.SelectedItem.ToString() == "1")
j = db.nonquery("update mark set hp1='" + TextBox1.Text + "' where username='" +
DropDownList2.SelectedItem + "'");
else if (DropDownList3.SelectedItem.ToString() == "2")
j = db.nonquery("update mark set hp2='" + TextBox1.Text + "' where username='" +
DropDownList2.SelectedItem + "'");
else if (DropDownList3.SelectedItem.ToString() == "3")
j = db.nonquery("update mark set hp3='" + TextBox1.Text + "' where username='" +
DropDownList2.SelectedItem + "'");
if (j > 0)
Label1.Text = "Success...";
else
Label1.Text = "Failed...";
}
}
protected void DropDownList3_SelectedIndexChanged(object sender, EventArgs e)
{
int sum = 0;
DataTable dt = new DataTable();

60

dt = db.table("select * from mark where username='" + DropDownList2.SelectedValue + "'");


for (int y = 2; y < 8; y++)
{
if (dt.Rows[0][y].ToString() != "")
sum += int.Parse(dt.Rows[0][y].ToString());
}
int r = 0;
r = db.nonquery("update mark set total='" + sum + "' where username='"
+ DropDownList2.SelectedItem + "'");
if (r > 0)
Label1.Text = "Success...";
else
Label1.Text = "Failed...";
}
}

61

6.2.6. VIEW MARK


Here HOD can view mark given to all students in a single table.

62

6.3. GUIDE MODULE


6.3.1. GROUP CREATION
From this page guide can create project group and assign students to each group.

CODE FOR GROUP CREATION


public partial class usercontrol_group_creation : System.Web.UI.UserControl
{
database db = new database();
protected void Page_Load(object sender, EventArgs e)
{
string grpno = db.scalar("select groupno from lec_reg where
username='"+Session["username"].ToString()+"'");
if (grpno == "0")
{
TextBox1.Enabled = true;
Button2.Enabled = true;

63

}
else
{
TextBox1.Enabled = false;
Button2.Enabled = false;
for (int i = 1; i <= int.Parse(grpno); i++)
{
DropDownList1.Items.Add(i.ToString());
}
}
}
protected void TextBox1_TextChanged(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
int z;
for (int i = 0; i <= ListBox1.Items.Count-1; i++)
{
if (ListBox1.Items[i].Selected)
{
z = 0;
int gi = (int.Parse(DropDownList1.SelectedItem.ToString()))*10; z
= db.nonquery("update stud_reg set groupid='"+gi+"' where
username='"+ListBox1.Items[i]+"'");
}
}
Response.Redirect("group-creation.aspx");
}
protected void Button2_Click(object sender, EventArgs e)
{
int x = int.Parse(TextBox1.Text);
int j = 0;
j = db.nonquery("update lec_reg set groupno='"+x+"' where
username='"+Session["username"].ToString()+"'");
for (int i = 1; i <= x; i++)
{
DropDownList1.Items.Add(i.ToString());
}
TextBox1.Enabled = false;
}
}

64

6.3.2. TOPIC APPROVAL


Here guide can view topics uploaded by each group. Guide can accept or reject topics from
here.

CODE FOR TOPIC APPROVAL


public partial class usercontrol_topic_varification : System.Web.UI.UserControl
{
database db = new database();
protected void Page_Load(object sender, EventArgs e)
{
}
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
int index = Convert.ToInt32(e.CommandArgument);
GridViewRow selectedRow = GridView1.Rows[index];
TableCell filename = selectedRow.Cells[1];

65

string fname = filename.Text;


string r = e.CommandName; if
(r == "Approve")
{
int i = 0;
i = db.nonquery("update project_submission set status='Accepted' where
topic='"+fname+"'");
}
else
{
int i = 0;
i = db.nonquery("update project_submission set status='Rejected' where topic='" + fname +
"'");
}

}
}

66

6.3.3. PUBLIC MESSAGE


Guide can send public message to students from this page.

CODE FOR PUBLIC MESSAGE


public partial class usercontrol_public_message : System.Web.UI.UserControl
{
database db = new database();
protected void Page_Load(object sender, EventArgs e)
{
string purpose = Request.QueryString["purpose"]; if
(Session["ms"].ToString() == "2")
{
if (purpose == "1")
{
DropDownList1.SelectedValue = "1";
Label2.Text = "Message For ALL";
}

67

else if (purpose == "2")


{
DropDownList1.SelectedValue = "2";
Label2.Text = "Message For Lectures";
}
DropDownList1.Visible = false;
}
else if (Session["ms"].ToString() == "3")
{
DropDownList1.SelectedValue = "3";
DropDownList1.Visible = false;
Label2.Text = "Message For Students";
}
}
protected void Button1_Click(object sender, EventArgs e)
{
string x = db.scalar("select role from login where username='"+Session["username"]
+"'"); int i = 0;
i = db.nonquery("insert into messages values('"+Session["username"].ToString()
+"','"+TextBox1.Text+"','"+DropDownList1.Select
edValue+"','"+DateTime.Now+"','"+int.Parse(x)+"')");
if (i > 0)
Label1.Text = "Success...";
else
Label1.Text = "failed...";
}
}

68

6.3.4. GROUP MESSAGE


Using this page guide can send messages to every group separately. HOD can view each
groups chat and answer to their doubts when needed.

CODE FOR GROUP MESSAGE


public partial class usercontrol_group_messages : System.Web.UI.UserControl
{
database db = new database();
string uname,role,gid="";
protected void Page_Load(object sender, EventArgs e)
{
Label1.Visible = false;
uname = Session["username"].ToString();
role = Session["ms"].ToString();
if (Session["ms"].ToString() == "4")
{
DropDownList1.Visible = false;

69

gid = db.scalar("select groupid from stud_reg where username='" + uname + "'").ToString();


if (int.Parse(gid) == 0)
{
ListBox1.Enabled = false;
TextBox1.Enabled=false;
Label1.Visible = true;
Label1.Text = "You have no Membership in any Group...";
return;
}
ListBox1.Enabled=true;
TextBox1.Enabled=true;
}
else
{
DropDownList1.Visible = true;
gid = DropDownList1.SelectedValue;
}
grid();
}
protected void TextBox1_TextChanged(object sender, EventArgs e)
{
int t = 0;
t = db.nonquery("insert into messages
values('"+uname+"','"+TextBox1.Text+"','"+gid+"','"+System.DateTime.Now+"','"+role+"')")
;
grid();
TextBox1.Text = "";
}
protected void grid()
{
ListBox1.Items.Clear();
DataTable dt = new DataTable();
if (Session["ms"].ToString() == "4")
{
dt = db.table("select username,message from messages where destination='" + gid +
"' ORDER BY time");
}
else
{
dt = db.table("select username,message from messages where destination='"
+ DropDownList1.SelectedValue + "' ORDER BY time");
}
int n = dt.Rows.Count;
for (int i = 0; i < n; i++)
{
ListBox1.Items.Add(dt.Rows[i][0].ToString() + ":" + dt.Rows[i][1].ToString());
ListBox1.SelectedIndex = ListBox1.Items.Count - 1;
}

70

}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
grid();
}
protected void Timer1_Tick(object sender,EventArgs e)
{
grid();
}
}
6.3.5. DOCUMENT VERIFICATION
From this page guide can verify the documents uploaded by students. Documents can either
view or download. After verification guide can accept or reject the document.

71

CODE FOR DOCUMENT VERIFICATION


public partial class usercontrol_report_verification : System.Web.UI.UserControl
{
database db = new database();
string groupno = "";
protected void Page_Load(object sender, EventArgs e)
{
groupno = db.scalar("select groupno from lec_reg where
username='"+Session["username"].ToString()+"'");
for (int i = 1; i <= int.Parse(groupno); i++)
{
DropDownList1.Items.Add("Group " + i.ToString());
DropDownList1.Items[i-1].Value = (i * 10).ToString();
}
}
protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{
}
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
string path;
int index = Convert.ToInt32(e.CommandArgument);
GridViewRow selectedRow = GridView1.Rows[index];
TableCell filename = selectedRow.Cells[3];
string fname = filename.Text;
path = db.scalar("select path from documents where docname='" + fname + "'");
string typ = db.scalar("select extension from documents where docname='" + fname + "'");
string r = e.CommandName;
if (r == "download")
{
Response.ContentType = typ;
Response.AddHeader("Content-Disposition", "attachment;filename=\"" + fname + "\"");
Response.TransmitFile(path);
Response.End();
}
else if(r=="Accepted")
{
int i = 0;
i = db.nonquery("update documents set gvaluation='1' where docname='"+fname+"'");
}
else
{
string FilePath = Server.MapPath("~") + @"/documents/" + fname + typ;
WebClient User = new WebClient();
Byte[] FileBuffer = User.DownloadData(FilePath); if
(FileBuffer != null)
{

72

Response.ContentType = "application/pdf";
Response.AddHeader("content-length", FileBuffer.Length.ToString());
Response.BinaryWrite(FileBuffer);
}
}
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
}
}
6.3.6. STUDY MATERIAL UPLOAD
Guide can upload study materials to students through this page. By choosing the correct
document.

73

CODE FOR STUDY MATERIAL UPLOAD


public partial class usercontrol_study_material_download : System.Web.UI.UserControl
{
database db = new database();
protected void Page_Load(object sender, EventArgs e)
{
}
protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
}
protected void GridView1_RowCommand1(object sender, GridViewCommandEventArgs e)
{
string path;
int index = Convert.ToInt32(e.CommandArgument);
GridViewRow selectedRow = GridView1.Rows[index];
TableCell filename = selectedRow.Cells[0];
string fname = filename.Text;
path = db.scalar("select path from notification where docname='" + fname + "'");
string typ = db.scalar("select extension from notification where docname='" + fname +
"'"); string r = e.CommandName;
if (r == "download")
{
Response.ContentType = typ;
Response.AddHeader("Content-Disposition", "attachment;filename=\"" + fname + "\"");
Response.TransmitFile(path);
Response.End();
}
else
{
string FilePath = Server.MapPath("~") + @"/notification/" + fname + typ;
WebClient User = new WebClient();
Byte[] FileBuffer = User.DownloadData(FilePath); if
(FileBuffer != null)
{
Response.ContentType = "application/pdf";
Response.AddHeader("content-length", FileBuffer.Length.ToString());
Response.BinaryWrite(FileBuffer);
}
}
}
}

74

6.3.7. ASSIGN MARK


From this page guide can assign mark to every student semester vise. For each phase of
evaluation.

CODE FOR ASSIGN MARK


public partial class usercontrol_viewmarks : System.Web.UI.UserControl
{
database db = new database();
protected void Page_Load(object sender, EventArgs e)
{
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
DropDownList2.Items.Clear();
string[] s=new string[60];
DataTable dt = new DataTable();
dt = db.table("select username from stud_reg where
semester='"+DropDownList1.SelectedValue+"'");
for (int y = 0;y<dt.Rows.Count; y++)
{

75

DropDownList2.Items.Add(dt.Rows[y][0].ToString());
}
}
protected void Button1_Click(object sender, EventArgs e)
{
int i = 0;
string role = db.scalar("select role from login where username='"+Session["username"]+"'");
if (role == "2")
{
int j = 0;
if(DropDownList3.SelectedItem.ToString()=="1")
j= db.nonquery("update mark set gp1='"+TextBox1.Text+"' where
username='"+DropDownList2.SelectedItem+"'");
else if(DropDownList3.SelectedItem.ToString()=="2")
j= db.nonquery("update mark set gp2='"+TextBox1.Text+"' where
username='"+DropDownList2.SelectedItem+"'");
else if(DropDownList3.SelectedItem.ToString()=="3")
j = db.nonquery("update mark set gp3='" + TextBox1.Text + "' where username='" +
DropDownList2.SelectedItem + "'");
if (j > 0)
Label1.Text = "Success...";
else
Label1.Text = "Failed...";
}
else
{
int j = 0;
if (DropDownList3.SelectedItem.ToString() == "1")
j = db.nonquery("update mark set hp1='" + TextBox1.Text + "' where username='" +
DropDownList2.SelectedItem + "'");
else if (DropDownList3.SelectedItem.ToString() == "2")
j = db.nonquery("update mark set hp2='" + TextBox1.Text + "' where username='" +
DropDownList2.SelectedItem + "'");
else if (DropDownList3.SelectedItem.ToString() == "3")
j = db.nonquery("update mark set hp3='" + TextBox1.Text + "' where username='" +
DropDownList2.SelectedItem + "'");
if (j > 0)
Label1.Text = "Success...";
else
Label1.Text = "Failed...";
}
}
protected void DropDownList3_SelectedIndexChanged(object sender, EventArgs e)
{
int sum = 0;
DataTable dt = new DataTable();

76

dt = db.table("select * from mark where username='" + DropDownList2.SelectedValue + "'");


for (int y = 2; y < 8; y++)
{
if (dt.Rows[0][y].ToString() != "")
sum += int.Parse(dt.Rows[0][y].ToString());
}
int r = 0;
r = db.nonquery("update mark set total='" + sum + "' where username='"
+ DropDownList2.SelectedItem + "'");
if (r > 0)
Label1.Text = "Success...";
else
Label1.Text = "Failed...";
}
}

77

6.3.8. VIEW MARK


Here guide can view mark given to all students in a single table.

78

6.4. STUDENT MODULE


6.4.1. SUBMIT TOPIC
From this page students can submit project topic for their group to guide. Students can send a
topic name and a short abstract about the topic.

CODE FOR SUBMIT TOPIC


public partial class usercontrol_submit_topic : System.Web.UI.UserControl
{
database db = new database();
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{

79

string gid = db.scalar("select groupid from stud_reg where


username='"+Session["username"].ToString()+"'");
int i = 0;
i = db.nonquery("insert into project_submission values('" + gid + "','" + TextBox1.Text + "','"
+ TextBox2.Text + "','" + DateTime.Now + "','Waiting')");
if (i > 0)
Label1.Text = "Success...";
else
Label1.Text = "Failed...";
}
}
6.4.2. CHECK STATUS
Here students can see the status of their uploaded topic. Whether it is accepted, rejected or
still waiting.

80

6.4.3. GROUP MESSAGES


Students can send messages to his group members to discuss about the project. Guide and HOD can
view and join into their talk at any time they needed.

81

6.4.4. REPORT UPLOAD


Students can upload their project report through this page. For that students need to enter the
subject, file type and the select the file to upload.

82

6.4.5. STUDY MATERIAL DOWNLOAD


Students can download study materials uploaded by guide from this page.

CODE FOR STUDY MATERIAL DOWNLOAD


public partial class usercontrol_study_material_download : System.Web.UI.UserControl
{
database db = new database();
protected void Page_Load(object sender, EventArgs e)
{
}
protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)

83

{
}
protected void GridView1_RowCommand1(object sender, GridViewCommandEventArgs e)
{
string path;
int index = Convert.ToInt32(e.CommandArgument);
GridViewRow selectedRow = GridView1.Rows[index];
TableCell filename = selectedRow.Cells[0];
string fname = filename.Text;
path = db.scalar("select path from notification where docname='" + fname + "'");
string typ = db.scalar("select extension from notification where docname='" + fname +
"'"); string r = e.CommandName;
if (r == "download")
{
Response.ContentType = typ;
Response.AddHeader("Content-Disposition", "attachment;filename=\"" + fname + "\"");
Response.TransmitFile(path);
Response.End();
}
else
{
string FilePath = Server.MapPath("~") + @"/notification/" + fname + typ;
WebClient User = new WebClient();
Byte[] FileBuffer = User.DownloadData(FilePath); if
(FileBuffer != null)
{
Response.ContentType = "application/pdf";
Response.AddHeader("content-length", FileBuffer.Length.ToString());
Response.BinaryWrite(FileBuffer);
}
}
}
}

84

6.4.6. LOGIN
All users are login to their account from this page. Forgot password link can be use if the
password is forgotten.

CODE FOR LOGIN


public partial class user_control_login : System.Web.UI.UserControl
{
database db = new database();
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button2_Click(object sender, EventArgs e)
{

85

}
protected void LinkButton1_Click(object sender, EventArgs e)
{
string t = TextBox1.Text;
Response.Redirect("forgotpassword.aspx?name="+t+"");
}
protected void Button1_Click(object sender, EventArgs e)
{
string status = db.scalar("Select status from login where username='" + TextBox1.Text + "'");
if (status == "")
{
Label1.Text = "Invalid User...";
return;
}
int state = int.Parse(status);
if (state==1)
{
string role = db.scalar("Select role from login where username='" + TextBox1.Text + "' and
password='" + TextBox2.Text + "'");
if (role != "")
{
string id = db.scalar("Select username from login where username='" + TextBox1.Text + "'
and password='" + TextBox2.Text + "'");
Session["username"] = id;
string username = db.scalar("Select username from login where username='" +
TextBox1.Text + "' and password='" + TextBox2.Text + "'");
Session["ms"] = role;
int i = db.nonquery("update login set online=1 where id='" + Session["id"] + "'");
if(role=="1")
Response.Redirect("adminhome.aspx"); else if(role=="2")
Response.Redirect("hodhome.aspx"); else if (role == "3")
Response.Redirect("guide-home.aspx");
else
Response.Redirect("student-home.aspx");
}
else
{
Label1.Text = "Wrong Password...";
}
}
else if (state == 0)
{
Label1.Text = "Administrator Blocked Your Profile...";
}
}

86

protected void TextBox1_TextChanged(object sender, EventArgs e)


{
}
}
6.4.7. FORGOT PASSWORD
When a user forgot his password he/she can get this page by clicking the link bellow login
page. Here user need to enter the answer question provided to change their password.

CODE FOR FORGOT PASSWORD


public partial class user_control_forgetpassword : System.Web.UI.UserControl
{
database db = new database();

87

protected void Page_Load(object sender, EventArgs e)


{
string Name = Request.QueryString["name"];
string qstn = db.scalar("select question from login where username ='" + Name + "'");
Label1.Text = qstn;
}
protected void Button1_Click(object sender, EventArgs e)
{
string Name = Request.QueryString["name"];
string answer = db.scalar("select answer from login where username ='" + Name + "'");
if (answer == TextBox1.Text)
{
Response.Redirect("change-password.aspx?name="+Name+"");
}
else
{
Label2.Text = "Answer is Wrong...";
}
}
}

88

6.4.8. CHANGE PASSWORD


From this page user can change their password after conforming previous password.

CODE FOR CHANGE PASSWORD


public partial class usercontrol_change_password : System.Web.UI.UserControl
{
database db = new database();
int state = 0; //state to know forget or change password protected void
Page_Load(object sender, EventArgs e)
{
string username = Request.QueryString["name"]; if
(username == null)
{
Label2.Visible = true; TextBox1.Visible
= true; RequiredFieldValidator1.Visible =
true;

89

state = 0;
}
else
{
Label2.Visible = false; TextBox1.Visible
= false; RequiredFieldValidator1.Visible
= false; state = 1;
}
}
protected void Button1_Click(object sender, EventArgs e)
{
if (state == 0)
{
string oldpass = db.scalar("select password from login where username='" +
Session["username"] + "'");
if (oldpass == TextBox1.Text)
{
changepassword();
}
else
{
Label1.Text = "Password is wrong...";
}
}
else
{
changepassword();
}
}
protected void changepassword()
{
int i = 0;
i = db.nonquery("update login set password='" + TextBox3.Text + "' where username='" +
Session["username"] + "'");
if (i > 0)
Label1.Text = "Password Changed Successfuly...";
else
Label1.Text = "Failed...";
}
}

90

6.4.9. CHANGE SECURITY QUESTION


From this page user can enter the security question and answer. This will be needed for
recovering the account when the password is forgotten by the user.

CODE FOR CHANGE SECURITY QUESTION


public partial class usercontrol_question : System.Web.UI.UserControl
{
database db = new database();
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
int i = 0;
string s = Session["username"].ToString();

91

i = db.nonquery("update login set


question='"+TextBox1.Text+"',answer='"+TextBox2.Text+"' where username='"+s+"'");
if (i > 0)
{
Label1.Text = "Success...";
TextBox1.Text = "";
TextBox2.Text = "";
}
else
Label1.Text = "Failed...";
}
}
6.4.10. REGISTER COMPLAINT
Any user can register complaints and requests about the working of website from this page. These
complaints will register to the account of administrator.

CODE FOR REGISTER COMPLAINT


public partial class usercontrol_complaint : System.Web.UI.UserControl
{

92

database db = new database();


protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
int i = 0;
i = db.nonquery("insert into complaint values('"+Session["username"]
+"','"+DateTime.Now+"','"+TextBox1.Text+"','"+TextBox2.T ext+"')");
if (i > 0)
Label1.Text = "Success...";
else
Label1.Text = "Failed...";
}
}

93

7. SYSTEM TESTING
To perform specification testing, the analysts examine the specifications stating what the
program should do and how it should perform under various conditions. Then test cases are
developed for each condition or combination of conditions and submitted for processing. By
examining the results, the analysts can determine whether the program were a black box: the analysts
does not look into the program study the code and is not concerned about whether every instruction
or path through the program is tested. In that case specification testing is not complete testing.
However, the assumption is that, if the program meets the specification, it will not fail.
7.1 LEVELS OF TEST
Systems are not designed as entire system nor are they tested as single systems. So
performing of both unit and system testing is essential.
UNIT TESTING
Unit testing focuses verification effort on smallest unit of software design module. Here,
there are four modules namely Admin, HOD, Guide, Student. In unit testing,
Module interface is tested to ensure that information properly flows into and put of the program
under test.
Local data structures are examined to ensure that data stored temporarily maintains its integrity
during all steps in algorithm execution.
Boundary condition is tested to ensure that the module operates properly at boundaries
established to limit or restrict processing.
All independent paths through the control structures are executed to ensure that all statements in
the module have been executed at least once.
Error handling paths are also tested.
Unit testing focuses verification effort on the smallest unit of software design, the module.
Here, the module interfaces, local data structure, boundary conditions, and all independent paths and
last but not the least, all error handling paths were verified by inputting false data. Tests of data flow
across each module interface of this software were done before any other test was initiated.
INTEGRATION TESTING
Integration testing is a systematic technique for constructing the program structure while at
the same time conducting tests to uncover errors associated with interfacing. Unit tested module were
taken and a single program structure was built that has been dictated by the design. Incremental
integration has adopted here. The entire software was developed and tested in small segments, where
errors were easy to locate and rectify. Program builds (group of modules) were constructed
corresponding to the successful testing of user interaction, data manipulation analysis, and display
processing and database management. These tests can also be performed:

94

Top down integration


Bottom up integration

VALIDATION TESTING
Validation testing is done to ensure complete assembly of the error-free software. Validation
can be termed successful only if it functions in manner that is reasonably expected by the customer.
Under validation is alpha and beta testing. Alpha testing is where the end user tests the system rather
than the developer, but in a controlled environment. The software is used on a natural setting with the
developer monitoring the user using the system. The developer records the errors and usage problems
encountered by the user.

SYSTEM TESTING
System testing is actually a series of different tests whose primary purpose to fully exercise
the computer based system. Each test works to verify that all system elements have been properly
integrated. Types of system tests are:
Recovery Testing
Security Testing
Stress Testing
Performance Testing

7.2 TESTING THE SYSTEM


The test team consists of the group members and the user. We test the system by running it
in several ways by inputting various the main concerns in our testing are following:
Browser compatibility: This test validates consistent applications performance on variety of
browser type and configurations.
Functional correctness: These tests validates that the application function correctly.
Integration: These test the integration between browsers and servers, applications and data,
hardware and software.
Usability: These test the overall usability of a web page or a web application, including
appearance clarity and navigation.
Security: These test the adequacy and correctness of security controls including access
control and authorizations.
Performance: These test the performance of the web applications under load.
Verification of code: This validate that the code used in building the web application has been
used in a correct manner.

NIELIT, Calicut

95

Online Project Coordination


System

8. CONCLUSION
Today after the entry of smartphones internet is accessible from anywhere. Here we are
utilizing this accessibility of internet to the advantage of students to do their project more easily. In
our collage project, students are spending more time on preparing documents related to project,
submitting this documents guide and waiting for response of guide. Teachers are also spending more
time in evaluating the documents submitted by students. This wastage time can be minimized by
using our web site. Students can send documents of project as soft copies to teachers to evaluate.
Teachers can download and evaluate these documents from anywhere whenever they have time and
send their corrections to the students. Same way teachers can upload study materials to students.
Students can communicate each other through the group discussion feature. Also HOD or
guide can join to these discussions and give directions to them. HOD and guide can assign marks to
students for each phase of their project from this web site. Also students can view their marks from
this web site. Likewise topic submission, topic approval and many other activities related to our
projects can be done through our web site. So students and teacher can save more time and effort
when using Online Project Coordination System web site.

96

9. REFERENCES
Websites referred
www.wikipedia.com
www.stackoverflow.com
Msdn.microsoft.com

97

Vous aimerez peut-être aussi