Download as pdf or txt
Download as pdf or txt
You are on page 1of 241

SRI SAI RAM ENGINEERING COLLEGE

SAI LEO NAGAR, WEST TAMBARAM,


CHENNAI-44

NAME: ABINASH P

REGISTER NUMBER: 412518205004

Laboratory Record
CS8582 OBJECT ORIENTED ANALYSIS AND DESIGN
LABORATORY
(III YEAR/VI SEM)
B. TECH INFORMATION TECHNOLOGY
VI Semester
ACADEMIC YEAR: 2020 – 21

1
Certificate
Register No: 412518205004

Certified that this is the Bonafide Record of work done by


Mr/Ms ABINASH P in
the B.Tech Degree Course INFORMATION TECHNOLOGY
in the CS8582 OBJECT ORIENTED ANALYSIS AND
DESIGN LABORATORY during the academic year 2020-2021

Station : Chennai – 600 044


Date : 01-07-2021

STAFF INCHARGE HEAD OF THE DEPARTMENT

Submitted for Practical Examination held on 5/7/2021 at Sri Sai Ram


Engineering College, Chennai – 600 044.

INTERNAL EXAMINER EXTERNAL EXAMINER

2
CONTENTS

Page
Ex.no Date Title of Experiment Mark Signature
No
STUDY OF UML 4

1. 12.02.2021 PASSPORT AUTOMATION SYSTEM 15

2. 19.02.2021 BOOK BANK SYSTEM 35

3. 04.03.2021 EXAM REGISTRATION SYSTEM 43

4. 08.03.2021 STOCK MAINTENANCE SYSTEM 59

5. 11.03.2021 ONLINE COURSE RESERVATION SYSTEM 86

6. 15.03.2021 RAILWAY RESERVATION SYSTEM 100

SOFTWARE PERSONNEL MANAGEMENT


7. 22.03.2021 115
SYSTEM

8. 25.03.2021 CREDIT CARD PROCESSING SYSTEm 124

9. 09.04.2021 E-BOOK MANAGEMENT SYSTEM 131

10. 16.04.2021 RECRUITMENT SYSTEM 154

11. 30.04.2021 FOREIGN TRADING SYSTEM 178

12. 21.05.2021 CONFERENCE MANAGEMENT SYSTEM 203

13. 04.06.2021 LIBRARY MANAGEMENT SYSTEM 207

14. 11.06.2021 STUDENT INFORMATION SYSTEM 226

3
STUDY OF UML
AIM

General Study of UML

DESCRIPTION

The heart of object-oriented problem solving is the construction of a model. The model abstracts the
essential details of the underlying problem from its usually complicated real world. Several modeling tools
are wrapped under the heading of the UML, which stands for Unified Modeling Language. The purpose of
this course is to present important highlights of the UML.

At the center of the UML are its nine kinds of modeling diagrams, which we describe here.

❖ Use case diagrams


❖ Class diagrams
❖ Object diagrams
❖ Sequence diagrams
❖ Collaboration diagrams
❖ Statechart diagrams
❖ Activity diagrams
❖ Component diagrams
❖ Deployment diagrams

The UML is applicable to object-oriented problem solving. Anyone interested in learning UML must be
familiar with the underlying tenet of object-oriented problem solving -- it all begins with the construction of
a model. A model is an abstraction of the underlying problem. The domain is the actual world from which
the problem comes. Models consist of objects that interact by sending each other messages. Think of an
object as "alive." Objects have things they know (attributes) and things they can do (behaviors or
operations). The values of an object's attributes determine its state.

Classes are the "blueprints" for objects. A class wraps attributes (data) and behaviors
(methods or functions) into a single distinct entity. Objects are instances of classes.

AN INTRODUCTION TO UMLDIAGRAM

The Unified Modeling Language is a language for specifying, constructing, visualizing, and documenting
the artifacts of a software-intensive system. Analogous to the use of architectural blueprints in the
construction industry, UML provides a common language for describing software models, and it can be
used in conjunction with a wide range of software lifecycles and development processes.

1. USE CASE DIAGRAM


Use Case diagrams identify the functionality provided by the system (use cases), the users who interact
with the system (actors), and the association between the users and the functionality. Use Cases are used

4
in the Analysis phase of software development to articulate the high-level requirements of the system. The
primary goals of Use Case diagrams include:

❖ Providing a high-level view of what the system does


❖ Identifying the users ("actors") of the system
❖ Determining areas needing human-computer interfaces.

➢ GRAPHICAL NOTATION
The basic components of Use Case diagrams are the Actor, the Use Case, and the Association.
➢ ACTOR
An Actor, as mentioned, is a user of the system, and is depicted using a stick figure. The role of the user is
written beneath the icon. Actors are not limited to humans.
If a system communicates with another application, and expects input or delivers output, then that
application can also be considered an actor.

➢ USE CASE
A Use Case is functionality provided by the system, typically described as verb + object (e.g. Register
Car, Delete User). Use Cases are depicted with an ellipse. The name of the use case is written within the
ellipse.

➢ ASSOCIATION
Associations are used to link Actors with Use Cases, and indicate that an Actor participates in the Use
Case in some form. Associations are depicted by a line connecting the Actor and the Use Case.

The following image shows how these three basic elements work together to form a use case diagram.

Use case diagrams describe what a system does from the standpoint of an external observer. The
emphasis is on what a system does rather than how.

Use case diagrams are helpful in three areas.

5
• Determining features (requirements). New use cases often generate new
• Requirements as the system is analysed and the design takes shape.
• Communicating with clients. Their notational simplicity makes use case diagrams a good way
for developers to communicate with clients.
• Generating test cases. The collection of scenarios for a use case may suggest a suite of test cases
for those scenarios.

2. SEQUENCE DIAGRAM

Sequence diagrams document the interactions between classes to achieve a result, such as a use case.
Because UML is designed for object-oriented programming, these communications between classes are
known as messages. The Sequence diagram lists objects horizontally, and time vertically, and models
these messages over time.
➢ NOTATION
In a Sequence diagram, classes and actors are listed as columns, with vertical lifelines indicating the
lifetime of the object over time.
➢ OBJECT
Objects are instances of classes, and are arranged horizontally. The pictorial representation for an Object
is a class (a rectangle) with the name prefixed by the object name (optional) and a semi-colon.

➢ ACTOR
Actors can also communicate with objects, so they too can be listed as a column.
An Actor is modeled using the ubiquitous symbol, the stick figure.

➢ LIFELINE
The Lifeline identifies the existence of the object over time. The notation for a Lifeline is a vertical dotted
line extending from an object.

➢ ACTIVATION
Activations, modelled as rectangular boxes on the lifeline, indicate when the object is performing an
action.

6
➢ MESSAGE
Messages, modelled as horizontal arrows between Activations, indicate the communications between
objects.

Below is a sequence diagram for making a hotel reservation. The object initiating the sequence of
messages is a Reservation window.

The Reservation window sends a makeReservation () message to a


HotelChain. The HotelChain then sends a makeReservation () message to a Hotel.
If the Hotel has available rooms, then it makes a Reservation and a Confirmation.

Each vertical dotted line is a lifeline, representing the time that an object exists. Each arrow is a message
call. An arrow goes from the sender to the top of the activation bar of the message on the receiver's
lifeline. The activation bar represents the duration of execution of the message.

3. ACTIVITY DIAGRAM

Activity diagrams are used to document workflows in a system, from the business level down to the
operational level. When looking at an activity diagram, elements from State diagrams are there. In fact,
the Activity diagram is a variation of the state diagram where the "states" represent operations, and the
transitions represent the activities that happen when the operation is complete. The general purpose of
Activity diagrams is to focus on flows driven by internal processing vs. external events.

➢ ACTIVITYSTATES

7
Activity states mark an action by an object. The notations for these states are rounded rectangles, the same
notation as found in State chart diagrams.

➢ TRANSITION
When an Activity State is completed, processing moves to another Activity State.
Transitions are used to mark this movement. Transitions are modeled using arrows.

➢ SWIM LANE
Swim lanes divide activities according to objects by arranging objects in column format and placing
activities by that object within that column. Objects are listed at the top of the column, and vertical bars
separate the columns to form the swim lanes.

➢ INITIAL STATE
The Initial State marks the entry point and the initial Activity State. The notation for the Initial State is the
same as in State chart diagrams, a solid circle. There can only be one Initial State on a diagram.

➢ FINAL STATE
Final States mark the end of the modeled workflow. There can be multiple Final States on a diagram, and
these states are modeled using a solid circle surrounded by another circle.

➢ SYNCHRONIZATION BAR
Activities often can be done in parallel. To split processing ("fork"), or to resume processing when
multiple activities have been completed ("join"), Synchronization Bars are used. These are modeled as
solid rectangles, with multiple transitions going in and/or out.

8
4. COMPONENT DIAGRAM

Component diagrams fall under the category of an implementation diagram, a kind of diagram that
models the implementation and deployment of the system. A Component Diagram, in particular, is used
to describe the dependencies between various software components such as the dependency between
executable files and source files. This information is similar to that within make files, which describe
source code dependencies and can be used to properly compile an application.

➢ COMPONENT

A component represents a software entity in a system. Examples include source code files,
programs, documents, and resource files. A component is represented using a rectangular box, with two
rectangles protruding from the left side, as seen in the image to the right.

➢ DEPENDENCY

A Dependency is used to model the relationship between two components. The notation for a
dependency relationship is a dotted arrow, pointing from a component to the component it depends on.

5. CLASS DIAGRAM

A Class diagram gives an overview of a system by showing its classes and the relationships among them.
Class diagrams are static -- they display what interacts but not what happens when they do interact.

The class diagrams below model a customer order from a retail catalogue. The central class is the Order.
Associated with it is the Customer making the purchase and the Payment. A Payment is one of three
kinds: Cash, Check, or Credit. The order contains OrderDetails (line items), each with its associated
Item.
UML class notation is a rectangle divided into three parts: class name, attributes, and operations. Names
of abstract classes, such as Payment, are in italics. Relationships between classes are the connecting links.

Our class diagram has three kinds of relationships.

• Association -- a relationship between instances of the two classes. There is an association


between two classes if an instance of one class must know about the other in order to perform its work. In
a diagram, an association is a link connecting two classes.
• Aggregation -- an association in which one class belongs to a collection. An aggregation has a
diamond end pointing to the part containing the whole. In our diagram, Order has a collection of
OrderDetails.

9
• Generalization -- An inheritance link indicating one class is a superclass of the other. A
generalization has a triangle pointing to the superclass. Payment is a superclass of Cash, Check, and
Credit.

An association has two ends. An end may have a role name to clarify the nature of the association. For
example, an Order Detail is a line item of each Order.
A navigability arrow on an association shows which direction the association can be traversed or queried.
An OrderDetail can be queried about its Item, but not the other way around. The arrow also lets you
know who "owns" the association's implementation; in this case, OrderDetail has an Item. Associations
with no navigability arrows are bidirectional.

The multiplicity of an association end is the number of possible instances of the class associated with a
single instance of the other end. Multiplicities are single numbers or ranges of numbers. In our example,
there can be only one Customer for each Order, but a Customer can have any number of Orders.

This table gives the most common multiplicities.

Multiplicities Meaning

0..1 zero or one instance. The notation n . . m indicates n tom instances.

0.. *or * no limit on the number of instances (including none).

1 exactly one instance

1.. * at least one instance

Every class diagram has classes, associations, and multiplicities. Navigability and roles are optional items
placed in a diagram to provide clarity.

10
6. PACKAGES AND OBJECT DIAGRAMS

To simplify complex class diagrams, you can group classes into packages. A package is a collection of
logically related UML elements. The diagram below is a business model in which the classes are grouped
into packages.

Packages appear as rectangles with small tabs at the top. The package name is on the tab or inside the
rectangle. The dotted arrows are dependencies. One package depends on another if changes in the other
could possibly force changes in the first.

Object diagrams show instances instead of classes. They are useful for explaining small pieces with
complicated relationships, especially recursive relationships.

This small class diagram shows that a university Department can contain lots of other Departments.

The object diagram below instantiates the class diagram, replacing it by a concrete example.

11
Each rectangle in the object diagram corresponds to a single instance. Instance names are underlined in
UML diagrams. Class or instance names may be omitted from object diagrams as long as the diagram
meaning is still clear.

7. COLLABORATION DIAGRAMS

Collaboration diagrams are also interaction diagrams. They convey the same information as sequence
diagrams, but they focus on object roles instead of the times that messages are sent. In a sequence
diagram, object roles are the vertices and messages are the connecting links.

The object-role rectangles are labeled with either class or object names (or both). Class names are
preceded by colons ( : ).

Each message in a collaboration diagram has a sequence number. The top-level message is numbered 1.
Messages at the same level (sent during the same call) have the same decimal prefix but suffixes of 1, 2,
etc. according to when they occur.

12
8. STATE CHART DIAGRAMS

Objects have behaviors and state. The state of an object depends on its current activity or condition. A
statechart diagram shows the possible states of the object and the transitions that cause a change in state.

Our example diagram models the login part of an online banking system. Logging in consists of entering a
valid social security number and personal id number, then submitting the information for validation.

Logging in can be factored into four non-overlapping states: Getting SSN, Getting PIN, Validating, and
Rejecting. From each state comes a complete set of transitions that determine the subsequent state.

States are rounded rectangles. Transitions are arrows from one state to another. Events or conditions that
trigger transitions are written beside the arrows. Our diagram has two self-transitions, one on Getting
SSN and another on Getting PIN.

The initial state (black circle) is a dummy to start the action. Final states are also dummy states that
terminate the action.

9. COMPONENT AND DEPLOYMENT DIAGRAMS

A component is a code module. Component diagrams are physical analogs of class diagram. Deployment
diagrams show the physical configurations of software and hardware.

The following deployment diagram shows the relationships among software and hardware components
involved in real estate transactions.

13
The physical hardware is made up of nodes. Each component belongs on a node.
Components are shown as rectangles with two tabs at the upper left.

14
EXP.NO: 1 PASSPORT AUTOMATION SYSTEM
DATE: 12.02.2021

AIM

To analyze, design and develop code for Passport Automation System using StarUML
software.

PROBLEM STATEMENT
Passport Automation System is used in the effective dispatch of passport to all of the
applicants. This system adopts a comprehensive approach to minimize the manual work
and schedule resources, time in a cogent manner.

PROBLEM ANALYSIS
The core of the system is to get the online registration form (with details such as name,
address etc.,) filled by the applicant whose testament is verified for its genuineness by the
Passport Automation System with respect to the already existing information in the
database. This forms the first and foremost step in the processing of passport application.
After the first round of verification done by the system, the information is in turn
forwarded to the regional administrator's (Ministry of External Affairs) office. The
application is then processed manually based on the report given by the system, and any
forfeiting identified can make the applicant liable to penalty as per the law. The system
also provides the applicant the list of available dates for appointment to 'document
verification' in the administrator's office, from which they can select one. The system
forwards the necessary details to the police for its separate verification whose report is
then presented to the administrator. The administrator will be provided with an option to
display the current status of application to the applicant, which they can view in their
online interface. After all the necessary criteria have been met, the original information is
added to the database and the passport is sent to the applicant.

INTRODUCTION
Passport Automation System is an interface between the Applicant and the Authority
responsible for the Issue of Passport. It aims at improving the efficiency in the Issue of
Passport and reduces the complexities involved in it to the maximum possible extent.

PURPOSE
if the entire process of 'Issue of Passport' is done in a manual manner then it would take
several months for the passport to reach the applicant. Considering the fact that the
number of applicants for passport is increasing every year, an Automated System
becomes essential to meet the demand. So this system uses several programming and
database techniques to elucidate the work involved in this process. As this is a matter of
National Security, the system has been carefully verified and validated in order to satisfy
it.

15
USERCHARACTERISTICS
 User - They are the person who desires to obtain the passport and submit the
information to the database.
 Administrator - He has the certain privileges to add the passport status and to
approve the issue of passport. He may contain a group of persons under him
to verify the documents and give suggestion whether or not to approve the
dispatch of passport.
 Database -It has all the privileges to add registration, delete registration and store,
display the user registration details.

TECHNOLOGIES USED
 React
 Firebase
TOOLS USED
Sublime text (text editor) and STAR UML (for developing UML Patterns).

SOFTWARE REQUIREMENTS
Front End Client -React js, Web Server - Firebase, Back End - Firestore.

HARDWARE REQUIREMENTS
128 MB RAM and Pentium III processor.

STRUCTURE OF DATABASE:
Create a table <Register> using phpmyadmin with the following attributes:
Table name: Register
S.NO FIELD TYPE SIZE

1. EmailID Varchar 15

2. Name Varchar 50

3. Password Varchar 15

4. Gender Varchar 10

5. Age Int 11

6. City Varchar 50

7. Year Int 11

8. Parent Name Varchar 30

Create a table <User> using phpmyadmin with the following attributes:


Table name: User

16
S.NO FIELD TYPE SIZE

1. Name Varchar 40

2. Email Varchar 10

3. Password Varchar 20

4. Created at Varchar 20

Create a table <Verify> using phpmyadmin with the following attributes:


Table name: Verify

S.NO FIELD TYPE SIZE

1. Adhaar URL Varchar 100

2. Birthcertificate URL Varchar 100

3. Pancard URL Varchar 100

UML DIAGRAMS

USE CASE DIAGRAM


The UML provides the use case diagram notation to illustrates the name of the use case
actors and relationship between them.

17
SEQUENCE DIAGRAM

● A sequence diagram illustrates in a kind of format in which each object interact via
messages. It is generalization between two or more specification diagram.
● Sequence diagram is an interaction over view diagram. It provides a big picture over
view of now a set of interaction is related in terms of logic and process flow.

COLLABORATION DIAGRAM

● It illustrates that object interaction in a graph or network format in which object can
be placed anywhere on the diagram.
● In collaboration diagram the relationship between applicant, system admin and
authority. The people must fill the application form according to detailed furnished. The
system admin verifies the all details and forward details to authority and passport is issued to
the applicant.

18
CLASS DIAGRAM

● The UML include the class diagram, to illustrate and their association. They are used
for static object modelling.

19
STATE CHART DIAGRAM

● It illustrates the intrusting events and state of an object and behaviors of an object is
reaction to an event. Transaction shows as allows labeled with theirs event. It is included with
initial pseudo state and final end state.
● The state chart diagram of passport automation system that the service of authority,
which is issues the passport received by the applicant and getting the passport.

ACTIVITY DIAGRAM

● Activity diagram shows sequential and parallel activities in a process. They are useful
for modelling business, workflows, the data flows and complex algorithm.
● A UML activity diagram offers rich notation to flows a sequential of activities. It may
be including parallel activities. It may be applied to any purpose, but it is popular for
visualization of business workflows and use case.

20
COMPONENT DIAGRAM

● A component represent a modular part of a system, that encapsulates it contents and


whose manifestation is replaced with in its environment. A component define its behaviours
in terms of provide and required interfaces.
● Here the three components are applicant, system admin and authority.
● The interface between people and system admin, from people to authority.

21
DEPLOYMENT DIAGRAM

● A deployment shows the assignment of concrete artifacts to computational nodes. It


shows the deployment of software elements to the physical architecture, and the
communication. Deployment diagrams are useful to communicate the physical and
deployment architecture.
● In the deployment diagram the object reference in component diagram is also
included the deployment diagram. In this authority and system admin, interface through the
people.
● It is the process of installing the program.

22
GENERATED CODE

Registration.component.jsx

import React from 'react';


import './Register.styles.scss';
import FormInput from '../forminput/FormInput.component';
import CustomButton from '../custombutton/CustomButton.component';
import {connect} from 'react-redux';
import {firestore} from '../../firebase/Firebase.utils';
import {setLoader} from '../../redux/loader/loader.actions';
class Register extends React.Component{
constructor(props){
super(props);
this.state = {
email :this.props.currentUser.email,
name : '',
fathername : '',

23
mothername : '',
gender : '',
age : '',
dob : '',
placeofbirth : '',
address : ''
}
}
handleSubmit = (event) =>{
const {currentUser, setLoader} = this.props;
event.preventDefault();
constfunc = async() =>{
try
{
constuserRef = await firestore.doc(`users/${currentUser.email}/kyc_details/Registration`);
userRef.set({...this.state});
constdocRef = await firestore.doc(`users/${currentUser.email}`);
docRef.update({Registration : true});
alert("Registration successful");
}catch(e){
alert("error occured");
}
setLoader(null);
this.setState({
email : '',
name : '',
fathername : '',
mothername : '',
gender : '',
age : '',
dob : '',
placeofbirth : '',
address : ''});
}

24
func();
setLoader(true);
}
handleChange = (event) =>{
const {name, value} = event.target;
this.setState({[name]: value});
}
radioChange = (event) =>{
const {name, value} = event.target;
this.setState({[name] : value});
}
render(){
console.log(this.state.gender);
return(
<div className = "register-input">
<div className = "register-text">Registration Form</div>
<form onSubmit = {this.handleSubmit} className = "register-form-input">
<div className = "register-input-child1">
<FormInput
type = "text"
label = "Email"
value = {this.props.currentUser.email}
name = "email"
required
readonly
register/>
<FormInput
type = "text"
label = "Name"
value = {this.state.name}
name = "name"
handleChange = {this.handleChange}
required
register/>

25
<FormInput
type = "text"
label = "Father's Name"
value = {this.state.fathername}
name = "fathername"
handleChange = {this.handleChange}
required
register/>
<FormInput
type = "text"
label = "Mother's Name"
value = {this.state.mothername}
name = "mothername"
handleChange = {this.handleChange}
required
register/>
<h4>Gender</h4>
<div>
<label className="container">Male
<input type="radio" name="gender" value = "male" onChange = {this.radioChange}/>
<span className="checkmark"></span>
</label>
<label className="container">Female
<input type="radio" name="gender" value = "female" onChange = {this.radioChange}/>
<span className="checkmark"></span>
</label>
<label className="container">Other
<input type="radio" name="gender" value = "other" onChange = {this.radioChange}/>
<span className="checkmark"></span>
</label>
</div>
</div>
<div className = "register-input-child2">
<FormInput

26
type = "number"
label = "Age"
value = {this.state.age}
name = "age"
handleChange = {this.handleChange}
required
register/>
<FormInput
type = "text"
label = "Place Of Birth"
value = {this.state.placeofbirth}
name = "placeofbirth"
handleChange = {this.handleChange}
required
register/>
<FormInput
type = "date"
label = "Date Of Birth"
value = {this.state.dob}
placeholder = {null}
name = "dob"
handleChange = {this.handleChange}
required
dob
register/>
<FormInput
type = "text"
label = "Address"
value = {this.state.address}
name = "address"
handleChange = {this.handleChange}
required
register/>
<CustomButton type = "submit" style = {{marginTop : "60px"}}>Register</CustomButton>

27
</div>
</form>
</div>
)
}
}
constmapStateToProps = ({user}) =>({
currentUser :user.currentUser
})
constdispatchAction = (dispatch) =>({
setLoader : loader => dispatch(setLoader(loader))
})
export default connect(mapStateToProps, dispatchAction)(Register);

Verification.component.jsx
import React from 'react';
import './Verification.styles.scss';
import FormInput from '../forminput/FormInput.component';
import CustomButton from '../custombutton/CustomButton.component';
import {connect} from 'react-redux';
import {firestore} from '../../firebase/Firebase.utils';
class Verification extends React.Component{
constructor(){

28
super();
this.state = {
adhaar : '',
birthcertificate : '',
pancard : ''
}
}
handleSubmit = async(event) =>{
const {currentUser} = this.props;
event.preventDefault();
try{
constuserRef = await firestore.doc(`users/${currentUser.id}/kyc_details/Verification`);
userRef.set({...this.state});
constdocRef = await firestore.doc(`users/${currentUser.id}`);
const date = new Date();
docRef.update({Verification : true,
verifiedAt : date,
status : false
});
this.setState({
adhaar : '',
birthcertificate : '',
pancard : ''
}, () =>alert("Verification details submitted successfully"));
}catch(e){
alert('error occured');
}
}
handleChange = (event) =>{
const {name, value} = event.target;
this.setState({[name] : value});
}

29
render(){
return(
<div className = "verification-input">
<form className = "verification-form-input" onSubmit = {this.handleSubmit}>
<div className = "verification-text">Verification Form </div>
<FormInput
type = "url"
label = "Adhaar URL"
value = {this.state.adhaar}
name = "adhaar"
handleChange = {this.handleChange}
required
register
/>
<FormInput
type = "url"
label = "Pancard URL"
value = {this.state.pancard}
name = "pancard"
handleChange = {this.handleChange}
required
register
/>
<FormInput
type = "url"
label = "Birth Certificate URL"
value = {this.state.birthcertificate}
name = "birthcertificate"
handleChange = {this.handleChange}
required
register
/>

30
<CustomButton type = "submit">Submit</CustomButton>
</form>
</div>
)
}
}

constmapStateToProps = ({user}) =>({


currentUser :user.currentUser
})
export default connect(mapStateToProps)(Verification);

Checkstatus.component.jsx
import React from 'react';
import {connect} from 'react-redux';
constCheckStatus = ({currentUser}) =>{
return(
<div>
{
!currentUser.status ?
<h1>Verification In Progress</h1>
:
<h1>You Will Recieve Passport Shortly</h1>
}

31
</div>
)
}

constmapStateToProps = ({user}) =>({


currentUser :user.currentUser
})
export default connect(mapStateToProps)(CheckStatus);

Firebase.utils.js
import firebase from 'firebase/app';
import 'firebase/firestore';
import 'firebase/auth';
const config = {
apiKey: "AIzaSyB0y6fxmo6Wgwgyr62baIp_EHTqymCTxZ0",
authDomain: "passport-a112d.firebaseapp.com",
projectId: "passport-a112d",
storageBucket: "passport-a112d.appspot.com",
messagingSenderId: "495464334099",
appId: "1:495464334099:web:a7145f2bc3a2fc1f9050e6",
measurementId: "G-WY96L2TNQB"
}
export constcreateUserProfile = async (userAuth, additionalData) =>{
if(!userAuth) return;

32
constuserRef = await firestore.doc(`users/${userAuth.email}`);
console.log(userRef);
constsnapShot = await userRef.get();
if(!snapShot.exists)
{
const {displayName, email} = userAuth;
constcreatedAt = new Date();
try{
await userRef.set({
displayName,
email,
createdAt,
Registration : false,
Verification : false,
...additionalData
})
}catch (e){
console.log(e);
}
}
return userRef;
}
if(!firebase.apps.length){
firebase.initializeApp(config);
}else{
firebase.app();
}
export const auth = firebase.auth();
export constfirestore = firebase.firestore();
const provider = new firebase.auth.GoogleAuthProvider();
provider.setCustomParameters({prompt : 'select_account'});
export constsignInWithGoogle = () =>auth.signInWithPopup(provider);

33
export default firebase;

RESULT:

Thus the Passport Automation System application was successfully designed and codes are
generated and then it was executed successfully.

34
EX.NO: 2 BOOK BANK SYSTEM
DATE: 19.02.2021
AIM
To analyze, design and develop code for Book Bank system using StarUML software.

PROBLEM STATEMENT

To create Book Bank Maintenance System software that will meet the needs of the customer
and help them in registering for the book bank, enquiry about the issue of book, return book
and available books.

OVERALL DESCRIPTION
The Book Bank Maintenance System is an integrated system that has four modules as part of
it. The four modules are,
1) Registration for the new user: In this module, the user can register as new user in
the database.
2) Issue Book: In this module, it shows the details of issued book to the existing user and it
shows the available book to the particular user.
3) Return Book: In this module, shows and modify the database and store the return book
from the user and shows the fine amount.

SOFTWARE REQUIRMENTS

● Microsoft Visual Basic 6.0


● StarUML
● Microsoft Access

HARDWARE REQUIRMENTS
● 1GB RAM
● Pentium IV Processor
● 100 GB HARDDISK

STRUCTURE OF DATABASE

Create a table using Microsoft access with the following attributes:


Table name: Add books

S.NO FIELD TYPE


SIZE
1. Book name Text 50
2. author Text 50
3. Publication Text 50
4. Category Text 50
5. Availability Int 2

35
Table name: Student details
S.NO FIELD TYPE
SIZE
1. First name Text 50
2. Last name Text 50
3. Id no Int 2
4. Gender Text 50
5. Department Text 50
6. Batch Text 50
7. Phone no Text 50

USE CASE DIAGRAM

CLASS DIAGRAM

36
SEQUENCE DIAGRAM

COLLABORATION DIAGRAM

37
ACTIVITY DIAGRAM

COMPONENT DIAGRAM

DEPLOYMENT DIAGRAM

38
PACKAGE DIAGRAM

GENERATED CODE

FORM 1:

Private Sub Command1_Click()


39
Form2.Show
End Sub

Private Sub Command2_Click()


frmLogin.Show
End Sub

Private Sub Command4_Click()


frmLogin.Show
End Sub

Form 2:

Private Sub Command1_Click()


Data1.Recordset.AddNew
End Sub

Private Sub Command2_Click()


Data1.Recordset.Edit
End Sub

Private Sub Command3_Click()


Data1.Recordset.Delete
MsgBox "the records are deleted successfully !!!"
End Sub

Private Sub Command4_Click()


Data1.Recordset.Update
MsgBox "the records are updated successfully"

End Sub

Private Sub Command5_Click()


Form1.Show
End Sub

40
Form 3:

Private Sub Command1_Click()


Data1.Recordset.AddNew
End Sub

Private Sub Command2_Click()


Data1.Recordset.Edit
End Sub

Private Sub Command3_Click()


Data1.Recordset.Delete
End Sub

Private Sub Command4_Click()


Data1.Recordset.Update
End Sub

Private Sub Text2_Change()

End Sub

Private Sub Command6_Click()


Form1.Show
End Sub

41
Form 4:

RESULT

Thus, the project for Book bank management system was designed and codes are generated
and thenit was executed successfully.

42
EX.NO: 3 EXAM REGISTRATION SYSTEM
DATE: 04.03.2021

AIM
To analyze and design an Exam registration system using StarUML software.

PROBLEM STATEMENT

To design an Exam registration system that has been developed to meet the need of
the student and helps them to register themselves for the exam and get the details about
the exam by enquiring it. The student can able to register for the exam, process their exam
form, they can able to modify the database.

PROBLEM ANALYSIS
Exam registration system is used in the effective dispatch of registration form to all of
the students. This system adopts a comprehensive approach to minimize the manual work
and schedule resources, time in a cogent manner. The core of the system is to get the
online registration form (with details such as name, student id etc.,) filled by the
student.This forms the first and foremost step in the processing of exam application.The
database will be provided with fees details to display the exam details to the student,
which they can view in their online interface. After all the necessary criteria has been
met, the original information is added to the database.

INTRODUCTION
Exam registration system is an interface between the student and the database
responsible for the registration of exam. It aims at improving the efficiency in the issue of
registering the exam and reduces the complexities involved in it to the maximum possible
extent.

PURPOSE
If the entire process of „Exam registration' is done in a manual manner then it would
takes several days for registering the exam. Considering the fact that the number of
students appearing in exam is increasing every year, an automated system becomes
essential to meet the demand. So, this system uses several programming and database
techniques to elucidate the work involved in this process.

USER CHARACTERISTICS
• Student - They are the people who desire to register the exam and submit the
information to the database.

• Database - It has all the privileges to add registration,delete registration and store ,
display the exam and student details.

• Admin - The person who has privileges to verify student details.

43
SOFTWARE REQUIREMENTS
● ·Eclipse IDE
● ·Java
● ·StarUML
● ·MySQL

HARDWARE REQUIREMENTS
● ·128MB RAM
● ·Pentium III Processor

STRUCTURE OF DATABASE :
Create a table <student> using phpmyadmin with the following attributes:

Table name: Student


S.NO FIELD TYPE SIZE

1. Student ID Varchar 15

2. Name Varchar 50

3. Password Varchar 15

4. Gender Varchar 10

5. Age Int 11

6. Department Varchar 50

7. Year Int 11

8. Email Varchar 30

Create a table <exam> using phpmyadmin with the following attributes:


Table name: exam

S.NO FIELD TYPE SIZE

1. Exam name Varchar 40

2. Exam code Varchar 10

3. Department Varchar 20

4. Fees Int 11

44
Create a table <registerexam> using phpmyadmin with the following attributes:
Table name: Register exam

S.NO FIELD TYPE SIZE

1. Exam code Varchar 10

2. Student ID Varchar 15

3. Paid fees Tinyint 1

4. Fees Int 11

USE CASE DIAGRAM


ACTORS
The actors used in this system are
1. Student:The person who registers the exam.
2. Database: Maintains the student details and exam details.
3.Admin:The person who verify the students.

The use cases used in this system are


1. Login: The student enters email-id and password to login and retrieve the information.
2. View Exam Details: The student views the details about the exam which contains subject
name, subjectcode, department allowed and exam fees.
3. Register: The new student can register by using his/her details and register,enquiry about
the exam.
4. Register for Exam: Student can register for required exams.
5.Acknowledgement: After new student registration and Exam registration
acknowledgement message shown to the student.

45
CLASS DIAGRAM
The Exam registration system class diagram consists of three classes:
1. Student: The person who registers the exam.
2. Exam Database: All student and exam datas are stored as tables.
3. Register: The student registers for required exam using exam code.

46
SEQUENCE DIAGRAM

47
COLLABORATION DIAGRAM

ACTIVITY DIAGRAM

48
COMPONENT DIAGRAM

DEPLOYMENT DIAGRAM

49
PACKAGE DIAGRAM

50
STATECHART DIAGRAM:

GENERATED CODE
Enquiry about exam details:

ExamDetails.java

import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import java.awt.*;
import java.awt.event.ActionEvent;

51
import java.awt.event.ActionListener;
import java.sql.*;
public class ExamDetails implements ActionListener {
JFrame frame;
JLabelheaderLabel=new JLabel("ENQUIRY EXAM");
JLabelcodeLabel=new JLabel("Exam Code/Subject Code");
JTextFieldcodeField=new JTextField();
JButtonsearchButton=new JButton("SEARCH");
JButtonexitButton=new JButton("EXIT");
ExamDetails(){
createWindow();
setLocationAndSize();
addComponentsToFrame();
actionEvent();
}
public void createWindow()
{
frame=new JFrame();
frame.setTitle("Exam Details");
frame.setBounds(40,40,500,300);
frame.getContentPane().setBackground(Color.white);
frame.getContentPane().setLayout(null);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
}
public void setLocationAndSize()
{
headerLabel.setBounds(190,20,200,70);
codeLabel.setBounds(60,100,180,35);
codeField.setBounds(230,107,180,25);
searchButton.setBounds(100,170,100,35);
exitButton.setBounds(280,170,80,35);
}
public void addComponentsToFrame()
{
frame.add(headerLabel);
frame.add(codeLabel);
frame.add(codeField);
frame.add(searchButton);
frame.add(exitButton);
}
public void actionEvent()
{
exitButton.addActionListener(this);
searchButton.addActionListener(this);

52
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()==exitButton) {
frame.dispose();
new ExamInfo();
}
if(e.getSource()==searchButton) {
try {
String examname,deptname,examfees;
String code = codeField.getText();
Connection connection = DriverManager.getConnection("jdbc
:mysql://localhost:3306/examregistrat ion" ,"root","");
PreparedStatementPstatement=connection.prepareStatement("select * from exam where
examcode='"+code+"'");
ResultSetrs = Pstatement.executeQuery();
if(rs.next()) {
examname = rs.getString("examname");
deptname = rs.getString("dept");
examfees = rs.getString("fees");
new SubjectDetails(code,examname,deptname,examfees);
}
else {
JOptionPane.showMessageDialog(null,"Invalid Exam Code");
}}catch (SQLException e1) {
e1.printStackTrace();
}
}} }

SubjectDetails.java
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class SubjectDetails implements ActionListener{
public String code="";
JFrame frame1;
JLabel headerLabel1 = null,subcode=null,subname=null,dept=null,fees=null;
String examname,deptname,examfees;
JButtonokButton=new JButton("OK");
SubjectDetails(String code,Stringexamname,Stringdeptname,Stringexamfees){
this.code=code;
this.examfees=examfees;
this.deptname = deptname;

53
this.examfees=examfees;
headerLabel1=new JLabel("SUBJECT DETAILS");
subcode = new JLabel("SUBJECT CODE : "+code);
subname = new JLabel("SUBJECT NAME : "+examname);
dept = new JLabel("DEPARTMENT ALLOWED : "+deptname);
fees = new JLabel("EXAM FEES (In Rupees) : "+examfees);
createWindow();
setLocationAndSize();
addComponentsToFrame();
actionEvent();
}
public void createWindow()
{
frame1=new JFrame();
frame1.setTitle("Subject Details");
frame1.setBounds(40,40,450,400);
frame1.getContentPane().setBackground(Color.white);
frame1.getContentPane().setLayout(null);
frame1.setVisible(true);
frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame1.setResizable(false);
}
public void setLocationAndSize()
{
headerLabel1.setBounds(180,10,300,70);
subcode.setBounds(90,70,300,35);
subname.setBounds(90,120,300,35);
dept.setBounds(90,170,300,35);
fees.setBounds(90,220,300,35);
okButton.setBounds(120, 270, 180, 35);
}
public void addComponentsToFrame()
{
frame1.add(headerLabel1);
frame1.add(subcode);
frame1.add(subname);
frame1.add(dept);
frame1.add(fees);
frame1.add(okButton);
}
public void actionEvent()
{
okButton.addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent e) {

54
// TODO Auto-generated method stub
if(e.getSource()==okButton) {
frame1.dispose();
}
}
}

Register for an exam:

RegisterExam.java

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
public class RegisterExam implements ActionListener{
JFrame frame;
JLabelheaderLabel=new JLabel("REGISTER FOR AN EXAM");
JLabelstudLabel=new JLabel("STUDENT ID");
JLabelcodeLabel=new JLabel("EXAM CODE");

55
JTextFieldstudField=new JTextField();
JTextFieldcodeField=new JTextField();
JButtonregisterButton=new JButton("REGISTER");
JButtonexitButton=new JButton("EXIT");
RegisterExam(){
createWindow();
setLocationAndSize();
addComponentsToFrame();
actionEvent();
}
public void createWindow()
{
frame=new JFrame();
frame.setTitle("Register Exam");
frame.setBounds(40,40,400,300);
frame.getContentPane().setBackground(Color.white);
frame.getContentPane().setLayout(null);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
}
public void setLocationAndSize()
{
headerLabel.setBounds(100,10,200,70);
studLabel.setBounds(20,60,100,70);
codeLabel.setBounds(20,110,100,70);
studField.setBounds(180,83,165,23);
codeField.setBounds(180,133,165,23);
registerButton.setBounds(70,200,100,35);
exitButton.setBounds(220,200,100,35);
}
public void addComponentsToFrame()
{
frame.add(headerLabel);
frame.add(studLabel);
frame.add(codeLabel);
frame.add(studField);
frame.add(codeField);
frame.add(registerButton);
frame.add(exitButton);
}
public void actionEvent()
{
registerButton.addActionListener(this);
exitButton.addActionListener(this);
}

56
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==exitButton) {
frame.dispose();
new ExamInfo();
}
if(e.getSource()==registerButton) {
String studid = studField.getText();
String code = codeField.getText();
int examfees = 0;
try {
Connection connection
=DriverManager.getConnection("jdbc:mysql://localhost:3306/examregistration","root","
Root");
PreparedStatementPstatement=connection.prepareStatement("select * from exam where
examcode='"+code+"'");
ResultSetrs = Pstatement.executeQuery();
if(rs.next()) {
examfees = rs.getInt("fees");
PreparedStatement Pstatement2=connection.prepareStatement("select * from
registerexam where examcode='"+code+"' and studid='"+studField.getText()+"'");
ResultSet rs1 = Pstatement2.executeQuery();
if(rs1.next()) {
JOptionPane.showMessageDialog(null,"You have already registered for this exam!");
studField.setText("");
codeField.setText("");
}
else {
PreparedStatement Pstatement1=connection.prepareStatement("insert into registerexam
values(?,?,?,?)");
Pstatement1.setString(1,code);
Pstatement1.setString(2,studid);
Pstatement1.setBoolean(3,false);
Pstatement1.setInt(4,examfees);
Pstatement1.executeUpdate();
JOptionPane.showMessageDialog(null,"Registered Successfully");
studField.setText("");
codeField.setText("");
}
}
else {
JOptionPane.showMessageDialog(null,"Invalid Exam Code");
studField.setText("");
codeField.setText("");
}

57
}catch (SQLException e1) {
e1.printStackTrace();
}
}
}}

RESULT

Thus, the project Exam registration system was designed and codes are generated and thenit
was executed successfully.

58
Ex.No: 4 STOCK MAINTENANCE SYSTEM
Date : 08.03.2021
AIM
To analyze, design and develop code for a stock maintenance system using StarUML
software.

PROBLEM STATEMENT

The stock maintenance system must take care of sales information of the company
and must analyze the potential of the trade. It maintains the number of items that are
added or removed. The sales person initiates this Use case. The sales person is allowed to
update information and view the database.

PROBLEM ANALYSIS
Stock maintenance system is a real time application used in the merchant‟s day to day
system. This is a database to store the transaction that takes place between the
Manufacturer, Dealer and the Shopkeeper that includes stock inward and stock outward
with reference to the dealer. Here we assume our self as the Dealer and proceed with the
transaction as follows:

The Manufacturer is the producer of the items and it contains the necessary
information of the item such as price per item, Date of manufacture, best before use,
Number of Item available and their Company Address. The Dealer is the secondary source
of an Item and he purchases Item from the manufacturer by requesting the required Item with
its corresponding Company Name and the Number of Items required.
INTRODUCTION
Stock maintenance is an interface between the customer and the salesperson. It
aims at improving the efficiency in maintaining the stocks

PURPOSE
The entire process of Stock maintenance is done in a manual manner Considering the fact
that the number of customers for purchase is increasing every year, a maintenance system
is essential to meet the demand. So this system uses several programming and database
techniques to elucidate the work involved in this process.

USER CHARACTERISTICS
1. Customer: The person who orders the item.
2. Validate customer: The items ordered by the customer are validated.
3. Sales Detail: Maintains the stock details after delivering the items to the customer.

SOFTWARE REQUIREMENTS
● NetBeans IDE 8.2
● Star UML
● phpMyAdmin

HARDWARE REQUIREMENTS
● 1GB RAM
● Pentium IV Processor

59
● 100 GB HARDDISK

USE CASE DIAGRAM


The use cases used in this system are
1. Product details: Used for placing an order.
2. Purchase details: Used for tracking items that have been ordered.
3. sales details: Used to give the sales particulars about an item.
4. stock details: Used to give the stock details in a shop.
5. Purchase the product: Used to provide bills for the customer.
6. supply the product: Used to give the order product to the customer.
ACTORS
The actors used in this system are
1. Customer: The person who orders the item.
2. Administrator: The items ordered by the customer are validated.
3. Supplier: Maintains the stock details after delivering the items to the customer.

60
CLASS DIAGRAM
The Stock maintenance system class diagram consists of four classes:
1. Admin: One who procure the products from the supplier based on the stock availability.
2. Customer: The customer makes an order for the required products.
3. Supplier: One who views and delivers products.
4. Database: Where details of stocks are stored and updated.

61
SEQUENCE DIAGRAM:

62
COLLABORATION DIAGRAM

63
ACTIVITY DIAGRAM

64
STATECHART DIAGRAM

65
COMPONENT DIAGRAM

DEPLOYMENT DIAGRAM

66
PACKAGE DIAGRAM

GENERATED CODE

Main.java

package Stock;
public class main extends javax.swing.JFrame {
public main() {
initComponents();
}
private void jButton5ActionPerformed(java.awt.event.ActionEventevt) {
// TODO add your handling code here:
sales S=new sales();
S.setVisible(true);

67
}
private void jButton3ActionPerformed(java.awt.event.ActionEventevt) {
// TODO add your handling code here:
this.setVisible(false);
}
private void jButton2ActionPerformed(java.awt.event.ActionEventevt) {
// TODO add your handling code here:
vendor v=new vendor();
v.setVisible(true);
}
private void jButton1ActionPerformed(java.awt.event.ActionEventevt) {
// TODO add your handling code here:
product P =new product();
P.setVisible(true);
}
private void jButton4ActionPerformed(java.awt.event.ActionEventevt) {
// TODO add your handling code here:
purchase P=new purchase();
P.setVisible(true);
}

Vendor.java

package Stock;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.Vector;
import java.util.logging.Level;

68
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
/**
*
* @author ELCOT
*/
public class vendor extends javax.swing.JFrame {
/**
* Creates new form vendor
*/
public vendor() {
initComponents();
Connect();
load();
}
Connection conn;
PreparedStatementpst;
DefaultTableModel df;
public void Connect(){
try {
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:mysql://localhost/stockmanagement","root","");
} catch (ClassNotFoundException ex) {
Logger.getLogger(vendor.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) {
Logger.getLogger(vendor.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void load()
{
int a;
try {
pst=conn.prepareStatement("select * from vendor");
ResultSetrs=pst.executeQuery();
ResultSetMetaDatard=rs.getMetaData();
a=rd.getColumnCount();
df=(DefaultTableModel)jTable1.getModel();
df.setRowCount(0);
while(rs.next())
{
Vector v2=new Vector();
for(int i=1;i<=a;i++){
v2.add(rs.getString("id"));
v2.add(rs.getString("name"));
v2.add(rs.getString("phone"));

69
v2.add(rs.getString("email"));
v2.add(rs.getString("address"));
}
df.addRow(v2);
}
} catch (SQLException ex) {
Logger.getLogger(vendor.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void jButton1ActionPerformed(java.awt.event.ActionEventevt) {
try {
String name=txtvendor.getText();
String phone=txtphone.getText();
String email=txtemail.getText();
String address=txtaddress.getText();
// TODO add your handling code here:
pst=conn.prepareStatement("insert into vendor(name,phone,email,address) values(?,?,?,?)");
pst.setString(1,name);
pst.setString(2,phone);
pst.setString(3,email);
pst.setString(4,address);
pst.executeUpdate();
JOptionPane.showMessageDialog(this,"Vendor added");
txtvendor.setText("");
txtphone.setText("");
txtemail.setText("");
txtaddress.setText("");
txtvendor.requestFocus();
load();
} catch (SQLException ex) {
Logger.getLogger(vendor.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void jButton2ActionPerformed(java.awt.event.ActionEventevt) {
// TODO add your handling code here:
df =(DefaultTableModel)jTable1.getModel();
int selected = jTable1.getSelectedRow();
int id=Integer.parseInt(df.getValueAt(selected,0).toString());
String name=txtvendor.getText();
String phone=txtphone.getText();
String email=txtemail.getText();
String address=txtaddress.getText();
try {
// TODO add your handling code here:
pst=conn.prepareStatement("update vendor set name=? , phone = ? , email = ? , address = ?
where id = ?");

70
pst.setString(1,name);
pst.setString(2,phone);
pst.setString(3,email);
pst.setString(4,address);
pst.setInt(5,id);
pst.executeUpdate();
JOptionPane.showMessageDialog(this,"Vendor Updated");
txtvendor.setText("");
txtphone.setText("");
txtemail.setText("");
txtaddress.setText("");
txtvendor.requestFocus();
load();
jButton1.setEnabled(true);
} catch (SQLException ex) {
Logger.getLogger(vendor.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void jButton3ActionPerformed(java.awt.event.ActionEventevt) {
// TODO add your handling code here:
df =(DefaultTableModel)jTable1.getModel();
int selected = jTable1.getSelectedRow();
int id=Integer.parseInt(df.getValueAt(selected,0).toString());
String name=txtvendor.getText();
String phone=txtphone.getText();
String email=txtemail.getText();
String address=txtaddress.getText();
try {
// TODO add your handling code here:
pst=conn.prepareStatement("delete from vendor where id=?");

pst.setInt(1,id);
pst.executeUpdate();
JOptionPane.showMessageDialog(this,"VendorDelted");
txtvendor.setText("");
txtphone.setText("");
txtemail.setText("");
txtaddress.setText("");
txtvendor.requestFocus();
load();
jButton1.setEnabled(true);
} catch (SQLException ex) {
Logger.getLogger(vendor.class.getName()).log(Level.SEVERE, null, ex);
}
}

71
private void jButton4ActionPerformed(java.awt.event.ActionEventevt) {
// TODO add your handling code here:
txtvendor.setText("");
txtphone.setText("");
txtemail.setText("");
txtaddress.setText("");
txtvendor.requestFocus();
load();
}
private void jTable1MouseClicked(java.awt.event.MouseEventevt) {
// TODO add your handling code here:
df =(DefaultTableModel)jTable1.getModel();
int selected = jTable1.getSelectedRow();
int id=Integer.parseInt(df.getValueAt(selected,0).toString());
txtvendor.setText(df.getValueAt(selected,1).toString());
txtphone.setText(df.getValueAt(selected,2).toString());
txtemail.setText(df.getValueAt(selected,3).toString());
txtaddress.setText(df.getValueAt(selected,4).toString());
jButton1.setEnabled(false);
}
private void jButton5ActionPerformed(java.awt.event.ActionEventevt) {
// TODO add your handling code here:
this.setVisible(false);
}

72
Product.java

package Stock;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
/**** @author ELCOT*/
public class product extends javax.swing.JFrame {
/**
* Creates new form product
*/
public product() {
initComponents();
Connect();
load();
}
Connection conn;
PreparedStatementpst;
DefaultTableModel df;
public void Connect(){
try {
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:mysql://localhost/stockmanagement","root","");
} catch (ClassNotFoundException ex) {

73
Logger.getLogger(vendor.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) {
Logger.getLogger(vendor.class.getName()).log(Level.SEVERE, null, ex);
}
}public void load()
{
int a;
try {
pst=conn.prepareStatement("select * from product");
ResultSetrs=pst.executeQuery();
ResultSetMetaDatard=rs.getMetaData();
a=rd.getColumnCount();
df=(DefaultTableModel)jTable1.getModel();
df.setRowCount(0);
while(rs.next())
{
Vector v2=new Vector();
for(int i=1;i<=a;i++){
v2.add(rs.getString("id"));
v2.add(rs.getString("name"));
v2.add(rs.getString("supplier"));
v2.add(rs.getString("quantity"));
v2.add(rs.getString("price"));
}
df.addRow(v2);
}
} catch (SQLException ex) {
Logger.getLogger(vendor.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void jButton4ActionPerformed(java.awt.event.ActionEventevt) {
// TODO add your handling code here:
txtname.setText("");
txtsupplier.setText("");
txtquantity.setText("");
txtprice.setText("");
txtname.requestFocus();
load();
}
private void jButton3ActionPerformed(java.awt.event.ActionEventevt) {
// TODO add your handling code here:
df =(DefaultTableModel)jTable1.getModel();
int selected = jTable1.getSelectedRow();
int id=Integer.parseInt(df.getValueAt(selected,0).toString());
String name=txtname.getText();
String supplier=txtsupplier.getText();

74
String quantity=txtquantity.getText();
String price=txtprice.getText();
try {
// TODO add your handling code here:
pst=conn.prepareStatement("delete from product where id=?");
pst.setInt(1,id);
pst.executeUpdate();
JOptionPane.showMessageDialog(this,"Product Deleted");
txtname.setText("");
txtsupplier.setText("");
txtquantity.setText("");
txtprice.setText("");
txtname.requestFocus();
load();
jButton1.setEnabled(true);
} catch (SQLException ex) {
Logger.getLogger(product.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void jButton2ActionPerformed(java.awt.event.ActionEventevt) {
// TODO add your handling code here:
df =(DefaultTableModel)jTable1.getModel();
int selected = jTable1.getSelectedRow();
int id=Integer.parseInt(df.getValueAt(selected,0).toString());
String name=txtname.getText();
String supplier=txtsupplier.getText();
String quantity=txtquantity.getText();
String price=txtprice.getText();
try {
// TODO add your handling code here:
pst=conn.prepareStatement("update product set name=? , supplier = ? , quantity = ? , price =
? where id = ?");
pst.setString(1,name);
pst.setString(2,supplier);
pst.setString(3,quantity);
pst.setString(4,price);
pst.setInt(5,id);
pst.executeUpdate();
JOptionPane.showMessageDialog(this,"Product Updated");
txtname.setText("");
txtsupplier.setText("");
txtquantity.setText("");
txtprice.setText("");
txtname.requestFocus();
load();
jButton1.setEnabled(true);

75
} catch (SQLException ex) {
Logger.getLogger(product.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void jButton1ActionPerformed(java.awt.event.ActionEventevt) {
// TODO add your handling code here:
try {
String name=txtname.getText();
String supplier=txtsupplier.getText();
String quantity=txtquantity.getText();
String price=txtprice.getText();
// TODO add your handling code here:
pst=conn.prepareStatement("insert into product(name,supplier,quantity,price)
values(?,?,?,?)");
pst.setString(1,name);
pst.setString(2,supplier);
pst.setString(3,quantity);
pst.setString(4,price);
pst.executeUpdate();
JOptionPane.showMessageDialog(this,"Product added");
txtname.setText("");
txtsupplier.setText("");
txtquantity.setText("");
txtprice.setText("");
txtname.requestFocus();
load();
} catch (SQLException ex) {
Logger.getLogger(product.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void jTable1MouseClicked(java.awt.event.MouseEventevt) {
// TODO add your handling code here:
df =(DefaultTableModel)jTable1.getModel();
int selected = jTable1.getSelectedRow();
int id=Integer.parseInt(df.getValueAt(selected,0).toString());
txtname.setText(df.getValueAt(selected,1).toString());
txtsupplier.setText(df.getValueAt(selected,2).toString());
txtquantity.setText(df.getValueAt(selected,3).toString());
txtprice.setText(df.getValueAt(selected,4).toString());
jButton1.setEnabled(false);
}private void jButton5ActionPerformed(java.awt.event.ActionEventevt) {
// TODO add your handling code here:
this.setVisible(false);
}

76
Purchase.java

package Stock;
import com.mysql.jdbc.Statement;
import java.awt.event.KeyEvent;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;

77
import javax.swing.table.DefaultTableModel;
/**** @author ELCOT*/
public class purchase extends javax.swing.JFrame {
/**
* Creates new form purchase
*/
public purchase() {
initComponents();
Connect();
Vendor();
}
Connection conn;
PreparedStatementpst;
PreparedStatement pst1;
PreparedStatement pst2;
DefaultTableModel df;
ResultSetrs;
public void Connect(){
try {
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:mysql://localhost/stockmanagement","root","");
} catch (ClassNotFoundException ex) {
Logger.getLogger(vendor.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) {
Logger.getLogger(vendor.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void Vendor()
{
try {
pst=conn.prepareStatement("select Distinct name from vendor");
rs =pst.executeQuery();
txtvendor.removeAllItems();
while(rs.next()){
txtvendor.addItem(rs.getString("name"));
}
} catch (SQLException ex) {
Logger.getLogger(purchase.class.getName()).log(Level.SEVERE, null, ex);
}
}public void purchase()
{String pname=txtpname.getText();
try {
pst = conn.prepareStatement("select * from product where name=?");
pst.setString(1,pname);
rs =pst.executeQuery();
if(rs.next()==false){

78
JOptionPane.showMessageDialog(this,"Product not found");
txtpname.setText("");
}else
{ String name=rs.getString("name");
String supplier=rs.getString("supplier");
String price=rs.getString("price");
txtpname.setText(name.trim());
txtsupplier.setText(supplier.trim());
txtprice.setText(price.trim());
txtquantity.requestFocus();
}
} catch (SQLException ex) {
Logger.getLogger(purchase.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void purchase1()
{
int price=Integer.parseInt(txtprice.getText());
int quantity=Integer.parseInt(txtquantity.getText());
int tat=price*quantity;
df=(DefaultTableModel)jTable1.getModel();
df.addRow(new Object[]
{
txtpname.getText(),txtsupplier.getText(),txtquantity.getText(),txtprice.getText(),tat
}
);
int sum=0;
for(int i=0;i<jTable1.getRowCount();i++){
sum=sum+ Integer.parseInt( jTable1.getValueAt(i,3).toString());
}
txttcost.setText(String.valueOf(sum));
txtpname.setText("");
txtsupplier.setText("");
txtprice.setText("");
txtquantity.setText("");
}public void add()
{
try
{
String vendor=txtvendor.getSelectedItem().toString();
String subtotal=txttcost.getText();
String pay=txtpayment.getText();
String bal=txtbalance.getText();
int lastid = 0;
String query1 = "insert into purchase(vendor,subtotal,total,balance) value(?,?,?,?)";
pst=conn.prepareStatement(query1,Statement.RETURN_GENERATED_KEYS);

79
pst.setString(1, vendor);
pst.setString(2, subtotal);
pst.setString(3, pay);
pst.setString(4, bal);
pst.executeUpdate();
rs=pst.getGeneratedKeys();
if(rs.next()){
lastid=rs.getInt(1);
}
String query2="insert into purchaseitem(purid,pname,price,quantity,total) values(?,?,?,?,?)";
pst1=conn.prepareStatement(query2);
String productid;
String price;
String quantity;
int total=0;
for(int i=0;i<jTable1.getRowCount();i++){
productid=(String) jTable1.getValueAt(i,0);
price=(String)jTable1.getValueAt(i,3 );
quantity=(String)jTable1.getValueAt(i,2 );
total=(int)jTable1.getValueAt(i,4 );
pst1.setInt(1,lastid);
pst1.setString(2,productid);
pst1.setString(3,price);
pst1.setString(4,quantity);
pst1.setInt(5,total);
pst1.executeUpdate();
}
String query3="update product set quantity=quantity + ? where name=? ";
pst2=conn.prepareStatement(query3);
for(int i=0;i<jTable1.getRowCount();i++){
productid=(String) jTable1.getValueAt(i,0);
quantity=(String)jTable1.getValueAt(i,2 );
pst2.setString(1,quantity);
pst2.setString(2,productid);
pst2.executeUpdate();
JOptionPane.showMessageDialog(this,"PurchaseComplted");
}
for(int i=0;i<jTable1.getRowCount();i++){
df.removeRow(i);
}
txttcost.setText("");
txtpayment.setText("");
txtbalance.setText("");
} catch (SQLException ex) {
Logger.getLogger(purchase.class.getName()).log(Level.SEVERE, null, ex);
}

80
} private void txtpnameKeyPressed(java.awt.event.KeyEventevt) {
// TODO add your handling code here:
if(evt.getKeyCode() == KeyEvent.VK_ENTER){
purchase();
}
}
private void jButton1ActionPerformed(java.awt.event.ActionEventevt) {
// TODO add your handling code here:
purchase1();
}
private void jButton2ActionPerformed(java.awt.event.ActionEventevt) {
// TODO add your handling code here:
int pay=Integer.parseInt(txtpayment.getText());
int tcost=Integer.parseInt(txttcost.getText());
int bal=tcost-pay;
txtbalance.setText(String.valueOf(bal));
add();
}
private void jButton3ActionPerformed(java.awt.event.ActionEventevt) {
// TODO add your handling code here:
this.setVisible(false);
}

81
Sales.java

package Stock;
import com.mysql.jdbc.Statement;
import java.awt.event.KeyEvent;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
/**
*
* @author ELCOT
*/
public class sales extends javax.swing.JFrame {
/**
* Creates new form sales
*/
public sales() {
initComponents();
Connect();
}
Connection conn;
PreparedStatementpst;
PreparedStatement pst1;
PreparedStatement pst2;
DefaultTableModel df;
ResultSetrs;
public void Connect(){
try {
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:mysql://localhost/stockmanagement","root","");

} catch (ClassNotFoundException ex) {


Logger.getLogger(vendor.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) {
Logger.getLogger(vendor.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void purchase()
{
String pname=txtpname.getText();
try {

82
pst = conn.prepareStatement("select * from product where name=?");
pst.setString(1,pname);
rs =pst.executeQuery();

if(rs.next()==false){
JOptionPane.showMessageDialog(this,"Product not found");
txtpname.setText("");
}
else
{String name=rs.getString("name");
String supplier=rs.getString("supplier");
String price=rs.getString("price");
txtpname.setText(name.trim());
txtsupplier.setText(supplier.trim());
txtprice.setText(price.trim());
txtquantity.requestFocus();
}
} catch (SQLException ex) {
Logger.getLogger(purchase.class.getName()).log(Level.SEVERE, null, ex);
}
}public void sales()
{String pname=txtpname.getText();
try {
pst=conn.prepareStatement("select * from product where name=?");
pst.setString(1,pname);
rs=pst.executeQuery();
while(rs.next()){
int currQuan;
currQuan=rs.getInt("quantity");
int price=Integer.parseInt(txtprice.getText());
int quantity=Integer.parseInt(txtquantity.getText());
int tat=price*quantity;
if(quantity>currQuan){
JOptionPane.showMessageDialog(this,"Enough Quantity not there");
}
else
{
df=(DefaultTableModel)jTable1.getModel();
df.addRow(new Object[]
{
txtpname.getText(),txtsupplier.getText(),txtquantity.getText(),txtprice.getText(),tat
}); } }
} catch (SQLException ex) {
Logger.getLogger(sales.class.getName()).log(Level.SEVERE, null, ex);
}int sum=0;
for(int i=0;i<jTable1.getRowCount();i++){

83
sum=sum+ Integer.parseInt( jTable1.getValueAt(i,3).toString());
}
txttcost.setText(String.valueOf(sum));
txtpname.setText("");
txtsupplier.setText("");
txtprice.setText("");
txtquantity.setText("");
}public void add()
{try{
String subtotal=txttcost.getText();
String pay=txtpayment.getText();
String bal=txtbalance.getText();
int lastid = 0;
String query1 = "insert into sales(subtotal,paid,balance) value(?,?,?)";
pst=conn.prepareStatement(query1,Statement.RETURN_GENERATED_KEYS);
pst.setString(1, subtotal);
pst.setString(2, pay);
pst.setString(3, bal);
pst.executeUpdate();
rs=pst.getGeneratedKeys();
if(rs.next()){
lastid=rs.getInt(1);
}String query2="insert into product_sales(sid,pname,quantity,price,total) values(?,?,?,?,?)";
pst1=conn.prepareStatement(query2);
String pname;
String price;
String quantity;
int total=0;
for(int i=0;i<jTable1.getRowCount();i++){
pname=(String) jTable1.getValueAt(i,0);
price=(String)jTable1.getValueAt(i,3 );
quantity=(String)jTable1.getValueAt(i,2 );
total=(int)jTable1.getValueAt(i,4 );
pst1.setInt(1,lastid);
pst1.setString(2,pname);
pst1.setString(3,quantity);
pst1.setString(4,price);
pst1.setInt(5,total);
pst1.executeUpdate();
}String query3="update product set quantity=quantity - ? where name=? ";
pst2=conn.prepareStatement(query3);
for(int i=0;i<jTable1.getRowCount();i++){
pname=(String) jTable1.getValueAt(i,0);
quantity=(String)jTable1.getValueAt(i,2 );
pst2.setString(1,quantity);
pst2.setString(2,pname);

84
pst2.executeUpdate();
JOptionPane.showMessageDialog(this,"Sales Completed");}
for(int i=0;i<jTable1.getRowCount();i++){
df.removeRow(i);
}txttcost.setText("");
txtpayment.setText("");
txtbalance.setText("");
} catch (SQLException ex) {
Logger.getLogger(purchase.class.getName()).log(Level.SEVERE, null, ex);
} }private void jButton1ActionPerformed(java.awt.event.ActionEventevt) { sales();
}private void jButton2ActionPerformed(java.awt.event.ActionEventevt) {
int pay=Integer.parseInt(txtpayment.getText());
int tcost=Integer.parseInt(txttcost.getText());
int bal=pay-tcost;
txtbalance.setText(String.valueOf(bal));
add();
}
private void jButton3ActionPerformed(java.awt.event.ActionEventevt) {
this.setVisible(false);

RESULT
Thus, the project Stock Maintenance System was designed and codes are generated and then
it was executed successfully.

85
EX.NO: 5 ONLINE COURSE RESERVATION SYSTEM
DATE: 11.03.2021

AIM
To analyze, design and develop code for Online Course Reservation System using
StarUML software.
PROBLEM STATEMENT

As the head of information systems for a college, you are tasked with developing a new
student registration system. The college would like a new client-server system to replace its
much older system developed around main frame technology. The new system will allow
students to register for courses and view report cards from PCs attached to the campus LAN.
Professors will be able to access the system to sign up to teach courses as well as record
grades.
Students may request a course catalogue containing list of course offering for all college.
Information about each course, such as professor, department and prerequisites, will be
included to help students make informed decisions.
Once the registration process is completed for the student, the registration system sends
information to the billing system so that the student can be billed for the course.

OVERALL DESCRIPTION
The Online Course Reservation System is an integrated system that has four modules as part
of it. The four modules are,

1) Login for Student: Using this module student login to the system using his/her unique
username and password
2) Student Registration: In this module, the students register his/her details in the system.
The details are stored in students table in database
3) Form for Registration: In this module the user can apply for the course by giving the
details about the candidate and selecting the quota for the registration.
4) Enquiry about course: In this module the student can enquiry about the various courses
in all the colleges.

SOFTWAREREQUIRMENTS
 Microsoft Visual Basic 6.0
 StarUML
 Microsoft Access

HARDWARE REQUIRMENTS
 8GB RAM
 Pentium IV Processor
 100 GB HARDDISK

86
USE CASE DIAGRAM

CLASS DIAGRAM

87
SEQUENCE DIAGRAM

88
ACTIVITY DIAGRAM

89
COLLABORATION DIAGRAM

COMPONENT DIAGRAM

90
DEPLOYMENT DIAGRAM

PACKAGE DIAGRAM:

91
GENERATED CODE
Form1

CODE:
<?php
session_start();
error_reporting(0);
include("includes/config.php");
if(isset($_POST['submit']))
{
$regno=$_POST['regno'];
$password=md5($_POST['password']);
$query=mysqli_query($con,"SELECT * FROM students WHERE
StudentRegno='$regno' and password='$password'");
$num=mysqli_fetch_array($query);
if($num>0)
{
$extra="change-password.php";//
$_SESSION['login']=$_POST['regno'];
$_SESSION['id']=$num['studentRegno'];
$_SESSION['sname']=$num['studentName'];
$uip=$_SERVER['REMOTE_ADDR'];
$status=1;

92
$log=mysqli_query($con,"insert into userlog(studentRegno,userip,status)
values('".$_SESSION['login']."','$uip','$status')");
$host=$_SERVER['HTTP_HOST'];
$uri=rtrim(dirname($_SERVER['PHP_SELF']),'/\\');
header("location:http://$host$uri/$extra");
exit();
}
else
{
$_SESSION['errmsg']="Invalid Reg no or Password";
$extra="index.php";
$host = $_SERVER['HTTP_HOST'];
$uri =rtrim(dirname($_SERVER['PHP_SELF']),'/\\');
header("location:http://$host$uri/$extra");
exit();
}
}
?>

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-
scale=1" />
<meta name="description" content="" />
<meta name="author" content="" />
<title>Student Login</title>
<link href="assets/css/bootstrap.css" rel="stylesheet" />
<link href="assets/css/font-awesome.css" rel="stylesheet" />
<link href="assets/css/style.css" rel="stylesheet" />
</head>
<body>
<?php include('includes/header.php');?>
<div class="content-wrapper">
<div class="container">
<div class="row">
<div class="col-md-12">
<h4 class="page-head-line">Please Login To Enter </h4>

</div>

</div>

93
<span style="color:blue;" ><?php echo htmlentities($_SESSION['errmsg']); ?><?php
echo htmlentities($_SESSION['errmsg']="");?></span>
<form name="admin" method="post">
<div class="row">
<div class="col-md-6">
<label>Enter Reg no :</label>
<input type="text" name="regno" class="form-control" />
<label>Enter Password :</label>
<input type="password" name="password" class="form-control" />
<hr />
<button type="submit" name="submit" class="btnbtn-info"><span
class="glyphiconglyphicon-user"></span>&nbsp;Log Me In </button>&nbsp;
</div>
</form>
</div>
</div>
</div>
<!-- CONTENT-WRAPPER SECTION END→
<?php include('includes/footer.php');?>
<script src="assets/js/jquery-1.11.1.js"></script>
<!-- BOOTSTRAP SCRIPTS -->
<script src="assets/js/bootstrap.js"></script>
</body>
</html>

<?php

94
session_start();
error_reporting(0);
include("includes/config.php");
if(isset($_POST['submit']))
{
$username=$_POST['username'];
$password=md5($_POST['password']);
$query=mysqli_query($con,"SELECT * FROM admin WHERE
username='$username' and password='$password'");
$num=mysqli_fetch_array($query);
if($num>0)
{
$extra="change-password.php";//
$_SESSION['alogin']=$_POST['username'];
$_SESSION['id']=$num['id'];
$host=$_SERVER['HTTP_HOST'];
$uri=rtrim(dirname($_SERVER['PHP_SELF']),'/\\');
header("location:http://$host$uri/$extra");
exit();
}
else
{
$_SESSION['errmsg']="Invalid username or password";
$extra="index.php";
$host = $_SERVER['HTTP_HOST'];
$uri =rtrim(dirname($_SERVER['PHP_SELF']),'/\\');
header("location:http://$host$uri/$extra");
exit();
}
}
?>

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-
scale=1" />
<meta name="description" content="" />
<meta name="author" content="" />

<title>Admin Login</title>
<link href="assets/css/bootstrap.css" rel="stylesheet" />

95
<link href="assets/css/font-awesome.css" rel="stylesheet" />
<link href="assets/css/style.css" rel="stylesheet" />
</head>
<body>
<?php include('includes/header.php');?>
<div class="content-wrapper">
<div class="container">
<div class="row">
<div class="col-md-12">
<h4 class="page-head-line">Please Login To Enter </h4>
</div>
</div>
<span style="color:red;" ><?php echo htmlentities($_SESSION['errmsg']); ?><?php
echo htmlentities($_SESSION['errmsg']="");?></span>
<form name="admin" method="post">
<div class="row">
<div class="col-md-6">
<label>Enter Username :</label>
<input type="text" name="username" class="form-control" required />
<label>Enter Password :</label>
<input type="password" name="password" class="form-control" required />
<hr />
<button type="submit" name="submit" class="btnbtn-info"><span
class="glyphiconglyphicon-user"></span>&nbsp;Log Me In </button>&nbsp;
</div>
</form>
<div class="col-md-6">
</div>
</div>
</div>
</div>
<!-- CONTENT-WRAPPER SECTION END-->
<?php include('includes/footer.php');?>

<script src="assets/js/jquery-1.11.1.js"></script>
<!-- BOOTSTRAP SCRIPTS -->
<script src="assets/js/bootstrap.js"></script>
</body>
</html>

96
<?php
session_start();
include('includes/config.php');
if(strlen($_SESSION['alogin'])==0)
{
header('location:index.php');
}
else{

if(isset($_POST['submit']))
{
$studentname=$_POST['studentname'];
$studentregno=$_POST['studentregno'];
$password=md5($_POST['password']);
$pincode = rand(100000,999999);
$INSERT = "INSERT Into students (studentName, StudentRegNo, password, pincode)
values ('$studentname','$studentregno','$password','$pincode')";
}
?>

97
<!DOCTYPE html>
<html lang="en">
<head>
<title>Payment Gateway</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
<h2><b>Payment details</b></h2>
<p><b>Price amount for courses</b></p>
<table class="table">
<thead>
<tr>
<th>S.No</th>
<th>Name of the course</th>
<th>Price</th>

</tr>
</thead>
98
<tbody><b>
<tr class="active">
<td>1</td>
<td>Core PHP</td>
<td><a>500</a></td></tr>
<tr class="active">
<td>2</td>
<td>Wordpress</td>
<td><a>600</a></td></tr>
<tr class="active">
<td>3</td>
<td>MYSQL </td>
<td><a>400</a></td></tr>
<tr class="active">
<td>4</td>
<td>JAVA </td>
<td><a >1000</a></td></tr>
<tr class="active">
<td>5</td>
<td>Python </td>
<td><a>900</a></td></tr>
<tr class="active">
<td>6</td>
<td>Oracle </td>
<td><a>1800</a></td></tr>
</tbody>
</table>
</div>
<a href="PayUMoney_form.php" input class="btn-danger" Type="submit"
name="create">Proceed to pay</a>
</body>
</html

RESULT

Thus, the project Online course reservation System was designed and codes are generated and
then it was executed successfully.

99
EX.NO: 6 E-TICKETING-RAILWAY RESERVATION SYSTEM

DATE: 15.03.2021

AIM
The aim of the project is to implement the online railway reservation. This system
enables e-ticketing in an automated and systematic manner.

PROBLEMSTATEMENT

Our project is carried out to develop software for online Railway Reservation System. The
software is coded in VB, which is the front end, and it has Back end, which contains
information about the reservation and the availability of seats in trains. It has various options
like reservation, cancellation and to view details about available seats. Our project mainly
simulates the role of a Railway ticket booking officer, in a computerized way.
The reservation option enables a person to reserve for a ticket at their home itself. All he/ she
has to do is to just login and enter the required details. After this the reservation database is
updated with the person details, train name and also the source and destination place.
The cancellation option enables the passenger to cancel the tickets that has been already
booked by him/her.
The availability option prompts the person to enter train number, train name and date of
travel. After this the availability database is accessed and available positions are produced.

OVERALL DESCRIPTION

The E-Ticketing System is an integrated system that has four modules as part of
it. The four modules are,

1) Viewing Train Details: To view the train details. Details can be viewed by giving the
train number or Source and Destination
2) Checking Availability of Tickets: To view number of tickets available in the train
3) Reservation of Tickets: To enable the users to reserve the tickets easily
4) Cancellation of Tickets: To enable the users to cancel the tickets by giving PNR No

100
USE CASE DIAGRAM

101
CLASS DIAGRAM:

102
SEQUENCE DIAGRAM:

103
COLLABORATION DIAGRAM

DEPLOYMENT DIAGRAM

104
ACTIVITY DIAGRAM

105
COMPONENT DIAGRAM

106
GENEARTED CODE
Dashboard

<?php include('header.php'); ?>

<div class="col-md-12 ">


<div class="slider">
<imgsrc="img/train2.jpg" width="100%" />
</div>
</div>
<?php include('footer.php'); ?>

header.php
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Welcome To Railway Reservation System</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="http://netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css"
rel="stylesheet">
<link rel="stylesheet" href="css/normalize.css">
<link rel="stylesheet" href="css/bootstrap.css">
<link rel="stylesheet" href="css/slicknav.css">
<link rel="stylesheet" href="style.css">
<link rel="stylesheet" href="responsive.css">
<script src="js/vendor/modernizr-2.6.2.min.js"></script>
</head>
<body class="bg">
<div class="container">
<div class="row">
<div class="col-md-12">
<imgsrc="img/rail1.jpg" style="width:98%">
</div>
<div class="col-md-12 mainmenu">
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<ul class="nav navbar-nav">
<li><a href="index.php">Home</a></li>
<li><a href="user/view_schedule.php">Train info</a></li>
<li><a href="user/login.php">User</a></li>
<li><a href="admin/login.php">Admin</a></li>
<li><a href="user/register.php">Sign up</a></li>
</ul>
</div></nav></div>

107
Login page
<?php
include('header.php'); ?>
<?php

include("../dbconnect.php");
session_start();
$flag1=0;$flag2=0;$flag3=0;$flag4=0;
try{
if(!empty($_SESSION['myvar1']))
{
$flag4=1;
throw new Exception("You are logged in as an Admin. Please logout first <a
href='../admin/logout.php' style='color:red'>here</a>");
}
}
catch(Exception $w)
{
$error_message1=$w->getMessage();
}

if(!empty($_SESSION['myvar']))
{
header("location: userhome.php");
}

if(isset($_POST['form_login']))
{

try {
if(empty($_POST['username'])) {
$flag1=1;
108
throw new Exception('Username can not be empty');
}

if(empty($_POST['password'])) {
$flag2=1;
throw new Exception('Password can not be empty');
}

$password = $_POST['password']; // admin


$password = md5($password);

$num=0;

$statement = $db->prepare("SELECT * FROM users WHERE UserName=? AND


UserPass=?");
$statement->execute(array($_POST['username'],$password));

$num = $statement->rowCount();

if($num>0)
{
session_start();
$_SESSION['sid'] = session_id();
$_SESSION['username'] = $_POST['username'];
header("location: userhome.php");
}
else
{
$flag3=1;
throw new Exception('Invalid Username and/or password');
}

catch(Exception $e) {
$error_message = $e->getMessage();
}

?>
<?php if($flag4!=1) {
?>
<div class="col-md-12 forminput">

<form class="form-horizontal" method="post" action="">


<div class="form-group">
<?php if(isset($_POST['form_login']) && $flag3==1){ ?><label class="col-md-12"
style="text-align:center"><?php echo $error_message;?></label><br><?php } ?>

109
<label class="col-sm-3 control-label">UserName</label>
<div class="col-sm-8">
<input type="text" class="form-control" id="inputEmail3" placeholder="Username"
name="username">
<?php if(isset($_POST['form_login']) && $flag1==1){ ?><label><?php echo
$error_message; } ?></label>
</div>
</div>
<div class="form-group">
<label for="inputPassword3" class="col-sm-3 control-label">Password</label>
<div class="col-sm-8">
<input type="password" class="form-control" id="inputPassword3" placeholder="Password"
name="password">
<?php if(isset($_POST['form_login']) && $flag2==1) { ?><label><?php echo
$error_message; } ?></label>
</div>
</div>

<div class="form-group">
<div class="col-sm-offset-3 col-sm-8">
<a><input type="submit" value="LOGIN" name="form_login" /></a>
</div>
</div>
</form>

</div>
<?php }
else {
echo "<h2 style='color:white;text-align:center'>$error_message1</h2>";
} ?>
<?php include('footer.php'); ?>

110
Book train

<?php include('header.php');
require '../dbconnect.php';
session_start();
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}

if(isset($_POST['submit']))
{

$pname=test_input($_POST['pname']);
$date=test_input($_POST['date']);
$seat_no=test_input($_POST['seat_no']);
$train_no=test_input($_POST['TrainNumber']);
}

?>

<script>
function validate_from()
{
var x=document.forms["adform"]["pname"].value;
if(x==null || x=="")
{
alert("Enter your name");
return false;
}
x=document.forms["adform"]["date"].value;
if(x==null || x=="")
{
alert("Enter date");
return false;
}
x=document.forms["adform"]["seat_no"].value;
if(x==null || x=="")
{
alert("Enter seat_no no.");
return false;
}
x=document.forms["adform"]["TrainNumber"].value;
if(x==null || x=="")
{
alert("Enter TrainNumber no.");

111
return false;
}

}
</script>

<div class="col-md-12 forminput">


<form style="margin-top:25px;" name="adform" action="tickets.php" onsubmit="return
validate_from()" method="post" class="form-horizontal" >
<div class="form-group">
<label class="col-sm-3 control-label">Passenger Name</label>
<div class="col-sm-8">
<input type="text" class="form-control" id="inputEmail3" placeholder="Name"
name="pname">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">Train Date</label>
<div class="col-sm-8">
<input type="date" class="form-control" id="inputdate3" <?php
if(!empty($_POST['availdate'])){ ?> value="<?=$_POST['availdate']?>" <?php } ?>
name="date"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">Number of seats</label>
<div class="col-sm-8">
<input type="text" class="form-control" id="inputEmail3" placeholder="Number of seat_no"
name="seat_no">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label" for="sel1">Select Train Name</label>
<div class="col-sm-8" >
<select class="form-control forminpselectform" id="sel1" name="TrainNumber">
<?php if(!empty($_POST['availdate'] && $_POST['trainno'])){ ?><option
value="<?=$_POST['trainno']?>"><?=$_POST['trainname']?><?php } else { ?>
<option value="">Select train Name ....</option>
<?php
$statement = $db->prepare("SELECT * FROM trains");
$statement->execute(array());
$result = $statement->fetchAll(PDO::FETCH_ASSOC);
foreach ($result as $row) {
?>
<option value="<?php echo $row['TrainNumber']; ?>"><?php echo
$row['TrainName'];?></option>
<?php
}
}

112
?>
</select>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-3 col-sm-10">
<a><input type="submit" value="Submit" name="submit" /></a>
</div>
</div>
</form>
</div>
<?php include('../footer.php'); ?>

113
Cancel booking

<?php include('header.php'); ?>

<div class="col-md-12 forminput">

<form action="Ccancel.php" method="post" class="form-horizontal">

<div class="form-group">
<label for="inputEmail3" class="col-sm-3 control-label">PNR number</label>
<div class="col-sm-8">
<input type="text" class="form-control" id="inputEmail3" placeholder="pnr no."
name="pnr">
</div>
<br></br>
<br></br>
<div class="form-group">

<div class="col-sm-offset-3 col-sm-8">


<input type="submit" name="submit" value="Submit">
</div>
</div>
</form>

</div>
</div>
<?php include('../footer.php'); ?>

RESULT:

Thus, the project for E-Ticketing System was designed and codes are generated and thenit
was executed successfully.

114
EX.NO: 7 SOFTWARE PERSONNEL MANAGEMENT SYSTEM
DATE: 22.03.2021

AIM

To analyze, design and develop code for Software Personnel Management System
using StarUML software.
PROBLEM STATEMENT
To create Software Personnel Management System and processes the intersection between
human resource management (HRM) and information technology. The system should merge
HRM as a discipline and in particular its basic HR activities and processes with the
information technology field.

OVERALL DESCRIPTION
The Software Personnel Management System is an integrated system that has four modules
as part of it. The four modules are,
1) Login: To implement security and only the HR is allowed to access the system using is
username and password
2) Adding an Entry: This module is used to insert a new personnel detail
3) Search an Entry: This module is used to search the database with reference to Id
or Designation
4) View an Entry: This module is used to get the detailed information about an personnel

SOFTWARE REQUIRMENTS
 Microsoft Visual Basic 6.0
 StarUML
 Microsoft Access

HARDWARE REQUIRMENTS
 1GB RAM
 Pentium IV Processor
 100 GB HARDDISK

115
USE CASE DIAGRAM

CLASS DIAGRAM

116
SEQUENCE DIAGRAM

117
COLLABORATION DIAGRAM

COMPONENT DIAGRAM

DEPLOYMENT DIAGRAM

118
GENERATED CODE

Form1

Private Sub Command1_Click() Dim a As Boolean


a = False

If (Text1.Text = "admin" And Text2.Text = "admin") Then a = True


Form2.Show
Unload Me
End If

If (a = False) Then
MsgBox ("Enter Correct Username and Password") End If
End Sub

Form2

Private Sub Command1_Click() Form3.Show


Unload Me
End Sub

119
Private Sub Command2_Click() Form4.Show
Unload Me

End Sub

Private Sub Command3_Click() Form5.Show


Unload Me
End Sub

Private Sub Command4_Click() Unload Me


End Sub

Form3

Private Sub Command1_Click()


Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
cn.Open "dsn=Software" rs.ActiveConnection = cn
With rs
.CursorType = adOpenStatic
.CursorLocation = adUseClient
.LockType = adLockOptimistic
.Open "select * from Details" End With
With rs

120
.AddNew
.Fields(0) = Val(Text1.Text)
.Fields(1) = Text2.Text
If (Option1 = True) Then
.Fields(2) = Option1.Caption
End If
If (Option2 = True) Then
.Fields(2) = Option2.Caption
End If
.Fields(3) = Val(Text3.Text)
.Fields(4) = Text4.Text
.Fields(5) = Text5.Text
.Fields(6) = Text6.Text

.Update End With Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = ""
Text5.Text = "" Text6.Text = "" Option1 = False Option2 = False End Sub
Form4

Private Sub

Command1_Click()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim a As Boolean a = False

cn.Open "dsn=software" rs.ActiveConnection = cn

With rs
.CursorType = adOpenStatic
.CursorLocation = adUseClient
.LockType = adLockOptimistic
.Open "select * from Details" End With

rs.MoveFirst
While Notrs.EOF
If (Val(Text1.Text) = rs(0)) Then Text3.Text = Text3.Text + rs(1) + ", " Text3.Text =
Text3.Text + rs(2) + ", " Text3.Text = Text3.Text + Str$(rs(3)) + ", " Text3.Text =

121
Text3.Text + rs(4) + ", " Text3.Text = Text3.Text + rs(5) + ", " Text3.Text = Text3.Text +
rs(6) + ", "
a = True End If rs.MoveNext Wend
If (a = False) Then
MsgBox ("Enter correct Employee ID") End If
Text1.Text = ""
End Sub

Private Sub Command2_Click()


Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim a As Boolean
a = False
cn.Open "dsn=software" rs.ActiveConnection = cn

With rs
.CursorType = adOpenStatic
.CursorLocation = adUseClient
.LockType = adLockOptimistic
.Open "select * from Details" End With
rs.MoveFirst
While Notrs.EOF
If (Text2.Text = rs(4)) Then
Text3.Text = Text3.Text + Str$(rs(0)) + ", " Text3.Text = Text3.Text + rs(1) + ", "
Text3.Text = Text3.Text + rs(2) + ", "
Text3.Text = Text3.Text + Str$(rs(3)) + ", " Text3.Text = Text3.Text + rs(5) + ", "
Text3.Text = Text3.Text + rs(6) + ". "
a = True

End If
rs.MoveNext
Wend
If (a = False) Then
MsgBox ("Enter correct Designation") End If
Text2.Text = ""
End Sub

Private Sub Command3_Click() Form2.Show


Unload Me
End Sub
Form5

122
Private Sub Command1_Click()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim a As Boolean a = False
cn.Open "dsn=software" rs.ActiveConnection = cnWithrs
.CursorType = adOpenStatic
.CursorLocation = adUseClient
.LockType = adLockOptimistic
.Open "select * from Details" End With
rs.MoveFirst
While Notrs.EOF
If (Val(Text1.Text) = rs(0)) Then
Text2.Text = rs(1) Text3.Text = rs(2) Text4.Text = rs(3) Text5.Text = rs(4) Text6.Text =
rs(5) Text7.Text = rs(6)
a = True End If rs.MoveNext Wend
If (a = False) Then
MsgBox ("Enter correct ID") End If
End Sub

RESULT

Thus, the project for Software Personnel management System was designed and codes are
generated and then it was executed successfully.

123
EX.NO: 8 CREDIT CARD PROCESSING SYSTEM
DATE: 25.03.2021

AIM

To analyze, design and develop code for Credit Card Processing System using
StarUML software.

PROBLEM STATEMENT
We envision a banking system that provides the customer holing a bank credit card can make
deposits, withdraws, check balances and perform transfer to and from their accounts. Credit
card processing will be attractive to banking customer because they allow access to their
accounts outside of regular business hours.
Participating Banks want to make sure the access to their customer account information is
safe and secure transaction information is accurate and reliable. Bank Customer-Want easy,
low-cost, remote access to their accounts, but want to be assuredthat their accounts are
secure and not accessible to hackers or other their parties.
Bank must be able to handle multiple simultaneous transactions (and possible simultaneous
transaction to the same joint account). Bank owning a credit card must be able to determine
the cash on hand in the creditcard. The cash in the creditcard must be secure.

OVERALL DESCRIPTION
The Credit Card Processing System is an integrated system that has four modules as part of it.
The four modules are,
1) User Login: Using this module user login to the system using his/her unique username
and password
2) Withdraw: The purpose of this module to withdraw money from the account
3) Deposit: The purpose of this module to deposit money to the account
4) Balance Enquiry: Using this module the user can check his/her account balance and the
loan amount to pay if any.

SOFTWARE REQUIRMENTS
● Microsoft Visual Basic 6.0
● StarUML
● Microsoft Access

HARDWARE REQUIRMENTS
● 1GB RAM
● Pentium IV Processor
● 100 GB HARDDISK

STRUCTURE OF DATABASE

S.NO FIELD TYPE SIZE

1. creditcard text

2. password integer

124
S.NO FIELD TYPE SIZE

1. bankno integer

2. amount integer

ANALYSIS MODELING
The project can be explained diagrammatically using the following diagrams:

USE CASE DIAGRAM

CLASS DIAGRAM

125
SEQUENCE DIAGRAM

COLLABORATION DIAGRAM

126
COMPONENT DIAGRAM

DEPLOYMENT DIAGRAM

PACKAGE DIAGRAM

127
GENERATED CODE

login:

Private Sub cmdOK_Click()


'check for correct password
If txtPassword = "user" Then
'place code to here to pass the
'success to the calling sub
'setting a global var is the easiest
LoginSucceeded = True
Me.Hide
Form2.Show

Else

If txtPassword = "admin" Then


'place code to here to pass the
'success to the calling sub
'setting a global var is the easiest
LoginSucceeded = True
Me.Hide
Form2.Show
Else

128
Form1:

Private Sub ok_Click()


'check for correct password
If pin = "2089" And cno = "2089" Then
'place code to here to pass the
'success to the calling sub
'setting a global var is the easiest
LoginSucceeded = True
Me.Hide
Form3.Show

Else
If pin = "1234" And cno = "1234" Then
'place code to here to pass the
'success to the calling sub
'setting a global var is the easiest
LoginSucceeded = True
Me.Hide
Form3.Show
Else
MsgBox "Invalid pinno, try again!", , "Login"
pin.SetFocus
SendKeys "{Home}+{End}"
End If
End If
End Sub

129
FORM2:

Private Sub enter_Click()


If tamt<= 1580 Then
MsgBox "transaction succeded"
Else
MsgBox "amount not available"
End If
End Sub

RESULT:

Thus, the project for Credit Card Processing System was designed and codes are generated and then it
was executed successfully.

130
Ex.No: 9 E-BOOK MANAGEMENT SYSTEM
Date: 09.04.2021
AIM

To analyze, design and develop code for E-Book Management system using StarUML
Software.
PROBLEM STATEMENT
To create an E-Book Management system software that will meet the needs of the customer
and help them in registering for the book bank, enquiry about the issue of book, return book
and available books.

OVERALL DESCRIPTION
The E-Book Management System is an integrated system that has four modules as part of it.
The four modules are,
1) Add Book Details: In this module, the user can enter details about new book.
2) Edit Book Details: In this module, the user can edit details about any book.
3) View Book Details: In this module, the user can view details about books.
4) Search Book Details: In this module, the user can search details about books by Author
andId

SOFTWARE REQUIRMENTS
 Microsoft Visual Basic 6.0
 StarUML
 Microsoft Access

HARDWARE REQUIRMENTS
● 1GB RAM
● Pentium IV Processor
● 100 GB HARDDISK

131
USE CASE DIAGRAM

132
CLASS DIAGRAM

133
SEQUENCE DIAGRAM

134
COLLABORATION DIAGRAM

135
COMPONENT DIAGRAM

DEPLOYMENT DIAGRAM

136
ACTIVITY
DIAGRAM

137
PACKAGE DAIGRAM

STATE CHART DAIGRAM:

138
GENERATED CODE
Login Page:

<?php
$con=mysqli_connect("localhost","root","","ebook");
if(!$con)
{
die('connection failed');
}
if(isset($_POST['login']))
{
$username=$_POST['username'];
$password=$_POST['password'];
$sql="SELECT Role FROM userdetails WHERE Username='$username' AND
Password='$password'";
$result1=mysqli_query($con,$sql);
if(mysqli_num_rows($result1)==0)
{
echo '
<script type="text/javascript">

139
alert("Invalid username/password");

</script>';
}
else{
$Role=mysqli_fetch_assoc($result1);
$f=strcmp($Role["Role"],"user");
if($f==0)
{
header('location: user_home.php');
}
else
{
header('location: Untitled-1.html');
}
}
}
?>

<html>
<head>
<meta charset="utf-8">
<title>Login</title>
<link rel="stylesheet" href="jstyle.css">
<script type="text/javascript">
function validate()
{
var x=document.a.name.value;
var y=document.a.password.value;
if(x == "" )
{
alert( "Please provide valid email or password" );
document.a.username.focus() ;
return false;
}
if(y == "" )
{

140
alert( "Please provide valid username or password" );
document.a.password.focus() ;
return false;
}
}
</script>
</head>
<body>
<img src="https://encrypted-
tbn0.gstatic.com/images?q=tbn:ANd9GcSg2OZBPVysdv89dI8048-
HaYmZ6O_IX1zvIM_HDYPGxB62TTxvDD2dhRADDWJ4F8ROA70&usqp=CAU"
width="500px" height="500px">
<form action="admin_login.php" method="post" name="a" class="container"
onsubmit="return (validate())">

<h1>LOGIN</h1>
<img src="https://encrypted-
tbn0.gstatic.com/images?q=tbn:ANd9GcSWe2bYcvPp0DN8piwNqDU8yO2hKG-
mxkomGzaY4h5qpH1mGJdYdEmWWr28qrDjID0TmUQ&usqp=CAU" width="140px"
height="155px" alt="">
<hr />
<h4>Welcome</h4>
<p><input type="text" name="username" id="username" placeholder="Username"></p>
<p><input type="password" name="password" id="password"
placeholder="Password"></p>
<p><button type="submit" name="login" id="button"
value="Login">LOGIN</button></p><br>
<div class="signup_link">
New User ??&nbsp;<a href="signup.html">Signup</a>
</div>
</form>
</body>
</html>

User-side home page:


<html>
<body>

141
<nav class="navbar navbar-toggleable-md navbar-light bg-warning">
<button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse"
data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-
expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="user_home.php">Home </a>
</li>
<li class="nav-item">
<a class="nav-link" href="cart.php">My Cart</a>
</li>
<li class="nav-item">
<a class="nav-link" href="myorder.html">My Downloads</a>
</li>
</ul>
</div>
</nav>
<br>
<form action="displaybooks.php" method="get" class="form-inline my-2 my-lg-0">
<input name="search" class="form-control mr-sm-2" type="text" placeholder="Search
Book">
<button style="background-color:#ffc107" class="btnbtn-outline-success my-2 my-sm-0"
type="submit">Search</button>
</form>
<h1 style="font-size:100px">Welcome !!!</h1>
<h1>Here are the list of books you can download !</h1>
<h1>You can add to cart and download from there</h1>
<br>
<br>
</body>
</html>
<?php
$con=mysqli_connect("localhost","root","","ebook");

142
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " .mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT * FROM bookdetail");
echo "<table border='1'>
<tr>
<th>Image of the book</th>
<th>Book Name</th>
<th>Book Description</th>
<th>Book Price</th>
<th>Add to Cart</th>
</tr>";
while($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td>".'<imgsrc='.$row['ImageURL'].' width="200" height="200">'."</td>";
echo "<td>" . $row['BookName'] . "</td>";
echo "<td>" . $row['BookDescription'] . "</td>";
echo "<td>" . $row['BookPrice'] . "</td>";
echo "<td><a href='cart.php?BookName=".$row['BookName']."'><span class='material-
icons'>shopping_cart</span></a></td>";
}
echo "</table>";
mysqli_close($con);
?>

143
User cart:

144
Payment Page:
<html>
<head>
</head>
<body>
<center><h1>Payment QR CODE here</h1></center>
<br>
<br>
<center><imgsrc="paytm.jpeg" onclick="pay()" width="230px" height="400px"><p>Pay to
Mr. MOHAMED SAYHANUDDIN N</p></center>
<br><center>
<a href="after_payment.php"><input type="button" id="next" value="Payment Done
Succesfully! Proceed to Download" style="visibility:hidden;"></a></center>
<script>
pay = function () {
document.getElementById('next').style.visibility="visible";
}
</script>
</body>
</html>

145
User Downloads:

Admin-side Home:
<!DOCTYPE html>
<html lang="en">
<body>
<nav class="navbar navbar-toggleable-md navbar-light bg-warning">

146
<button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse"
data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-
expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="#">Home </a>
</li>
<li class="nav-item">
<a class="nav-link" href="product.php">Products</a>
</li>
<li class="nav-item">
<a class="nav-link" href="Admin_orders.html">Downloads</a>
</li>
</ul>
</div>
</nav>
<h1 style="font-size:80px"> WELCOME ADMIN! </h1>
<h1 style="font-size: 60px">This site is for you to maintain, add or edit the books and you
can see the number of downloads</h1>
<center><button style="background-color: #ffc107; color: white; width: 200px; height:
50px" ><a style="color: black" href="reports.html">Reports</a></button>
</center>
<br>
<center><button style="background-color:#ffc107; padding: 15px 32px;"><a
style="color:black" href="product.php">
Products</a></button>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb
sp;<button style="background-color:#ffc107; padding: 15px 32px;"><a style="color:black"
href="Admin_orders.html"> Downloads</a></button></center>
</body>
</html>

147
Admin-Products:
<html>
<body>
<nav class="navbar navbar-toggleable-md navbar-light bg-warning">
<button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse"
data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-
expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>

<div class="collapse navbar-collapse" id="navbarSupportedContent">


<ul class="navbar-nav mr-auto">
<li class="nav-item">
<a class="nav-link" href="Untitled-1.html">Home </a>
</li>
<li class="nav-item active">
<a class="nav-link" href="#">Products</a>
</li>
<li class="nav-item">
<a class="nav-link" href="Admin_orders.html">Downloads</a>
</li>
</ul>

148
</div>
</nav>
<br><br><br><br>
<center><img src="https://www.seekpng.com/png/detail/134-1344280_add-items-to-cart-
minimalist-shopping-cart.png" width="250" height="200"></center>
<br><center><button class="button"><a style="color:black" href="add_product.php">Add
Book</a></button></center>
<br><br><br><br>
<center><h1>AVAILABLE BOOKS !!</h1></center><br><br>
<?php
$con=mysqli_connect("localhost","root","","ebook")
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " .mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT * FROM bookdetail");
echo "<table border='1'>
<tr>
<th>Image of the book</th>
<th>Book Name</th>
<th>Book Description</th>
<th>Book Price</th>
<th>Edit</th>
<th>Delete</th>
</tr>";
while($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td>".'<imgsrc='.$row['ImageURL'].' width="200" height="200">'."</td>";
echo "<td>" . $row['BookName'] . "</td>";
echo "<td>" . $row['BookDescription'] . "</td>";
echo "<td>" . $row['BookPrice'] . "</td>";
echo "<td><a href='edit_product.php?id=".$row['BookName']."'><span class='material-
icons'>create</span></a></td>";
//echo "<td><a href='edit.php?id=".$row['Id']."'>Change Status</a></td>";
echo "<td><a href='delete-process.php?BookName=".$row['BookName']."'><span
class='material-icons'>delete</span></a></td>";

149
}
echo "</table>";
mysqliclose($con);
?>
</html>

Add Books:
<?php
$con=mysqli_connect('localhost','root','','ebook');
if(!$con)
{
die('connection failed');
}

if(isset($_POST['add']))
{
$ImageURL=$_POST['ImageURL'];
$BookName=$_POST['BookName'];
$BookDescription=$_POST['BookDescription'];
$BookPrice=$_POST['BookPrice'];

150
$sql="INSERT INTO bookdetail
value('$ImageURL','$BookName','$BookDescription','$BookPrice')";
$result=mysqli_query($con,$sql);

}
?>

<!DOCTYPE html>
<html lang="en">
<body>
<section class="container">
<div class="image1">
<imgsrc="./img/book3.png" alt="" width="300px" height="300px">
</div>
<section class="row justify-content-end">
<section class="col-12 col-sm-6 col-md-3">
<form method="post" action="add_product.php" class="form-container">
<div class="mb-1" id="title">
<p>ADD A NEW BOOK</p>
</div>

<div class="mb-3">
<input type="text" class="form-control" name="ImageURL" id="exampleInputEmail1"
placeholder="ImageURL">
</div>
<div class="mb-3">
<input type="text" class="form-control" name="BookName" id="exampleInputPassword1"
placeholder="BookName">
</div>
<div class="mb-3">
<input type="textarea" class="form-control" name="BookDescription"
id="exampleInputPassword1" placeholder="BookDescription">
</div>
<div class="mb-3">
<input type="text" class="form-control" name="BookPrice" id="exampleInputPassword1"
placeholder="BookPrice">

151
</div>

<button type="submit" class="btnbtn-sm" id="button" name="add">Add</button>


</form>
</section>
</section>
</section>
</body>
</html>

Books Downloaded reports:

152
User Downloads- Admin side:

RESULT

Thus, the project for E- book management System was designed and codes are generated and
thenit was executed successfully.
153
EX.NO: 10 RECRUITMENT SYSTEM
DATE: 16.04.2021

AIM

To analyze, design and develop code for Recruitment System using StarUML software

PROBLEM STATEMENT

The Recruitment System is used to process the applicant easily. It also contains search
filters to filter the applicants based on age, gender, experience, skills etc.

It is mainly used by HR personnel in corporates to efficiently analyze the applications

PROBLEM ANALYSIS

·In this pandemic situation there are more freshers who are graduating and are left jobless.
This system helps various recruiters to select eligible applicants seeking job.

·This system adopts a comprehensive approach to minimize the manual work and
schedule resources, time in a cogent manner.

·The core of the system is to get the online registration form (with details such as name,
address etc.,) filled by the applicant whose testament is verified for its correctness by the
HR System with respect to the already existing information in the database.

·After checking technical knowledge with round 1, round 2 and group discussion all the
eligible applicants who have passed the tests they will receive the confirmation followed by
the issue of appointment order.

INTRODUCTION

Companies are in more need of skills in this age of rapid progress. In this situation, a
recruitment system arose. Users can register in the system as a job seeker, employer, or
manager, and then use the system's functionalities based on their own needs or permissions.
According to the survey and study, the Recruitment system contains basic modules such as
Job searching, recruitment, managing.

PURPOSE

A recruitment system is a software application that employers use to effectively and


efficiently manage their recruitment processes and candidate flow. It allows you to create and
store a database of candidates, manage and publish vacancies, process applications, invite and
reject applicants, and more.

• The System provides an online interface to the user where they can fill in their personal
details

154
• The authority concerned with the interview process can use this system to reduce his
Workload.

• Provide a communication platform between the applicant and the administrator.

USER CHARACTERISTICS:

The Recruitment system is an integrated system that has three modules as part of it. The
three modules are,

1) Register: In this module, the user can register his/her details to use in the system.

2) Search Jobs: In this module, the user can search jobs.

3) Apply Jobs: In this module, the user can apply for jobs.

HARDWARE AND SOFTWARE REQUIREMENT SPECIFICATION :

Hardware

 Processor: Intel core processor 2 GHz


 RAM: 2 GB RAM
 Hard Disk: 80 GB HDD

Software

 Frontend: HTML, CSS, javascript


 Package: Adobe Dreamweaver
 Database: MY SQL
 Diagram: Star UML
 APACHE Server
 MYSQL Server
 IE (Version 6 or higher)

STRUCTURE OF DATABASE:

Applicant object: applicant

Create a table <applicant> using Mysql with the following attributes:

S.NO FIELD TYPE SIZE

1 Name String

2 Age integer

155
3 Password String

4 Phone _no integer

5 Address string

HR object: hr

Create a table <hr> using Mysql with the following attributes:

S.NO FIELD TYPE SIZE

1 applicant_name String

2 Phone_no Integer

Admin object: admin

Create a table <admin> using Mysql with the following attributes:

S.NO FIELD TYPE SIZE

1 name string

2 address string

USE CASE DIAGRAM:

Use case diagrams are provided by UML to show the names of use cases and the author
relationships between them. In use case work, the use case diagram and case relationship are
secondary to the use case written document.
156
CLASS DIAGRAM:

The main static analysis diagram is the class diagram, commonly known as object modeling.
Object modeling's major goal is to visually depict what each object will perform in the
problem area. The structure and relationships among things are described by the problem
domain.

157
COMPONENT DIAGRAM

Component diagrams are used to visualize the organization and relationships among
components in a system.

DEPLOYMENT DIAGRAM:

158
Deployment diagrams are used to visualize the topology of the physical
components of a system where the software components are deployed.

ACTIVITY DIAGRAM

The activity diagram shows the activity of the process where first login was done when the
user is valid then the welcome page appears. Here fork is used where two transaction lines
may be obtained from a search book and online reading.

159
SEQUENCE DIAGRAM

A sequence diagram represents the sequence and interactions of a given USE-CASE or


scenario. Sequence diagrams can capture most of the information about the system. Most
object-to-object interactions and operations are considered events and events include
signals, inputs, decisions, interrupts, transitions and actions to or from users or external
devices. An event also is considered to be any action by an object that sends information.
The event line represents a message sent from one object to another, in which the “form”
object is requesting an operation be performed by the “to” object.

COLLABORATION DIAGRAM

Collaboration diagrams illustrate that object interact on a graph or network format in which
objects can be placed where in the diagram. In a collaboration diagram the object can be
placed anywhere on the diagram. The collaboration comes from a sequence diagram.

160
STATE MACHINE DIAGRAM

States of objects are represented as a rectangle with a round corner, the transaction between
the different states. A transition is a relationship between two states that indicates that when
an event occurs the object moves from the prior state to the subsequent.

PACKAGE DIAGRAM

The arrangement and organization of model pieces in a moderate to large scale project is
shown in a package diagram, which is a type of structural diagram. Package diagrams can
display both structure and dependencies between subsystems or modules, as well as distinct
perspectives on a system, such as a multi-layered (also known as multi-tiered) application -
multi-layered application model.

161
GENERATED CODE

162
<body id="page-top" data-new-gr-c-s-check-loaded="14.1015.0" data-gr-ext-installed="">
<!-- Navigation-->
<div class="toast" id="alert_toast" role="alert" aria-live="assertive" aria-atomic="true">
<div class="toast-body text-white">
</div>
</div>
<nav class="navbar navbar-expand-lg navbar-light fixed-top py-3 navbar-scrolled"
id="mainNav">
<div class="container">
<a class="navbar-brand js-scroll-trigger" href="./">Recruitment Management System</a>
<button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse"
data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false"
aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span></button>
<div class="collapse navbar-collapse" id="navbarResponsive">
<ul class="navbar-nav ml-auto my-2 my-lg-0">
<li class="nav-item"><a class="nav-link js-scroll-trigger"
href="index.php?page=home">Home</a></li>
<li class="nav-item"><a class="nav-link js-scroll-trigger"
href="index.php?page=about">About</a></li>

</ul>
</div>
</div>
</nav>

<style>
#portfolio .img-fluid{
width: calc(100%);
height: 30vh;
z-index: -1;
position: relative;
padding: 1em;
}
.vacancy-list{
cursor: pointer;
}
span.hightlight{
background: yellow;
}
</style>
<header class="masthead">
<div class="container-fluid h-100">
<div class="row h-100 align-items-center justify-content-center text-center">
<div class="col-lg-8 align-self-end mb-4 page-title">
<h3 class="text-white">Welcome to Recruitment Management System</h3>
<hr class="divider my-4">
<div class="col-md-12 mb-2 text-left">
<div class="card">
<div class="card-body">

163
<h4 class="text-center">Find Vacancies</h4>
<div class="form-group">
<div class="input-group">
<input type="text" class="form-control" id="filter">
<div class="input-group-append">
<span class="input-group-text"><svg class="svg-inline--fa fa-search fa-w-16" aria-
hidden="true" focusable="false" data-prefix="fa" data-icon="search" role="img"
xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" data-fa-i2svg=""><path
fill="currentColor" d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7
44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-
44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-
34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0
70.7-57.2 128-128 128z"></path></svg><!-- <i class="fa fa-search"></i> --></span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

</div>
</div>
</header>
<section id="list">
<div class="container mt-3 pt-2">
<h4 class="text-center">Vacancy List</h4>
<hr class="divider">
<div class="card vacancy-list" data-id="2">
<div class="card-body">
<h3><b class="filter-txt">WEB DEVELOPER</b></h3>
<span><small>Needed: 10</small></span>
<hr>
<larger class="truncate filter-txt">URGENT HIRING!!Our company is looking for 10 new
Web developer.Requirements:PHPKnowledgeable,Wordpress Knowledgeable,node.js
Knowledgeable,reactjsKnowledgeable,MySQL Knowledgeable,</larger>
<br>
<hr class="divider" style="max-width: calc(80%)">

</div>
</div>
<br>
<div class="card vacancy-list" data-id="3">
<div class="card-body">
<h3><b class="filter-txt">Sample</b></h3>
<span><small>Needed: 20</small></span>
</div>
</section>

164
<script>
$('.card.vacancy-list').click(function(){
location.href = "index.php?page=view_vacancy&id="+$(this).attr('data-id')
})
$('#filter').keyup(function(e){
var filter = $(this).val()

$('.card.vacancy-list .filter-txt').each(function(){
var txto = $(this).html();
txt = txto
if((txt.toLowerCase()).includes((filter.toLowerCase())) == true){
$(this).closest('.card').toggle(true)
}else{
$(this).closest('.card').toggle(false)

}
})
})
</script>

<div class="modal fade" id="confirm_modal" role="dialog">


<div class="modal-dialog modal-md" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Confirmation</h5>
</div>
<div class="modal-body">
<div id="delete_content"></div>
</div>
<div class="modal-footer">
<button type="button" class="btnbtn-primary" id="confirm" onclick="">Continue</button>
<button type="button" class="btnbtn-secondary" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<div class="modal fade" id="uni_modal" role="dialog">
<div class="modal-dialog modal-md" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title"></h5>
</div>
<div class="modal-body">
</div>
<div class="modal-footer">
<button type="button" class="btnbtn-primary" id="submit" onclick="$('#uni_modal
form').submit()">Save</button>
<button type="button" class="btnbtn-secondary" data-dismiss="modal">Cancel</button>
</div>
</div>

165
</div>
</div>
<div class="modal fade" id="uni_modal_right" role="dialog">
<div class="modal-dialog modal-full-height modal-md" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title"></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<svg class="svg-inline--fa fa-arrow-righ fa-w-16 t" aria-hidden="true" focusable="false"
data-prefix="fa" data-icon="arrow-righ" role="img" xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 512 512" data-fa-i2svg=""><g><path fill="currentColor" d="M156.5,447.7l-
12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z
M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z
M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z
M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5
L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-
37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-
56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-
32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-
21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-
5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-
12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-
1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-
29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z
M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z
M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z
M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-
11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-
34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"></path><circle fill="currentColor"
cx="256" cy="364" r="28"><animate attributeType="XML" repeatCount="indefinite"
dur="2s" attributeName="r" values="28;14;28;28;14;28;"></animate><animate
attributeType="XML" repeatCount="indefinite" dur="2s" attributeName="opacity"
values="1;0;1;1;0;1;"></animate></circle><path fill="currentColor" opacity="1"
d="M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-
40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-
17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-
77.4,107.8C275.7,306.6,270.3,312,263.7,312z"><animate attributeType="XML"
repeatCount="indefinite" dur="2s" attributeName="opacity"
values="1;0;0;0;0;1;"></animate></path><path fill="currentColor" opacity="0"
d="M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-
5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"><animate
attributeType="XML" repeatCount="indefinite" dur="2s" attributeName="opacity"
values="0;0;1;1;0;0;"></animate></path></g></svg><!-- <span class="fa fa-arrow-righ
t"></span> -->
</button>
</div>
<div class="modal-body">
</div>
</div>
</div>

166
</div>

<footer class="bg-light py-5">


<div class="container">
<div class="row justify-content-center">
<div class="col-lg-8 text-center">
<h2 class="mt-0">Contact us</h2>
<hr class="divider my-4">
</div>
</div>
<div class="row">
<div class="col-lg-4 ml-auto text-center mb-5 mb-lg-0">
<svg class="svg-inline--fa fa-phone fa-w-16 fa-3x mb-3 text-muted" aria-hidden="true"
focusable="false" data-prefix="fas" data-icon="phone" role="img"
xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" data-fa-i2svg=""><path
fill="currentColor" d="M493.4 24.6l-104-24c-11.3-2.6-22.9 3.3-27.5 13.9l-48 112c-4.2 9.8-
1.4 21.3 6.9 28l60.6 49.6c-36 76.7-98.9 140.5-177.2 177.2l-49.6-60.6c-6.8-8.3-18.2-11.1-28-
6.9l-112 48C3.9 366.5-2 378.1.6 389.4l24 104C27.1 504.2 36.7 512 48 512c256.1 0 464-
207.5 464-464 0-11.2-7.7-20.9-18.6-23.4z"></path></svg><!-- <i class="fas fa-phone fa-3x
mb-3 text-muted"></i> -->
<div>+6948 8542 623</div>
</div>
<div class="col-lg-4 mr-auto text-center">
<svg class="svg-inline--fa fa-envelope fa-w-16 fa-3x mb-3 text-muted" aria-hidden="true"
focusable="false" data-prefix="fas" data-icon="envelope" role="img"
xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" data-fa-i2svg=""><path
fill="currentColor" d="M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-
26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4
56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256
320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-
18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6
23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z"></path></svg><!-- <i class="fas
fa-envelope fa-3x mb-3 text-muted"></i> -->
<!-- Make sure to change the email address in BOTH the anchor text and the link target
below!-->
<a class="d-block" href="mailto:info@sample.com">info@sample.com</a>
</div>
</div>
</div>
<br>
<div class="container"><div class="small text-center text-muted">Copyright © 2020 -
Recruitment Management System | <a href="https://www.sourcecodester.com/"
target="_blank">Sourcecodester</a></div></div>
</footer>

<style>
.modal-dialog.large {
width: 80% !important;
max-width: unset;
}

167
.modal-dialog.mid-large {
width: 50% !important;
max-width: unset;
}
</style>
<script>
$('.datepicker').datepicker({ format:"yyyy-mm-dd" })

window.start_load = function(){
$('body').prepend('<di id="preloader2"></di>')
}
window.end_load = function(){
$('#preloader2').fadeOut('fast', function() {
$(this).remove();
})
}

window.uni_modal = function($title = '' , $url='',$size=''){


start_load()
$.ajax({
url:$url,
error:err=>{
console.log()
alert("An error occured")
},
success:function(resp){
if(resp){
$('#uni_modal .modal-title').html($title)
$('#uni_modal .modal-body').html(resp)
if($size != ''){
$('#uni_modal .modal-dialog').addClass($size)
}else{
$('#uni_modal .modal-dialog').removeAttr("class").addClass("modal-dialog modal-md")
}
$('#uni_modal').modal({
show:true,
backdrop:'static',
keyboard:false,
focus:true
})
end_load()
}
}
})
}
window.uni_modal_right = function($title = '' , $url=''){
start_load()
$.ajax({
url:$url,
error:err=>{

168
console.log()
alert("An error occured")
},
success:function(resp){
if(resp){
$('#uni_modal_right .modal-title').html($title)
$('#uni_modal_right .modal-body').html(resp)

$('#uni_modal_right').modal('show')
end_load()
}
}
})
}
window.alert_toast= function($msg = 'TEST',$bg = 'success'){
$('#alert_toast').removeClass('bg-success')
$('#alert_toast').removeClass('bg-danger')
$('#alert_toast').removeClass('bg-info')
$('#alert_toast').removeClass('bg-warning')

if($bg == 'success')
$('#alert_toast').addClass('bg-success')
if($bg == 'danger')
$('#alert_toast').addClass('bg-danger')
if($bg == 'info')
$('#alert_toast').addClass('bg-info')
if($bg == 'warning')
$('#alert_toast').addClass('bg-warning')
$('#alert_toast .toast-body').html($msg)
$('#alert_toast').toast({delay:3000}).toast('show');
}
window.load_cart = function(){
$.ajax({
url:'admin/ajax.php?action=get_cart_count',
success:function(resp){
if(resp> -1){
resp = resp>0 ?resp : 0;
$('.item_count').html(resp)
}
}
})
}
$('#login_now').click(function(){
uni_modal("LOGIN",'login.php')
})
$(document).ready(function(){
load_cart()
$('#preloader').fadeOut('fast', function() {
$(this).remove();
})

169
})
</body>

<?php include 'admin/db_connect.php' ?>

<?php
$qry = $conn->query("SELECT * FROM vacancy where id=".$_GET['id'])->fetch_array();
foreach($qry as $k =>$v){
$$k = $v;
}
?>
<div class="container-fluid">
<form id="manage-application">
<input type="hidden" name="id" value="">
<input type="hidden" name="position_id" value="<?php echo $_GET['id'] ?>">
<div class="col-md-12">
<div class="row">
<h3>Application Form for <?php echo $position ?></h3>
</div>
<hr>
<div class="row form-group">
<div class="col-md-4">
<label for="" class="control-label">Last Name</label>
<input type="text" class="form-control" name="lastname" required="">
</div>
<div class="col-md-4">
<label for="" class="control-label">First Name</label>
<input type="text" class="form-control" name="firstname" required="">
</div>
<div class="col-md-4">

170
<label for="" class="control-label">Middle Name</label>
<input type="text" class="form-control" name="middlename" required="">
</div>
</div>
<div class="row form-group">
<div class="col-md-4">
<label for="" class="control-label">Gender</label>
<select name="gender" id="" class="custom-select browser-default">
<option>Male</option>
<option>Female</option>
</select>
</div>
<div class="col-md-4">
<label for="" class="control-label">Email</label>
<input type="email" class="form-control" name="email" required="">
</div>
<div class="col-md-4">
<label for="" class="control-label">Contact</label>
<input type="text" class="form-control" name="contact" required="">
</div>
</div>
<div class="row form-group">
<div class="col-md-7">
<label for="" class="control-label">Address</label>
<textarea name="address" id="" cols="30" rows="3" required class="form-
control"></textarea>
</div>
</div>
<div class="row form-group">
<div class="col-md-7">
<label for="" class="control-label">Cover Letter</label>
<textarea name="cover_letter" id="" cols="30" rows="3" placeholder="(Optional)"
class="form-control"></textarea>
</div>
</div>
<div class="row form-group">
<div class="input-group col-md-4 mb-3">
<div class="input-group-prepend">
<span class="input-group-text" id="">Resume</span>
</div>
<div class="custom-file">
<input type="file" class="custom-file-input" id="resume"
onchange="displayfname(this,$(this))" name="resume"
accept="application/msword,text/plain, application/pdf">
<label class="custom-file-label" for="resume">Choose file</label>
</div>

</div>
</div>
</div>

171
</form>
</div>

<script>
function displayfname(input,_this) {
if (input.files&&input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
console.log(input.files[0].name)
_this.siblings('label').html(input.files[0].name);
}

reader.readAsDataURL(input.files[0]);
}
}
$(document).ready(function(){
$('#manage-application').submit(function(e){
e.preventDefault()
start_load()
$.ajax({
url:'admin/ajax.php?action=save_application',
data: new FormData($(this)[0]),
cache: false,
contentType: false,
processData: false,
method: 'POST',
type: 'POST',
error:err=>{
console.log(err)
},
success:function(resp){
if(resp == 1){
alert_toast('Application successfully submitted.','success')
setTimeout(function(){
location.reload()
},1000)
}
}
})

})
})
</script>

172
<?php include('db_connect.php');?>
<?php
$qry = $conn->query("SELECT * FROM vacancy ");
while($row=$qry->fetch_assoc()){
$pos[$row['id']] = $row['position'];
}
$pid = 'all';
if(isset($_GET['pid']) && $_GET['pid'] >= 0){
$pid = $_GET['pid'];
}
$position_id = 'all';
if(isset($_GET['position_id']) && $_GET['position_id'] >= 0){
$position_id = $_GET['position_id'];
}
?>
<div class="container-fluid">

<div class="col-lg-12">
<div class="row">

<!-- Table Panel -->


<div class="col-lg-8">
<div class="card">
<div class="card-header">
<div class="row">
<div class="col-lg-12">
<span><large><b>Application List</b></large></span>
<button class="btnbtn-smbtn-block btn-primary btn-sm col-md-2 float-right" type="button"
id="new_application"><i class="fa fa-plus"></i> New Applicant</button>
</div>

173
</div>

</div>
<div class="card-body">
<div class="row">
<div class="col-lg-12">
<div class="row">
<div class="col-md-2 offset-md-2 text-right">Position :</div>
<div class="col-md-5">
<select name="" class="custom-select browser-default select2" id="position_filter">
<option value="all" <?php echo isset($position_id) && $position_id == "all" ? "selected" : ''
?>>All</option>
<?php foreach($pos as $k => $v): ?>
<option value="<?php echo $k ?>" <?php echo isset($position_id) && $position_id == $k ?
"selected" : '' ?>><?php echo $v ?></option>
<?php endforeach; ?>
</select>
</div>
</div>
</div>
</div>
<hr><br>
<table class="table table-bordered table-hover">
<colgroup>
<col width="10%">
<col width="30%">
<col width="20%">
<col width="30%">
</colgroup>
<thead>
<tr>
<th class="text-center">#</th>
<th class="text-center">Applicant Information</th>
<th class="text-center">Status</th>
<th class="text-center">Action</th>
</tr>
</thead>
<tbody>
<?php
$i = 1;
$stats = $conn->query("SELECT * FROM recruitment_status order by id asc");
$stat_arr[0] = "New";
while ($row = $stats->fetch_assoc()) {
$stat_arr[$row['id']] = $row['status_label'];
}
$awhere = '';
if(isset($_GET['pid']) && $_GET['pid'] >= 0){
$awhere = " where a.process_id = '".$_GET['pid']."' ";
}
if(isset($_GET['position_id']) && $_GET['position_id'] >0){

174
if(empty($awhere))
$awhere = " where a.position_id = '".$_GET['position_id']."' ";
else
$awhere .= " and a.position_id = '".$_GET['position_id']."' ";

}
$application = $conn->query("SELECT a.*,v.position FROM application a inner join
vacancy v on v.id = a.position_id $awhere order by a.id asc");
while($row=$application->fetch_assoc()):
?>
<tr>
<td class="text-center"><?php echo $i++ ?></td>
<td class="">
<p>Name :<b><?php echo ucwords($row['lastname'].', '.$row['firstname'].'
'.$row['middlename']) ?></b></p>
<p>Applied for :<b><?php echo $row['position'] ?></b></p>
</td>
<td class="text-center">
<?php echo $stat_arr[$row['process_id']] ?>
</td>
<td class="text-center">
<button class="btnbtn-smbtn-primary view_application" type="button" data-id="<?php echo
$row['id'] ?>" >View</button>
<button class="btnbtn-smbtn-primary edit_application" type="button" data-id="<?php echo
$row['id'] ?>" >Edit</button>
<button class="btnbtn-smbtn-danger delete_application" type="button" data-id="<?php echo
$row['id'] ?>">Delete</button>
</td>
</tr>
<?php endwhile; ?>
</tbody>
</table>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="card">
<div class="card-body">
<div class="row">
<div class="col-md-12 form-group">
<button class="btn-block btn-smbtnfilter_status" type="button" data-id="all">All</button>
</div>
</div>
<?php foreach ($stat_arr as $key => $value): ?>
<div class="row">
<div class="col-md-12 form-group">
<button class="btn-block btn-smbtnfilter_status" type="button" data-id="<?php echo $key
?>" ><?php echo $value ?></button>
</div>
</div>

175
<?php endforeach; ?>
</div>
</div>
</div>
<!-- Table Panel -->
</div>
</div>

</div>
<style>

td{
vertical-align: middle !important;
}
td p{
margin: unset
}
img{
max-width:100px;
max-height: :150px;
}
</style>
<script>
$('.filter_status').each(function(){
if($(this).attr('data-id') == '<?php echo $pid ?>')
$(this).addClass('btn-primary')
else
$(this).addClass('btn-info')

})
$('table').dataTable()
$("#new_application").click(function(){
uni_modal("New Application","manage_application.php","mid-large")
})
$(".edit_application").click(function(){
uni_modal("Edit Application","manage_application.php?id="+$(this).attr('data-id'),"mid-
large")
})
$(".view_application").click(function(){
uni_modal("","view_application.php?id="+$(this).attr('data-id'),"mid-large")
})

$('.delete_application').click(function(){
_conf("Are you sure to delete this Applicant?","delete_application",[$(this).attr('data-id')])
})
function displayImg(input,_this) {
if (input.files&&input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#cimg').attr('src', e.target.result);

176
}

reader.readAsDataURL(input.files[0]);
}
}
$('.filter_status').click(function(){
location.href = "index.php?page=applications&pid="+$(this).attr('data-
id')+'&position_id=<?php echo $position_id ?>'
})
$('#position_filter').change(function(){
location.href = "index.php?page=applications&position_id="+$(this).val()+'&pid=<?php
echo $pid ?>'
})
function delete_application($id){
start_load()
$.ajax({
url:'ajax.php?action=delete_application',
method:'POST',
data:{id:$id},
success:function(resp){
if(resp==1){
alert_toast("Data successfully deleted",'success')
setTimeout(function(){
location.reload()
},1500)

}
}
})
}
</script>

RESULT
Thus, the project for the Recruitment System was designed and codes are generated and then
it was executed successfully.

177
EX NO: 11 FOREIGN TRADING SYSTEM
DATE: 30.04.2021

AIM
To create a system to perform foreign trading system.

PROBLEM STATEMENT
The main activity of international marketing is the export-import procedure. This procedure
involves the actual and operational procedure of export and import trade. It also involves
documentation, procedures, rules and regulations imposed by both the exporting and
importing countries. These procedures include excise clearance, foreign exchange, etc.

INTRODUCTION
Foreign trading system is the interface between the exporter and buyer. It aims at improving
the efficiency in the production, export process and reduce the complexities involved in it to
the maximum possible extent.

PURPOSE
Considering the fact that the number of buyer is increasing every year, an Automated System
becomes essential to meet the demand. So this system uses several programming and
database techniques to elucidate the work involved in this process. The system has been
carefully verified and validated in order to satisfy it.

SCOPE
The System provides an online interface to the buyer where they can fill in their personal
details and submit the necessary documents (may be by scanning). The authority concerned
with the production and shipment of goods can use this system to reduce his workload and
process the application in a speedy manner.

DEFINITIONS, ACRONYMS AND THE ABBREVIATIONS


Exporter – One who wishes to export the goods
Importer - One who wishes to obtain the goods
Regional authorities – Who provide service authority to individual and business firms
intending to export and/or import goods
IEC Number – Importer-Exporter Number
QC – Quality Control in order to ensure the quality of products

TECHNOLOGIES TO BE USED
 HTML
 JSP
 Java script
 Java

TOOLS TO BE USED

178
 Eclipse IDE (Integrated Development Environment)
 StarUML (for developing UML Patterns)
OVERALL DESCRIPTION:
It will describe major role of the system components and inter-connections.
PRODUCT PERSPECTIVE
This system tries to make the interface as simple as possible and at the same time not risking
the security of data stored in. This minimizes the time.
SOFTWARE INTERFACE
● Front End Client - The exporter online interface is built using JSP and
HTML.
● Web Server – Apache Tomcat Server (Oracle Corporation)
● Back End - Oracle 11g database
HARDWARE INTERFACE
● 1GB RAM
● Pentium IV Processor
● 100 GB HARDDISK
The server is directly connected to the client systems. The client systems have access to the
database in the server.

USE-CASE DIAGRAM
The book bank use cases are:
1. Preliminaries
2. Offer order
3. Production of goods
4. Shipment
5. Negotiation of documents

ACTORS INVOLVED
1. Exporter
2. Buyer

USECASE NAME: PRELIMINARIES


Individual and business firms intending to export and/or import goods and/or services should
obtain an Importer-Exporter Number from the regional licensing authorities.
USECASE NAME: OFFER ORDER
Offer is a proposal submitted by an exporter expressing his intention to export specific goods
at a specific price with specific terms and conditions. Exporter usually makes an offer in the
form of a „Proforma Invoice‟.
USECASE NAME: PRODUCTION OF GOODS
The exporting house after obtaining a confirmed order should produce the goods exactly as
specified in the invoice. If the exporting house does not have facilities, it has to procure the
products from others.
USECASE NAME: NEGOTIATION OF DOCUMENTS
The exporter submits the relevant documents to his buyer (banker) for getting the payment
for the goods exported.
● Production of goods

179
● Offer Order
● Shipment
● Buyer
● Negotiation of documents
● Exporter
● RegionalAuthori
● ties
● Preliminaries

USE-CASE DIAGRAM

ACTIVITY DIAGRAM

CLASS DIAGRAM:

180
:

SEQUENCE DIAGRAM:

181
COLLABORATION DIAGRAM

DEPLOYMENT DIAGRAM
.

182
183
COMPONENT DIAGRAM

PACKAGE DIAGRAM

STATE CHART DIAGRAM

184
GENERATED CODE

185
186
187
Buyer_login.php:
<?php
include ('valid.php');
?>
<html>
<head>
<meta charset="utf-8">
<title>Login</title>
<style>
*{
margin: 0;
padding: 0;
}
html{
font-family: sans-serif;
}
body{
height: 100vh;
width: 100%;
background-image:linear-gradient(white);
background-size: cover;
display: flex;
justify-content: center;
align-items: center;}
.con
{
text-align: center;
margin-left: 50px;
transition: 0.5s;
}
.con
{
width: 284px;
padding: 20px 40px 20px 41px;
border: 1px solid #38D5EC;
background-color: transparent;
box-shadow: 1px 5px 3px 5px #38D5EC;
}
.con hr
{
width: 100%;

188
margin: auto;
padding: 4px;
background:#38D5EC;
border: none
}
.con h4
{
font-size: 20px;
color: #38D5EC;
margin: 10px;
}
.con h1
{
font-size: 30px;
font-family: Arial, Helvetica, sans-serif;
color: #38D5EC;
margin: 20px;
}
.con input{
width: 90%;
padding: 7px 3px;
margin-bottom:10px;
border-right-width:0;
border-left-width:0;
border-top-width: 0;
border-bottom-color: #38D5EC;
border: 2px 2px 0px 2px;
font-size: 15px;
color: #9370DB;
font-weight: bolder;
background: transparent;
outline: none;
transition: 0.3s;
}

.con button
{
padding: 7px 110px;
margin-top: 10px;
background: #38D5EC;
color: white;

189
font-weight: bolder;
border: none;
border-radius: 60px;
cursor: pointer;
transition: 0.5s;
outline: none;
}

.conbutton:hover
{
transform: scale(1.1);
}
#signup
{
padding: 8px 20px ;
margin-top: 380px;
margin-left:10px;

background: #38D5EC;
color: white;
font-weight: bolder;
border: none;
border-radius: 60px;
cursor: pointer;
transition: 0.5s;
outline: none
}
#new
{
color:#38D5EC;
margin-top: 375;
margin-left:16px;
font-size:20px;
}
h2
{
margin-bottom: 550px;
}
</style>
</head>
<body>

190
<imgsrc="ship.png" height="400px" width="550px" id="vote" alt="">
<form class="con" action="Buyer_login.php" method="post" >
<h1>LOGIN</h1>
<imgsrc="user.png" width="140px" height="155px" alt="">
<hr />
<h4>Welcome</h4>
<p><input type="text" name="username" id="username" placeholder="UserId" required></p>
<p><input type="password" name="password" id="password" placeholder="Password"
required></p>
<p><button type="submit" name="login" id="button" value="Login">LOGIN</button></p>
</form>
<span id="new">New user?</span>
<a href="buyer_signup.php" id="signup" <button type="submit" >SIGNUP </button></a>
</body>
</html>
<?php
session_start();
$username="";

$errors=array();

$db=mysqli_connect('localhost','root','','fts') or die("could not connect to the database");


$password="";

if(isset($_POST['login']))
{
$username=mysqli_real_escape_string($db,$_POST['username']);
$password=mysqli_real_escape_string($db,$_POST['password']);
$_SESSION['id']=$username;
$sql="SELECT * FROM users WHERE username='$username' AND password='$password'";
$result1=mysqli_query($db,$sql);
if(mysqli_num_rows($result1))
{
header('location: home1.php');
}
else
{
echo '
<script type="text/javascript">
alert("Invalid username/password");
</script>';

191
}
HOME.php
<?php
session_start();
$id=$_SESSION['id'];
?>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>HOME</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
<script src="https://use.fontawesome.com/releases/v5.0.8/js/all.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
<script src="https://use.fontawesome.com/releases/v5.0.8/js/all.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-
awesome.min.css">
<link rel="stylesheet" type="text/css" href="cloudstyle.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
<style type="text/css">
*{
font-family: sans-serif;
}
.navbar .collapse .navbar-nav .nav-item a{
color:black;
padding-left:20px;
font-size: 15px;
}
.navbar .collapse .navbar-nav .nav-item a:hover{
font-weight: bold;
font-size:15px;
border-bottom: 4px solid rgb(7, 166, 230);
border-radius:0px;
color:black;
}
body{
background-image: url(background9.jpg);
height:100%;

192
width:100%;
background-attachment: fixed;
background-position:cover;
background-repeat: no-repeat;

}
#mynav{
border-top:2px solid black;
border-bottom:3px solid rgb(0, 171, 238);
border-radius:0px;
background-color:white !important;
}
.container{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.container .box{
position: relative;
width:400px;
padding:40px;
background-color:#fff;
box-shadow: 0 10px 20px rgba(0,0,0,.3);
border-radius: 20px;
overflow: hidden;
margin:20px;
box-sizing: border-box;
text-align: center;
}
.container .box .icon{
position: relative;
width: 80px;
height: 80px;
color: #fff;
background:#000;
display: flex;
justify-content: center;
align-items: center;
border-radius: 50%;
margin:0 auto;
font-size: 40px;

193
font-weight:700;
transition:1s;
}
.container .box:hover{
transform:translateX(-80px);
cursor: pointer;
}

.container .box:nth-child(1) .icon{


box-shadow: 0 0 0 0 #e91e63;
background-color: #e91e63;
}
.container .box:nth-child(1):hover .icon{
box-shadow: 0 0 0 400px #e91e63;
cursor: pointer;
}
.container .box:nth-child(2) .icon{
box-shadow: 0 0 0 0 #23e629;
background-color: #23e629;
}
.container .box:nth-child(2):hover .icon{
box-shadow: 0 0 0 400px #23e629;
cursor: pointer;
}
.container .box:nth-child(3) .icon{
box-shadow: 0 0 0 0 #e91e63;
background-color:#e91e63;
}
.container .box:nth-child(3):hover .icon{
box-shadow: 0 0 0 400px #04d9ff;
cursor: pointer;
}
.container .box:nth-child(4) .icon{
box-shadow: 0 0 0 0 #2196f3;
background-color:#2196f3;
}
.container .box:nth-child(4):hover .icon{
box-shadow: 0 0 0 400px #ff0000;
cursor: pointer;
}
.container .box:nth-child(5) .icon{

194
box-shadow: 0 0 0 0 #ff0000;
background-color:#ff0000;

}
.container .box:nth-child(5):hover .icon{
box-shadow: 0 0 0 400px #2196f3;
cursor:pointer;
}
.container .box:nth-child(6) .icon{
box-shadow: 0 0 0 0 #2196f3;
background-color:#2196f3;
}
.container .box:nth-child(6):hover .icon{
box-shadow: 0 0 0 400px #ffff00;
cursor: pointer;
}
.container .box .content{
position: relative;
z-index: 1;
transition:0.5s;
}
.container .box:hover .content p{
color:#fff;
}
.container .box .content p{
margin:0;
padding: 0;
}
input::-webkit-calendar-picker-indicator {
display: none;
}
*{
box-sizing: border-box;
}
.column {
float: left;
width: 290px;
padding: 10px;
height: 350px;
border:2px solid black;

195
}
.row{
margin-left: 10px;
}
.row:after {
content: "";
display: table;
clear: both;
}
</style>
</head>
<body>
<div class="loader-bg">
<div class='loader'></div>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script type="text/javascript">
setTimeout(function(){
$('.loader-bg').fadeToggle();
},1500);
</script>
<nav id='mynav' class='navbar navbar-light navbar-expand-md bg-faded fixed-top'>
<div class='container-fluid'>
<button class='navbar-toggler' type='button' data-target='#tweakbar' data-toggle='collapse'>
<span class='navbar-toggler-icon' style="background-color:green; color:white;"></span>
</button>
<input type="text" style="
padding: 12px 20px;
border:0px;
" name="name" id='name' value="Welcome <?php echo $id;?>" readonly="readonly">
<div class='collapse navbar-collapse' id='tweakbar'>
<ul class='navbar-nav ml-top'>
<li class='nav-item active'><a id='link1'class='nav-link' href='home1.php'><i class="fas fa-
home"style='font-size:17px;'></i>HOME</a></li>
<li class='nav-item'><a class='nav-link' href='dashboard.php'><i class="far fa-address-
book"style='font-size:17px;'></i>DASHBOARD</a></li>
<li class='nav-item'><a class='nav-link' href='cart.php'><i class="fas fa-clipboard-list" style='font-
size:17px; '></i>CART</a></li>
<li class='nav-item'><a class='nav-link' href='orders1.php'><i class="glyphiconglyphicon-send"
style='font-size:17px; '></i>ORDERS</a></li>

196
<li class='nav-item'><a class='nav-link' href='buyer_login.php'><i class="fas fa-sign-out-alt"
style='font-size:17px;'></i>LOGOUT</a></li></form>
<form class="form-inline my-2 my-lg-0" method="POST" action="form1.php" style="margin-left:
115px;">
<label for="browser"style='color: white;font-size:1.5em;'></label>
<input type="text" name="" style=" border-right-width:0;
border-left-width:0;
border-top-width: 0;
border-bottom-color: #1d1e1f;
border: 2px 2px 0px 2px;
font-size: 15px;
color: #221c30;
font-weight: bolder;
background: transparent;
outline: none;
transition: 0.3s;">
<button class="btnbtn-outline-primary my-2 my-sm-0" type="submit" name="search" style="margin-
left:10px;">Search</button>
</form>
</ul>
</div>
</div>
</nav>
<div id='slides' class='carousel slide' data-ride='carousel'>
<ul class='carousel-indicators'>
<li data-target='#slides' data-slide-to="0" class='active'></li>
<li data-target='#slides' data-slide-to="1"></li>
<li data-target='#slides' data-slide-to="2"></li>
</ul>
<div class='carousel-inner'>
<div class='carousel-item active'>
<section class='banner'>
<div class='wave'></div>
</section>
<imgsrc='sam.jpg' style="
height: 90%;
width: 100%;
display: flex;
background-position: center;
background-repeat: no-repeat;
background-size: cover;">

197
<div class='carousel-caption'>
<button type='button' class='btnbtn-primary btn-lg'style='margin-bottom:100px;'>Branded
Smartphones</button></a>
</div>
</div>
<div class='carousel-item'>
<imgsrc='lap.jpg' style="
height: 100%;
width: 100%;
display: flex;
background-position: center;
background-repeat: no-repeat;
background-size: cover;">
<div class='carousel-caption'>
<button type='button' class='btnbtn-primary btn-lg'style='margin-bottom:100px;'>Branded
Laptops</button></a>
</div>
</div>
<div class='carousel-item'>
<imgsrc='tab.jpg' style="
height: 100%;
width: 100%;
display: flex;
background-position: center;
background-repeat: no-repeat;
background-size: cover;">
<div class='carousel-caption'>
<button type='button' class='btnbtn-primary btn-lg'style='margin-bottom:100px;'>Branded
Tablets</button></a>
</div>
</div>
</div>
<!--this add the arrows in the image slider-->
<a class="carousel-control-prev" href="#slides" role="button" data-slide="prev" style="color: blue;">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="carousel-control-next" href="#slides" role="button" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>

198
</div>
<br>
<form action="home1.php" method="post">
<h2 style="margin-left: 15px;">Smartphones (1 unit=10 pcs)</h2>
<div class="row">
<div class="column" style="background-color:white">
<h6>samsung galaxy s21</h6>
<imgsrc="p1s21.jpg" alt="" style="height:250px; width:210px;">
<input type="submit" class='btnbtn-primary btn-sm' name="p1s21" value="ADD TO CART">
<button type="button" class="btnbtn-success btn-sm">$7000.00</button>
</div>
<div class="column" style="background-color:white">
<h6>samsung galaxy s21 ultra</h6>
<imgsrc="p2s21.jpg" alt="" style="height:250px; width:250px;">
<input type="submit" class='btnbtn-primary btn-sm' name="p2s21" value="ADD TO CART">
<button type="button" class="btnbtn-success btn-sm">$6500.00</button>
</div>
<div class="column" style="background-color:white">
<h6>samsung galaxy note20</h6>
<imgsrc="note20u1.jpg" alt="" style="height:250px; width:250px;">
<input type="submit" class='btnbtn-primary btn-sm' name="note20u1" value="ADD TO CART">
<button type="button" class="btnbtn-success btn-sm">$9000.00</button>
</div>
<div class="column" style="background-color:white">
<h6>samsung galaxy note20 ultra</h6>
<imgsrc="note20u2.jpg" alt="" style="height:250px; width:250px;">
<input type="submit" class='btnbtn-primary btn-sm' name="note20u2" value="ADD TO CART">
<button type="button" class="btnbtn-success btn-sm">$8000.00</button>
</div>
</div>
<br>
<h2 style="margin-left: 15px;">Laptops (1 unit=10 pcs)</h2>
<div class="row">
<div class="column" style="background-color:white">
<h6>DELL inspiron 100</h6>
<imgsrc="dell1.jpg" alt="" style="height:250px; width:250px;">
<input type="submit" class='btnbtn-primary btn-sm' name="p1s21" value="ADD TO CART">
<button type="button" class="btnbtn-success btn-sm">$10000.00</button>
</div>
<div class="column" style="background-color:white">
<h6>DELL vostro 5</h6>

199
<imgsrc="dell2.jpg" alt="" style="height:250px; width:250px;">
<input type="submit" class='btnbtn-primary btn-sm' name="p1s21" value="ADD TO CART">
<button type="button" class="btnbtn-success btn-sm">$13000.00</button>
</div>
<div class="column" style="background-color:white">
<h6>DELL inspiron 3c</h6>
<imgsrc="dell3.jpg" alt="" style="height:250px; width:250px;">
<input type="submit" class='btnbtn-primary btn-sm' name="p1s21" value="ADD TO CART">
<button type="button" class="btnbtn-success btn-sm">$11000.00</button>
</div>
<div class="column" style="background-color:white">
<h6>DELL vostro 5T</h6>
<imgsrc="dell4.jpg" alt="" style="height:250px; width:250px;">
<input type="submit" class='btnbtn-primary btn-sm' name="p1s21" value="ADD TO CART">
<button type="button" class="btnbtn-success btn-sm">$15000.00</button>
</div>
</div>
<br>
<h2 style="margin-left: 15px;">Tablets (1 unit=10 pcs)</h2>
<div class="row">
<div class="column" style="background-color:white">
<h6>samsung galaxy TAB A</h6>
<imgsrc="tab1.jpg" alt="" style="height:230px; width:210px;">
<input type="submit" class='btnbtn-primary btn-sm' name="p1s21" value="ADD TO CART">
<button type="button" class="btnbtn-success btn-sm">$5000.00</button>
</div>
<div class="column" style="background-color:white">
<h6>samsung galaxy TAB S7</h6>
<imgsrc="tab2.jpg" alt="" style="height:230px; width:210px;">
<input type="submit" class='btnbtn-primary btn-sm' name="p1s21" value="ADD TO CART">
<button type="button" class="btnbtn-success btn-sm">$7000.00</button>
</div>
<div class="column" style="background-color:white">
<h6>samsung galaxy TAB S7 pro</h6>
<imgsrc="tab3.jpg" alt="" style="height:230px; width:210px;">
<input type="submit" class='btnbtn-primary btn-sm' name="p1s21" value="ADD TO CART">
<button type="button" class="btnbtn-success btn-sm">$7500.00</button>
</div>
<div class="column" style="background-color:white">
<h6>samsung galaxy Notebook 1</h6>
<imgsrc="tab4.jpg" alt="" style="height:230px; width:250px;">

200
<input type="submit" class='btnbtn-primary btn-sm' name="p1s21" value="ADD TO CART">
<button type="button" class="btnbtn-success btn-sm">$10000.00</button>
</div>
</div>
</form>
<br><br>
<footer style='background-color:#000000; padding-top: 30px;'>
<div class='container-fluid padding'>
<div class='row text-center padding'>
<div class='col-4'>
<imgsrc='trade1.jpg'style='height:150px;width:400px; margin-top: 15px;'>
</div>
<div class='col-4' style="color:white;">
<dl>
<dt>Address:</dt>
<dd>FTS LTD</dd>
<dd>Tambaram</dd>
<dd>Chennai</dd>
<dd>600045</dd>
<dd>9944325609</dd>
</dl>
</div>
<div class='col-4'>
<dl>
<dt style='text-decoration: underline;color:white;'><h4>Contact-Us</h4></dt>
<dd><a href='#'><i style='font-size: 2em;' id='google' class='fab fa-google-plus-g'></i></a></dd>
<dd><a href='https://www.facebook.com/'><i style='font-size: 2em;' id='i2'class='fab fa-
facebook'></i></a></dd>
<dd><a href='#'><i style='font-size: 2em;' id='i3' class='fab fa-instagram'></i></a></dd>
<dd><a href='#'><i style='font-size: 2em;' id='i4' class='fab fa-twitter'></i></a></dd>
</dl>
</div>
</div>
<span style="color: white;">Copyright ⓒ 1995-2021 FTS All Rights reserved.</span>
</footer>
</html>
<?php
$products='';
$cost=0;
if(isset($_POST['p1s21']))

201
{
$products=$products.'1 unitsamsung galaxy s21 - ';
$_SESSION['products']=$_SESSION['products']."<br>".$products;
$cost=$cost+7000;
$_SESSION['cost']=$_SESSION['cost']+$cost;
}
if(isset($_POST['p2s21']))
{
$products=$products.'1 unit samsung galaxy s21 ultra - ';
$_SESSION['products']=$_SESSION['products']."<br>".$products;
$cost=$cost+6500;
$_SESSION['cost']=$_SESSION['cost']+$cost;
}
if(isset($_POST['note20u1']))
{
$products=$products.'1 unit samsung galaxy Note20 - ';
$_SESSION['products']=$_SESSION['products']."<br>".$products;
$cost=$cost+9000;
$_SESSION['cost']=$_SESSION['cost']+$cost;

}
if(isset($_POST['note20u2']))
{
$products=$products.'1 unit samsung galaxy Note20 Ultra - ';
$_SESSION['products']=$_SESSION['products']."<br>".$products;
$cost=$cost+8000;
$_SESSION['cost']=$_SESSION['cost']+$cost;
}
?>

RESULT

Thus, the project for Recruitment System has been executed and codes are generated and
executed successfully.

202
EX NO: 12 CONFERENCE MANAGEMENT SYSTEM
DATE: 21.05.2021
AIM
To analyze, design and code for CONFERENCE MANAGEMENT SYSTEM using StarUML
software.
PROBLEM STATEMENT
The conference management system is an online website in which the candidate can register
themselves, submit their paper and then attend the conference.

 The process of the candidate is to login the conference management system.


 Then the candidate submits the paper through online.
 The receiver then reviews the paper.
 The reviewer sends an acknowledgement to the candidate whether the paper is selected or
rejected.
 All the selected papers are shown.
 In the acknowledgement sent by the reviewer, the details of the conference, date and time at
which each event is conducted and list of events that are to be conducted .
 When the candidate opens the conference system website, he gets to know about the events
conducted and can register to submit the papers through online.

USE_CASE DIAGRAM

203
CLASS DIAGRAM

COLLABORATION DIAGRAM

204
SEQUENCE DIAGRAM

COMPONENT DIAGRAM

205
ACTIVITY DIAGRAM

DEPLOYMENT DIAGRAM

RESULT

Thus the project for Conference Management System has been successfully executed and codes are
generated successfully.

206
EX NO: 13 LIBRARY MANAGEMENT SYSTEM
DATE: 04.06.2021

AIM
To develop a project Library Management System Using StarUML software and to implement
the software in Visual Basic.

PROBLEM STATEMENT

The Mini project titled Library Management System is library management software for the
purpose of monitoring and controlling the transactions in a library. This library management
system gives us the complete information about the library and the daily transactions done in
a Library. We need to maintain the record of new s and retrieve the details of books available
in the library which mainly focuses on basic operations in a library like adding new member,
new books, and up new information, searching books and members and facility to borrow and
return books. It features a familiar and well thought-out, an attractive user interface,
combined with strong searching, insertion and reporting capabilities. The report generation
facility of library system helps to get a good idea of which are borrowed by the members,
makes users possible to generate hard copy.

The following are the brief description on the functions achieved through this project:
End-Users:

Librarian: To maintain and update the records and also to cater the needs of the users.

Reader: Need books to read and also places various requests to the librarian.

Vendor: To provide and meet the requirement of the prescribed books.

207
USE CASE DIAGRAM:

208
CLASS DIAGRAM

209
SEQUENCE DIAGRAM

210
STATE CHART DIAGRAM

211
ACTIVITY
DIAGRAM

212
COLLABORATION DIAGRAM

COMPONENT DIAGRAM

213
DEPLOYMENT DIAGRAM

GENERATED CODE

HomePage:
<%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true"
CodeBehind="homepage.aspx.cs" Inherits="WebApplication1.homepage" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<section>
<center>
<imgsrc="imgs/homee.jpeg" class="image-fluid" width="1000px" />
<h1><b>ONLINE LIBRARY MANAGEMENT</b></h1>
</center>
</section>
<section>
<div class="container">
<div class="row">
<div class="col-12">
<center>
<h2>Our Features</h2>

214
<p><b>Our 3 primary Features -</b></p>
</center>
</div>
</div>
<div class="row">
<div class="col-md-4">
<center>
<img width="150px" src="imgs/digitalbookinventory.jgp.jpg" />
<h4>Digital Book Inventory</h4>
<p class="text-justify">Duis auteiruredolor in reprehenderit in voluptatevelitessecillum dolore
eufugiatnullapariatur. Lorem ipsum dolor. reprehenderit</p>
</center>
</div>
<div class="col-md-4">
<center>
<img width="150" src="imgs/searchbook.png" />
<h4>Search Books</h4>
<p class="text-justify">Duis auteiruredolor in reprehenderit in voluptatevelitessecillum dolore
eufugiatnullapariatur. Lorem ipsum dolor. reprehenderit</p>
</center>
</div>
<div class="col-md-4">
<center>
<img width="150" src="imgs/default.png" />
<h4>Defaulter List</h4>
<p class="text-justify">Duis auteiruredolor in reprehenderit in voluptatevelitessecillum dolore
eufugiatnullapariatur. Lorem ipsum dolor. reprehenderit</p>
</center>
</div>
</div>
</div>
</section>
<section>
<center>
<imgsrc="imgs/modern.jpg" width="1000px"/>
</center>
</section>
<section>
<div class="container">
<div class="row">
<div class="col-12">
<center>
<h2>Our Process</h2>
<p><b>We have simple threee steps</b></p>
</center>
</div>
</div>
<div class="row">
<div class="col-md-4">
<center>

215
<img width="90px" src="imgs/sign-up.png" />
<h4>Sign Up</h4>
<p class="text-justify">Duis auteiruredolor in reprehenderit in voluptatevelitessecillum dolore
eufugiatnullapariatur. Lorem ipsum dolor. reprehenderit</p>
</center>
</div>
<div class="col-md-4">
<center>
<img width="180px" src="imgs/searchbook1.jpg" />
<h4>Search Books</h4>
<p class="text-justify">Duis auteiruredolor in reprehenderit in voluptatevelitessecillum dolore
eufugiatnullapariatur. Lorem ipsum dolor. reprehenderit</p>
</center>
</div>
<div class="col-md-4">
<center>
<img width="120px" src="imgs/library.png" />
<h4>Visit Us</h4>
<p class="text-justify">Duis auteiruredolor in reprehenderit in voluptatevelitessecillum dolore
eufugiatnullapariatur. Lorem ipsum dolor. reprehenderit</p>
</center>
</div>
</div>
</div>
</section></asp:Content>

216
AdminLogin:
<%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true"
CodeBehind="adminlogin.aspx.cs" Inherits="WebApplication1.adminlogin" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<div class="container">
<div class="row">
<div class="col-md-6 mx-auto">
<div class="card">
<div class="card-body">

<div class="row">
<div class="col">
<center>
<img width="150px" src="imgs/admin1.jpg" />

</center>
</div>

</div>
<div class="row">
<div class="col">
<center>

217
<h3>Admin Login</h3>
</center>
</div>
</div>
<div class="row">
<div class="col">
<hr />
</div>
</div>
<div class="row">
<div class="col">

<div class="form-group">
<asp:TextBoxCssClass="form-control" ID="TextBox1" runat="server" placeholder="Email
ID"></asp:TextBox>

</div>
</div>
</div>
<div class="row">
<div class="col">

<div class="form-group">
<asp:TextBoxCssClass="form-control" ID="TextBox2" runat="server" placeholder="Password"
TextMode="Password"></asp:TextBox>

</div>
</div>
</div>
<div class="form-group">
<asp:ButtonCssClass="btnbtn-success btn-block btn-lg" ID="Button1" runat="server"
Text="Login" OnClick="Button1_Click" />

</div>
</div>

</div>

<a href="homepage.aspx"><< Back to Home </a>


</div>
</div>
</div>"
</asp:Content>

218
UserLogin:
<%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true"
CodeBehind="userlogin.aspx.cs" Inherits="WebApplication1.userlogin" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">

<div class="container">
<div class="row">
<div class="col-md-6 mx-auto">
<div class="card">
<div class="card-body">

<div class="row">
<div class="col">
<center>

<img width="150px" src="imgs/userlogin.jpg" />


</center>
</div>

</div>
<div class="row">
<div class="col">
<center>

<h3>Member Login</h3>
219
</center>
</div>
</div>
<div class="row">
<div class="col">
<hr />
</div>
</div>
<div class="row">
<div class="col">
<label>Member ID</label>
<div class="form-group">
<asp:TextBoxCssClass="form-control" ID="TextBox1" runat="server" placeholder="Member
ID"></asp:TextBox>

</div>
</div>
</div>
<div class="row">
<div class="col">
<label>Password</label>
<div class="form-group">
<asp:TextBoxCssClass="form-control" ID="TextBox2" runat="server" placeholder="Password"
TextMode="Password"></asp:TextBox>

</div>
</div>
</div>
<div class="form-group">
<asp:ButtonCssClass="btnbtn-success btn-block btn-lg" ID="Button1" runat="server"
Text="Login" OnClick="Button1_Click" />

</div>
<div class="form-group">
<a href="usersignup.aspx"><input class="btnbtn-info btn-block btn-lg" id="Button2"
type="button" value="Sign UP" />
</a>
</div>
</div>
</div>
<a href="homepage.aspx"><< Back to Home </a>
</div>
</div>
</div>"
</asp:Content>

220
BookInventory:
<%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true"
CodeBehind="adminbookinventory.aspx.cs" Inherits="WebApplication1.adminbookinventory"
%>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">

<script type="text/javascript">
$(document).ready(function () {
$(".table").prepend($("<thead></thead>").append($(this).find("tr:first"))).dataTable();
});

function readURL(input) {
if (input.files&&input.files[0]) {
var reader = new FileReader();

reader.onload = function (e) {


$('#imgview').attr('src', e.target.result);
};

reader.readAsDataURL(input.files[0]);
}
}

</script>
</asp:Content>(PartialCoding Due to more lines available)

221
ViewBook:
<%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true"
CodeBehind="viewbooks.aspx.cs" Inherits="WebApplication1.viewbooks" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<script type="text/javascript">
$(document).ready(function () {
$(".table").prepend($("<thead></thead>").append($(this).find("tr:first"))).dataTable();
});
</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<div class="container">
<div class="row">

<div class="col-sm-12">
<center>
<h3>
Book Inventory List</h3>
</center>
<div class="row">
<div class="col-sm-12 col-md-12">
<asp:Panel class="alert alert-success" role="alert" ID="Panel1" runat="server" Visible="False">
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</asp:Panel>
</div>
</div>
<br />
<div class="row">
<div class="card">
<div class="card-body">
222
<div class="row">
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$
ConnectionStrings:elibraryDBConnectionString %>" SelectCommand="SELECT * FROM
[book_master_tbl]"></asp:SqlDataSource>
<div class="col">
<asp:GridView class="table table-striped table-bordered" ID="GridView1" runat="server"
AutoGenerateColumns="False" DataKeyNames="book_id" DataSourceID="SqlDataSource1">
<Columns>
<asp:BoundFieldDataField="book_id" HeaderText="ID" ReadOnly="True"
SortExpression="book_id">
<ControlStyle Font-Bold="True" />
<ItemStyle Font-Bold="True" />
</asp:BoundField>
<asp:TemplateField>
<ItemTemplate>
<div class="container-fluid">
<div class="row">
<div class="col-lg-10">
<div class="row">
<div class="col-12">
<asp:Label ID="Label1" runat="server" Text='<%# Eval("book_name") %>' Font-Bold="True"
Font-Size="X-Large"></asp:Label>
</div>
</div>
<div class="row">
<div class="col-12">
<span>Author - </span>
<asp:Label ID="Label2" runat="server" Font-Bold="True" Text='<%# Eval("author_name")
%>'></asp:Label>
&nbsp;| <span><span>&nbsp;</span>Genre - </span>
<asp:Label ID="Label3" runat="server" Font-Bold="True" Text='<%# Eval("genre")
%>'></asp:Label>
&nbsp;|
<span>
Language -<span>&nbsp;</span>
<asp:Label ID="Label4" runat="server" Font-Bold="True" Text='<%# Eval("language")
%>'></asp:Label>
</span>
</div>
</div>
<div class="row">
<div class="col-12">
Publisher -
<asp:Label ID="Label5" runat="server" Font-Bold="True" Text='<%# Eval("publisher_name")
%>'></asp:Label>
&nbsp;| Publish Date -
<asp:Label ID="Label6" runat="server" Font-Bold="True" Text='<%# Eval("publish_date")
%>'></asp:Label>
&nbsp;| Pages -

223
<asp:Label ID="Label7" runat="server" Font-Bold="True" Text='<%# Eval("no_of_pages")
%>'></asp:Label>
&nbsp;| Edition -
<asp:Label ID="Label8" runat="server" Font-Bold="True" Text='<%# Eval("edition")
%>'></asp:Label>
</div>
</div>
<div class="row">
<div class="col-12">
Cost -
<asp:Label ID="Label9" runat="server" Font-Bold="True" Text='<%# Eval("book_cost")
%>'></asp:Label>
&nbsp;| Actual Stock -
<asp:Label ID="Label10" runat="server" Font-Bold="True" Text='<%# Eval("actual_stock")
%>'></asp:Label>
&nbsp;| Available Stock -
<asp:Label ID="Label11" runat="server" Font-Bold="True" Text='<%# Eval("current_stock")
%>'></asp:Label>
</div>
</div>
<div class="row">
<div class="col-12">
Description -
<asp:Label ID="Label12" runat="server" Font-Bold="True" Font-Italic="True" Font-
Size="Smaller" Text='<%# Eval("book_description") %>'></asp:Label>
</div>
</div>
</div>
<div class="col-lg-2">
<asp:TextBoxCssClass="form-control" ID="TextBox2" runat="server" placeholder="Enter
BookName"></asp:TextBox>
<asp:Button ID="Button1" class="btnbtn-lgbtn-block btn-success" runat="server"
Text="Register" OnClick="Button1_Click" />
Register</asp:Button>
<asp:Image class="img-fluid" ID="Image1" runat="server" ImageUrl='<%#
Eval("book_img_link") %>' />
</div>
</div>
</div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</div>
</div>
</div>
</div>
</div>
<center>

224
<a href="homepage.aspx">
<< Back to Home</a><span class="clearfix"></span>
<br />
<center>
</div>
</div>
</asp:Content>

RESULT

Thus, the project for Library Management System has been successfully executed and codes are
generated successfully.

225
EX NO: 14 STUDENT INFORMATION SYSTEM
DATE: 11.06.2021

AIM
To develop a project Student Information System using StarUML software.

PROBLEM STATEMENT
The student information system is a software application for schools, colleges and
universities to manage student data. These systems are capable of holding students' profile
details, attendance records, test scores, assessment scores etc. A robust database and web
server is implemented where the information can be shared easily among the students and
also being kept so that it can be retrieved at any time by anybody who is in need of it. It will
make the information remain authentic without adding or removing anything.
The systems vary in size. The size of the system is usually proportionate to the size of
the school, college or university. This is because the number of students, and therefore
records in the system, will be higher in a larger school, college or university as they are likely
to have a large number of students.
PROBLEM ANALYSIS
Student Information System is used in the effective dispatch of displaying the details
of all the students. This system adopts a comprehensive approach to minimize the manual
work and schedule resources, time in a cogent manner. The core of the system is to enter,
edit, update, delete and display (with details such as name, student id etc.,) filled by the
student as well as the faculty. The database will be provided with fee details to display the
exam details to the student, which they can view in their online interface. After all the
necessary criteria has been met, the original information is added to the database.
They are also used to:
 Hold records of the students' attendance
 Track student schedules
 Handling inquiries from students
 Managing student health records
 Enrolling new students
 Maintaining discipline records
 Managing any other records relevant to students

INTRODUCTION
Student Information System (SIS) is a web-based application software designed to introduce
a conducive and structured information exchange environment for integrating students,
parents, teachers and the administration of a school or college. They are designed with

226
diverse application potentials ranging from simple management of students‟ records at school
to management of all student-related functions as well as administrative functions of a
university or a chain of educational establishments.
PURPOSE
 Improve the management of prospective and enrolled student‟s data.
 Increase communication between divisions.
 Maintain data of stakeholders when transferring records between departments
 Provide a unified resource location for relevant stakeholders, including alumni,
faculty, support staff, and donors
 Standardize data formats among divisions
 Ease the transfer of data to external institutions
 Reduce the time spent on maintaining and organizing student record
USER CHARACTERISTICS
Admin – The administrator can view the details and update or edit or delete according to the
need of the faculty or the student.
Student – Students view their profile details and can also edit the updated details.
Faculty – Faculty can view and edit their details and the details of the students for every
term.
Database – It has all the privileges to view, edit, update, delete and store the details of the
students.

SOFTWARE REQUIREMENTS
 StarUML
 MySQL
 PhpMyAdmin
 Text Editors like notepad, VisualStudioCode etc,
 Windows Xp and above

HARDWARE REQUIREMENTS
 532 MHz and above processor
 Minimum 256 MB of RAM
 100 MB data space for installation
 Other necessary input & output device
STRUCTURE OF DATABASE
Field Type Null
sid int (11) No
FirstName varchar (30) No
LastName varchar (30) No
StudentID varchar (30) No
StudentEmail varchar (30) No
StudentSecurityCode varchar (20) No

227
Department varchar (10) No
DateofBirth date No
YearofJoining varchar (50) No
YearofGraduation varchar (50) No
NatureofAdmission varchar (30) No
LanguagesKnown varchar (50) No
StudentPhoto varchar (50) No
FatherName varchar (30) No
FatherOccupation varchar (30) No
AnnualIncome varchar (20) No
ParentMobileNumber varchar (10) No
MotherName varchar (30) No
MotherOccupation varchar (30) No
BloodGroup varchar (10) No
HosteliteOrDayScholar varchar (10) No
StudentMobileNumber varchar (10) No
ResidentialAddress varchar (150) No
ParentPhoto varchar (50) No
USE CASE DIAGRAM

228
CLASS DIAGRAM

ACTIVITY DIAGRAM

229
SEQUENCE DIAGRAM

230
COLLABORATION DIAGRAM

COMPONENT DIAGRAM

231
DEPLOYMENT DIAGRAM

PACKAGE DIAGRAM

232
STATECHART DIAGRAM

233
GENERATED CODE
Home Page

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"


"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>SIS</title><meta name="keywords" content="" /><meta name="description" content="" />
<! --Template 2070 Holidayhttp://www.tooplate.com/view/2070-holiday-->
<link href="tooplate_style.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="css/nivo-slider.css" type="text/css" media="screen" />
<script type="text/javascript" src="js/jquery-1.6.3.min.js"></script>
<script type="text/javascript" src="js/jquery-ui.min.js"></script>
<script type="text/javascript">
$(document). ready (function () {
$("#featured > ul"). tabs({fx: {opacity: "toggle"}}). tabs ("rotate", 5000, true);});
</script><link rel="stylesheet" type="text/css" href="css/ddsmoothmenu.css" />
<script type="text/javascript" src="js/ddsmoothmenu.js">
/***********************************************
* Smooth Navigational Menu- (c) Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/
</script><script type="text/javascript">
ddsmoothmenu.init({mainmenuid: "tooplate_menu", //menu DIV idorientation: 'h', //Horizontal or
vertical menu: Set to "h" or "v"classname: 'ddsmoothmenu', //class added to menu's outer
DIV//customtheme: ["#1c5a80", "#18374a"],contentsource: "markup" //"markup" or
["container_id","path_to_menu_file"]})</script>
<link rel="stylesheet" href="css/slimbox2.css" type="text/css" media="screen" />
<script type="text/JavaScript" src="js/slimbox2.js"></script>
<script type = "text/javascript">window.onload = function () {
var scrollY = parseInt('<%=Request.Form["scrollY"] %>');

234
if (! isNaN(scrollY)) {
window.scrollTo(0, scrollY);
}};window.onscroll = function () {
var scrollY = document.body.scrollTop;
if (scrollY == 0) {
if (window.pageYOffset) {
scrollY = window.pageYOffset;
}else {
scrollY = (document.body.parentElement) ? document.body.parentElement.scrollTop : 0;}}
if (scrollY> 0) {
var input = document.getElementById("scrollY");
if (input == null) {
input = document.createElement("input");
input.setAttribute("type", "hidden");
input.setAttribute("id", "scrollY");
input.setAttribute("name", "scrollY");
document.forms[0].appendChild(input);
}input.value = scrollY;}};
</script>
<link rel="stylesheet" type="text/css" href="engine1/style.css" />
<script type="text/javascript" src="engine1/jquery.js"></script></head>
<body id="homepage">
<form id="Form1">
<div id="tooplate_wrapper">
<div id="tooplate_header">
<div id="site_title">
<a>Sri Sairam Engineering College<span></span></a></div>
<div id="tooplate_menu" class="ddsmoothmenu">
<ul><li><a href="adminLogin.php">Admin</a></li>
<li><a href="userLogin.php">Student</a></li></ul>
<br style="clear: left" /></div>
<! -- end of tooplate_menu -->
<div class="clear"></div></div>
<! -- END of header --><div id="tooplate_middle2">
<h1>STUDENT INFORMATION SYSTEM</h1>
<div class="clear"></div></div>
<div id="tooplate_main2">
<table id="tooplatetable">
<tr><td align="center">
<div id="wowslider-container1"><div class="ws_images"><ul>
<li><imgsrc="data1/images/img1.jpg" id="wows1_0"/></li>
<li><imgsrc="data1/images/img2.jpg" id="wows1_1"/></li>
<li><imgsrc="data1/images/img3.jpg" id="wows1_2"/></li>
<li><imgsrc="data1/images/img4.jpg" id="wows1_2"/></li>
</ul></div>
<div class="ws_bullets"><div>
<a href="#" title="Credit Card"><span><imgsrc="data1/tooltips/img1.jpg" /></span></a>
<a href="#" title="Fraud Detection"><span><imgsrc="data1/tooltips/img2.jpg" /></span></a>
<a href="#" title="Hidden"><span><imgsrc="data1/tooltips/img3.jpg" /></span></a>
<a href="#" title="markav"><span><imgsrc="data1/tooltips/img4.jpg" /></span></a>

235
</div></div><div class="ws_script" style="position:absolute;left:-99%"><a
href="http://wowslider.net"></a></div>
<div class="ws_shadow"></div></div>
<script type="text/javascript" src="engine1/wowslider.js"></script>
<script type="text/javascript" src="engine1/script.js"></script>
</td></tr></table></div><! -- END of main --><div class="clear"></div></div>
<! -- END of wrapper -->
<div id="tooplate_footer_wrapper"><div id="tooplate_footer" class="center">
<div class="clear"></div></div><! -- END of tooplate_footer -->
<div id="tooplate_copyright" class="center"><p class="left">Copyright © 2021 &nbsp; &nbsp;
&nbsp; |&nbsp; &nbsp; &nbsp;Designed by: &nbsp; &nbsp; &nbsp;<a href=""
target="_parent">Akshaya B & Srinidhi M S</a></p><divclass="clear"></div></div></div>
<! -- END of tooplate_wrapper --></form></body></html>

Entering Details

<body id="homepage">
<form name="frm" method="post" enctype="multipart/form-data">
<div id="tooplate_wrapper">
<?php
include('adminHeader.php');
include('connect.php');
?>
<!-- END of middle --><div id="tooplate_main2">
<table id="tooplatetable"><tr><td align="center">
<center>
<?php
if(isset($_SESSION['admin'])){}
else{

236
header('location:adminLogin.php');}
include('connect.php');
?>
<table><tr><td><table style="background:#b6f979; border-radius:20px"><tr>
<td colspan="4" align="center" style="font-size:16px;font-weight:bold;">STUDENT
INFORMATION SYSTEM</td></tr>
<tr><td colspan="4" align="center">STUDENT DETAILS</td></tr>
<tr><td>First Name:</td><td><input type="text" name="txtfirstname" required=""></td>
<td>Father's Name:</td><td><input type="text" name="txtfname"
id="txtfname"/></td></tr>
<tr><td>Last Name:</td><td><input type="text" name="txtlastname"
id="txtlastname"></td>
<td>Father's occupation:</td><td><input type="text" name="txtfoccup"
id="txtfoccup"></td></tr>
<tr><td>Student ID:</td><td><input type="text" name="txtid" id="txtid"></td>
<td>Annual Income:</td><td>
<select name="AnnualIncome">
<option value="select"><---Select---></option><option value="<80K"><80K</option>
<option value="80K - 1L">80K - 1L</option><option value="1L - 3L">1L - 3L</option>
<option value="3L - 5L">3L - 5L</option><option value=">5L">>5L</option></td></tr>
<tr><td>Student E-mail:</td><td><input type="email" name="txtmail" id="txtmail"></td>
<td>Parent's Mobile Number:</td><td><input type="text" name="txtphnum" id="txtphnum"
></td></tr>
<tr><td>Student Security Code:</td><td><input type="text" name="txtcode"
id="txtcode"></td>
<tr><td>Department:</td><td>
<select name="Department" id="Department">
<option value="select"><---Select---></option><option value="CSE">CSE</option>
<option value="IT">IT</option><option value="ECE">ECE</option>
<option value="EEE">EEE</option><option value="MECH">MECH</option>
<option value="CIVIL">CIVIL</option><option value="ICE">ICE</option>
<option value="PROD">PROD</option><option value="E&I">E&I</option>
</select></td>
<td>Mother's name:</td><td><input type="text" name="txtmname"
id="txtmname"></td></tr>
<tr><td>Date of Birth:</td><td><input type="date" name="dob" id="dob"></td>
<td>Mother's occupation:</td><td><input type="text" name="txtmoccup"
id="txtmoccup"></td></tr></tr>
<td>Year of Joining:</td><td>
<select name="YearofJoining" id="YearofJoining">
<option value="select"><---Select---></option><option value="2017">2017</option>
<option value="2018">2018</option><option value="2019">2019</option>
<option value="2020">2020</option><option value="2021">2021</option></td></tr>
<tr><td>Year of Graduation:</td><td>
<select name="YearofGraduation" id="YearofGraduation">
<option value="select"><---Select---></option><option value="2021">2021</option>

237
<option value="2022">2022</option><option value="2023">2023</option>
<option value="2024">2024</option><option value="2025">2025</option>
</td>
<td>Blood Group:</td><td><input type="text" name="txtbgroup"
id="txtbgroup"></td></tr>
<tr><td>Nature of Admission:</td><td>
<select name="NatureofAdmission" id="NatureofAdmission">
<option value="select"><---Select---></option><option
value="Counselling">Counselling</option><option
value="Consortium">Consortium</option></td>
<td>Hostelite(H)/Day Scholar(D):</td>
<td><select name="mode" id="mode">
<option value="select"><---Select---></option><option
value="Hostelite">Hostelite</option><option value="Day Scholar">Day
Scholar</option></td></tr>
<tr><td>Languages Known:</td><td><input type="text" name="txtlang"
id="txtlang"></td><td colspan="2">
<table><tr><td>Student Mobile Number:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td><input type="text"
name="txtphnum1" id="txtphnum1"></td></tr><tr>
<td>Residential Address:</td><td><input type="text" name="txtres"
id="txtres"></td></tr></table></td><td><table><tr></tr></table></td></tr>
<tr><td>Student's Photo:</td><td><input type="file" name="fupPhoto" id="fupPhoto" />
</td><td>Parent's Photo</td>
<td><input type="file" name="fupPhoto1" id="fupPhoto1" /></td></tr>
<tr><td colspan="4" align="center"><input type="submit" name="btnSubmit"
value="SUBMIT"></td></tr>
<tr><td colspan="4" align="center"></td></tr><tr><td colspan="2" align="center">
<?php
$cn = mysql_connect("localhost","root","");
$select = mysql_select_db("studentinfosys",$cn);
if(isset($_POST['btnSubmit']))
{$qry="select sid from studentprofile where StudentID='".$_POST['txtid']."'";
$res=mysql_query($qry) or die(mysql_error());
$n=mysql_num_rows($res);
if($n>0){echo '<font color="red"> details already exists!</font>';}
else{
$name=$_FILES['fupPhoto']['name'];
$ex=$_FILES['fupPhoto']['tmp_name'];
$path="Photo/".$name;
if(!move_uploaded_file($ex,$path))
{echo "Upload failure!!";}
$name=$_FILES['fupPhoto1']['name'];
$ex=$_FILES['fupPhoto1']['tmp_name'];
$path="Photo/".$name;
if(!move_uploaded_file($ex,$path))

238
{echo "Upload failure!!";}
$qry="insertintostudentprofile(FirstName,LastName,StudentID,StudentEmail,StudentSecurit
yCode,Department,DateofBirth,YearofJoining,YearofGraduation,NatureofAdmission,Langua
gesKnown,StudentPhoto,FatherName,FatherOccupation,AnnualIncome,ParentMobileNumbe
r,MotherName,MotherOccupation,BloodGroup,HosteliteOrDayScholar,StudentMobileNumb
er,ResidentialAddress,ParentPhoto)values('".$_POST["txtfirstname"]."','".$_POST["txtlastna
me"]."','".$_POST["txtid"]."','".$_POST["txtmail"]."','".$_POST["txtcode"]."','".$_POST["De
partment"]."','".$_POST["dob"]."','".$_POST["YearofJoining"]."','".$_POST["YearofGraduat
ion"]."','".$_POST["NatureofAdmission"]."','".$_POST["txtlang"]."','".$path."','".$_POST["tx
tfname"]."','".$_POST["txtfoccup"]."','".$_POST["AnnualIncome"]."','".$_POST["txtphnum"
]."','".$_POST["txtmname"]."','".$_POST["txtmoccup"]."','".$_POST["txtbgroup"]."','".$_PO
ST["mode"]."','".$_POST["txtphnum1"]."','".$_POST['txtres']."','".$path."')";//echo $qry;
$res=mysql_query($qry) or die(mysql_error());
if(! $res)
{echo '<font color="red">Student details insertion failure! </font>';}
else {echo '<font color="green">Student details insertion success! </font>';}}}
?></td></tr></table></center></td></tr></table></div>
<! -- END of main --><div class="clear"></div></div>
<! -- END of wrapper --><!-- END of tooplate_footer -->
<?php
include("footer.php");
?></div><!-- END of tooplate_wrapper --></form></body></html>

Displaying Details

<body id="homepage"><form name="frm" method="post">


<div id="tooplate_wrapper">
<?php
include('userHeader.php');
include('connect.php');?>
<!-- END of middle --><div id="tooplate_main2"><table id="tooplatetable">

239
<tr><td align="center"><center><table><tr><td>
<table style="background:#b6f979; border-radius:20px">
<tr><td colspan="2" align="center" style="font-size:12px;font-weight:bold;">Please enter
the code</td></tr>
<tr><td>Student Security Code</td><td><input type="text" name="txtcode" /></td></tr>
<tr><td colspan="2" align="center"><input type="Submit" name="btnSubmit"
value="SUBMIT"></td></tr>
<tr><td colspan="2" align="center">
<?php
$conn = mysql_connect('localhost','root',"");
$select = mysql_select_db("studentinfosys",$conn);
if(isset($_POST['btnSubmit']))
{$Q="select
FirstName,LastName,StudentID,StudentEmail,StudentSecurityCode,Department,DateofBirth
,YearofJoining,YearofGraduation,NatureofAdmission,LanguagesKnown,StudentPhoto,Father
Name,FatherOccupation,AnnualIncome,ParentMobileNumber,MotherName,MotherOccupati
on,BloodGroup,HosteliteOrDayScholar,StudentMobileNumber,ResidentialAddress,ParentPh
otofrom studentprofile where StudentSecurityCode='".$_POST["txtcode"]."'";
$res=mysql_query($Q) or die(mysql_error());
$n=mysql_num_rows($res);
if($n>0){
while($row=mysql_fetch_array($res)){echo"
<table><tr><td>FirstName</td><td>".$row[0]."</td></tr><tr><td>LastName</td><td>".$ro
w[1]."</td></tr>
<tr><td>StudentID</td><td>".$row[2]."</td></tr><tr><td>StudentEmail</td><td>".$row[3
]."</td></tr>
<tr><td>StudentSecurityCode</td><td>".$row[4]."</td></tr><tr><td>Department</td><td>
".$row[5]."</td></tr><tr><td>DateofBirth</td><td>".$row[6]."</td></tr>
<tr><td>YearofJoining</td><td>".$row[7]."</td></tr><tr><td>YearofGraduation</td><td>
".$row[8]."</td></tr>
<tr><td>NatureofAdmission</td><td>".$row[9]."</td></tr><tr><td>Languages
Known</td><td>".$row[10]."</td></tr>
<tr><td>StudentPhoto</td><td>".$row[11]."</td></tr><tr><td>FatherName</td><td>".$ro
w[12]."</td></tr>
<tr><td>FatherOccupation</td><td>".$row[13]."</td></tr><tr><td>AnnualIncome</td><td
>".$row[14]."</td></tr>
<tr><td>ParentMobileNumber</td><td>".$row[15]."</td></tr><tr><td>MotherName</td><
td>".$row[16]."</td></tr>
<tr><td>MotherOccupation</td><td>".$row[17]."</td></tr><tr><td>BloodGroup</td><td>
".$row[18]."</td></tr>
<tr><td>HosteliteOrDayScholar</td><td>".$row[19]."</td></tr><tr><td>StudentMobileNu
mber</td><td>".$row[20]."</td></tr>
<tr><td>ResidentialAddress</td><td>".$row[21]."</td></tr><tr><td>ParentPhoto</td><td>
".$row[22]."</td></tr></table>";}}
else{echo '<font color="red">invalid!</font>';}}
?>

240
<div class="clear"></div></div>
<!-- END of wrapper --><!-- END of tooplate_footer -->
<?php
include("footer.php");
?>
</div><! -- END of tooplate_wrapper --></form></body></html>

RESULT
Thus, the project for Student Information System was designed and codes are generated and
then it was executed successfully.

241

You might also like