0% found this document useful (0 votes)
18 views52 pages

Report

Uploaded by

samailapada
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views52 pages

Report

Uploaded by

samailapada
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 52

A TECHNICAL REPORT ON STUDENT INDUSTRIAL

WORK EXPERIENCE SCHEME (SIWES)

BY

SAMAILA DANJUMA PADAH

FUKU/FSS/21B/GEO/0088

UNDERTAKEN AT

ZONAL ADVANCE SPACE TEC

A REPORT SUBMITTED TO THE DEPARTMENT OF COMPUTER SCIENCE /


FACULTY OF SCIENCE, FEDERAL UNIVERSITY OF KASHERE, GOMBE STATE
IN PARTIAL FULFILLMENT OF THE REQUIREMENT OF THE COMPLETION OF
INDUSTRIAL TRAINING.

November,2024

i
DECLARATION

I hereby declare that this work is the product of my training effort, undertaken under
the supervision of Mrs. Sa’adatu Ali Jijji, and has not been presented and will not
be presented elsewhere for the fulfillment of any Industrial Training requirement.

_______________ _________________ __________________

Name of Student Signature Date

ii
CERTIFICATION

This is to certify that the report was carried out under my/our supervision.

_____________________ _________________

Name of Supervisor Signature and Date

Departmental Based Supervisor

iii
DEDICATION

To my amazing mother, who showed me that even the biggest challenges can be
overcome through hard work and staying true to oneself.

iv
ACKNOWLEDGEMENTS

I express my deepest gratitude to Almighty Allah (S.W.T) for His blessings and
guidance in making it possible for me to embark on this exciting and diverse
academic journey in the field of Computer Science. Choosing this path has been a
significant decision in my life, and I am thankful for the strength and wisdom He has
bestowed upon me. I pray that the knowledge gained through this endeavor will be
beneficial to everyone and that His guidance will continue to illuminate my path.

I would like to extend my sincere thanks to the Federal University Kashere,


particularly to the SIWES Director, Dr. KOLAWOLE Opeyemi Saheed, for his support
and encouragement throughout this period. I owe a great debt of gratitude to my
Departmental Supervisor, Mrs. Sa’adatu Ali Jijji, for her continuous support and
guidance. Her constructive feedback and encouragement have been crucial in
shaping my academic and professional development. I am truly grateful for her
efforts in ensuring that I make the most out of this training period. May God bless
you all for your contributions to my growth and success.

My heartfelt appreciation goes to my beloved Mother, whose constant


encouragement, moral support, and unlimited care have been my pillars of strength.
Her belief in my abilities and her support have been instrumental in my journey. I am
also deeply thankful to my siblings Khadija, Umar and Auwal for their advice,
encouragement, and practical guidance. Their support has been a significant factor
in my ability to successfully navigate this training period.

I am particularly thankful to Mr. Sulaiman and Mr. Abbas, Head of Education and
Training at BRIATEK, for giving me the opportunity to work with such a prestigious
organization. This experience has not only broadened my awareness of the latest
developments in the field but also emphasized the importance of teamwork and
collaboration. Their support and the opportunities provided by BRIATEK will remain
in my professional development for life.

v
TABLE OF CONTENTS

DECLARATION ..................................................................................................................ii
CERTIFICATION ............................................................................................................... iii
DEDICATION ....................................................................................................................iv
ACKNOWLEDGEMENTS .................................................................................................. v
TABLE OF CONTENTS .....................................................................................................vi
LIST OF TABLES/FIGURES/PLATES/APPENDICES ...................................................... viii
ABBREVIATIONS/DEFINITIONS/GLOSSARIES AND SYMBOLS ....................................ix
CHAPTER ONE ................................................................................................................ 1
1.1 Introduction.................................................................................................................. 1
1.2 Bodies Involved in SIWES ........................................................................................... 2
1.3 Vision Statement ......................................................................................................... 2
1.4 Mission Statement ....................................................................................................... 3
1.5 Aims of SIWES ............................................................................................................ 3
1.6 Objectives & Scope of SIWES in Nigeria ..................................................................... 3
1.7 Roles of Various Organizations Associated with the Management of SIWES ............... 3
1.7.1 Roles Of Industrial Training Fund (I.T.F) ................................................................... 4
1.7.2 The Roles of Higher Institutions ................................................................................ 4
1.7.3 Role of Students/Organizations ................................................................................ 5
1.8 Background History of BRIATEK Computers Nigeria Limited ....................................... 5
1.9 BRIATEK Computers Nigeria Limited Organizational Chart ......................................... 7
CHAPTER TWO ................................................................................................................ 8
2.1 Introduction Description of Work Done......................................................................... 8
2.2 Introduction to PHP ..................................................................................................... 8
2.2.1 PHP Programming .................................................................................................... 8
2.2.2 Data Types and Variables in PHP ............................................................................. 9
2.2.3 Control Structures in PHP ....................................................................................... 10
2.2.4 Loops in PHP.......................................................................................................... 11
2.2.5 Functions in PHP .................................................................................................... 13
2.2.6 File Handling in PHP............................................................................................... 14
2.2.7 Object Oriented Programming in PHP .................................................................... 14
2.2.8 Error Handling in PHP ............................................................................................ 16
2.3 MySQL Database ...................................................................................................... 17
2.3.1 Introduction to MySQL ............................................................................................ 17
2.3.2 MySQL Overview .................................................................................................... 17
2.3.3 Database Design .................................................................................................... 18
2.3.4 Data Types in MySQL ............................................................................................. 19

vi
2.3.5 Basic SQL Queries ................................................................................................. 19
2.3.6 Joins and Relationships .......................................................................................... 20
2.3.7 Database Optimization ........................................................................................... 21
2.3.8 Error Handling in MySQL ........................................................................................ 21
2.4 Python Programming ................................................................................................. 22
2.4.1 Introduction to Python ............................................................................................. 23
2.4.2 Data Types and Variables in Python ....................................................................... 23
2.4.3 Control Structures in Python ................................................................................... 24
2.4.4 Loops in Python ...................................................................................................... 25
2.4.5 Functions in Python ................................................................................................ 26
2.4.6 File Handling in Python ........................................................................................... 27
2.4.7 Object Oriented Programming in Python................................................................. 28
2.4.8 Error Handling in Python ......................................................................................... 29
CHAPTER THREE .......................................................................................................... 30
3.1 Application of Knowledge Acquired ............................................................................ 30
3.2 Introduction................................................................................................................ 30
3.3 Hotel Management System........................................................................................ 30
3.4 Objectives of The System .......................................................................................... 30
3.5 Interface of The System ............................................................................................. 30
3.5.1 Visitor Home Page .................................................................................................. 31
3.5.2 Administrator Dashboard ........................................................................................ 32
3.5.3 Visitor Booking Panel .............................................................................................. 33
3.5.4 Approve Booking Managenent ................................................................................ 34
3.5.5 Check In and Out Guest Dashboard ....................................................................... 35
3.5.6 Staff Management .................................................................................................. 36
3.5.7 Room Management ................................................................................................ 37
3.5.8 Add Administrator Panel ......................................................................................... 38
3.5.9 Restaurant Menu .................................................................................................... 39
3.6 Problems Encountered .............................................................................................. 40
3.7 Possible Suggestion to the Problem .......................................................................... 40
CHAPTER FOUR ............................................................................................................ 41
4.1 Summary ................................................................................................................... 41
4.2 Conclusion................................................................................................................. 41
4.3 Recommendations..................................................................................................... 42
4.4 References ................................................................................................................ 43

vii
LIST OF TABLES/FIGURES/PLATES/APPENDICES
Figure 1: Organizational chart of BRIATEK Computer Nigeria Limited…………….….7

Figure 2: Visitor Home Page…………………….......……………………………………31

Figure 3: Administrator dashboard…………………………....………………………….32

Figure 4: Visitor Booking Panel…………………………………………………………..33

Figure 5: Approve Booking Management………………………………………………..34

Figure 6: Check In and Out Guest Dashboard………………………………………....35

Figure 7: Staff Management………………………………………………………………36

Figure 8: Room Management……………………………………………….…….……...37

Figure 9: Add Admin Panel………….….…………………………………………………38

Figure 10: Restaurant Menu………………………………………………………………39

viii
ABBREVIATIONS/DEFINITIONS/GLOSSARIES AND SYMBOLS

CSS: Cascading Style Sheet

CMS: Content Management System

CPN: Computer Professional Network

HTML: Hyper Text Markup Language

ITF: Industrial Training Fund

ICT: Information and Communication Technology

NBTE: National Board for Technical Education

NCE: National Certificate in Education

NCS: Nigeria Computer Society

NCCE: National Council for Colleges for Education

NLC: Nigerian Labor Congress

N.U.C: National University Commission

OOP: Object Oriented Programming

PHP: PHP Hypertext Preprocessor

SIWES: Student Industrial Work Experience Scheme

SQL: Structured Query Language

ix
CHAPTER ONE

Introduction

1.1 History of Student Industrial Work Experience Scheme (SIWES)

SIWES was established by Industrial Training Funds (ITF) in the year 1973 to solve
the problem of lack of adequate proper skills for employment of tertiary institution
graduates by Nigerian Industries. The Students Industrial Work Experience Scheme
(SIWES) was founded to be a skill training program to help expose and prepare
students of universities, polytechnics, and colleges of education for the industrial
work situation to be met after graduation. This scheme serves as a smooth transition
from the classroom to the world of work and further helps in the application of
knowledge. The scheme provides students with the opportunity to acquire and
expose themselves to the experience required in handling and managing equipment
and machinery that are usually not made available in their institutions.

Before this scheme was established, there was a growing concern and trend noticed
by industrialists that graduates of higher institutions lacked sufficient practical
background for employment. It used to be that students who got into Nigerian
institutions to study science and technology were not trained in the practical know
how of their various fields of study. As a result, they could not easily find jobs due to
the lack of working experience. Therefore, the employers thought that theoretical
education going on in higher institutions was not responsive to the needs of the
employers of labour.

This was a huge problem for thousands of Nigerians until 1973. It is against this
background that the fundamental reason for initiating and designing the scheme by
the fund in 1973/74 was introduced.

The ITF organization decided to help all interested Nigerian students and established
the SIWES program. It was officially approved and presented by the Federal
Government in 1974. The scheme was solely funded by the ITF during its formative
years but as the financial involvement became unbearable to the fund, it withdrew
from the scheme in 1978. In 1979, the federal government handed over the
management of the scheme to both the NUC and the NBTE. Later, in November
1984, the federal government reverted the management and implementation of the

1
scheme to ITF. In July 1985, it was taken over by the ITF while the funding was
solely borne by the federal government. (Culled from Job Specifications on Students
Industrial Work Experience Scheme).

1.2 Bodies Involved in SIWES

The main bodies involved in the Student Industrial Work Experience Scheme are;
the tertiary institutions and the Federal Government through the ITF.

Other supervising agencies include:

 National University Commission (NUC)

 National Board for Technical Education (NBTE)

 National Council for Colleges for Education (NCCE)

 Industry/Employers

 Tertiary Institutions (Universities, Polytechnics, Colleges of Education)

 Student Trainees (Engineering, Science, Technology, NCE Technical).

The functions of these agencies above are to:

 Ensure adequate funding of the scheme

 Establish and accredit SIWES units in the approved institutions

 Formulate policies and guidelines for participating bodies and institutions as


well as appoint SIWES coordinators and supporting staff

 Supervise students at their places of attachment and sign their log book and
ITF forms.

 Vet and process student's Log books and forward them to ITF area office

 Ensure payment of all allowances for the students and supervisors.

1.3 Vision Statement

To be the prime Skills Training Development Organization in Nigeria and one of


the best in the world.

2
1.4 Mission Statement

To set and regulate standards and offer direct training intervention in industrial and
commercial skills training and development, using a corps of highly competent
professional staff, modern techniques, and technology.

1.5 Aims of SIWES and Objectives & Scope of SIWES in Nigeria

SIWES aims to expose students to professional working experience. In handling


equipments, machines, and familiarizing students with the work area and workers of
industries and organizations.

1. SIWES provides an avenue for students in institutions of higher learning to


acquire industrial skills and experiences in their course of study.

2. Prepare the students for the industrial work situation they’re likely to meet
after graduation.

3. Expose students to work methods and techniques in handling equipment and


machinery that may not be available in their institutions.

4. Make the transition from school to the world of work easier and enhance
students' contact for later job placement.

5. SIWES provides students with an opportunity to apply their knowledge in real


work situations thereby bridging the gap between theory and practice.

6. Enlist and strengthen Employers' involvement in the entire educational


process and prepare students for employment after graduation.

7. Enabling the easier and smoother transition from school by equipping


students with better contact for future work placement

8. To help SIWES students develop employment records/references that will


enhance employment opportunities.

1.6 Roles of Various Organizations Associated with the


Management of SIWES

The sustainability and effectiveness of the SIWES rely on the collaborative efforts of
various organizations. These include the Federal Government, the ITF, and

3
collaborative agencies such as the N.U.C and the Nigerian Labor Congress (NLC).
Each entity plays a crucial role in overseeing and managing different aspects of the
SIWES program, ensuring its success and impact.

1.6.1 Roles Of Industrial Training Fund (I.T.F)

The ITF assumes several vital roles in the administration and management of the
SIWES program viz:

1. Formulating policies and guidelines related to SIWES and disseminating them


to all participating bodies, institutions, and companies involved in the program.

2. Organizing orientation programs for students prior to their attachment to


industrial placements, ensuring they are well prepared for the experience.

3. Receiving and processing master and placement lists of prospective students


for SIWES from collaborating institutions and bodies such as the N.U.C.

4. Supervising and inspecting students during their industrial attachments to


ensure adherence to program objectives and standards.

5. Disbursing allowances to students and their supervisors during specified


periods of the program, ensuring their financial needs are met.

1.6.2 The Roles of Higher Institutions

Higher institutions play crucial roles in the successful implementation of the SIWES.
These roles encompass various responsibilities, including:

1. Establishing a dedicated SIWES coordinating unit, adequately staffed and


funded, to ensure the smooth and efficient operation of the scheme.

2. Appointing SIWES coordinators from each faculty to oversee the program's


implementation and coordination within their respective departments.

3. Compiling and submitting master/placement lists of students to their


designated organizations, facilitating the placement process.

4. Developing course specifications for all accredited programs and awarding


appropriate credit units in compliance with Federal Government minimum
academic standards.

4
5. Identifying and facilitating opportunities for trained students' placement with
employers upon completion of their attachments, among other duties.

1.6.3 Role of Students/Organizations

Students, as integral participants in the SIWES program, have specific


responsibilities that contribute to its success. These include:

1. Attending the institution's SIWES orientation program before commencing


their attachments, ensuring they are adequately prepared for the experience.

2. Adhering strictly to the rules and regulations of the organizations where they
are attached, demonstrating obedience to authorities and respect for
workplace protocols.

3. Maintaining regular attendance and punctuality at their assigned places of


attachment, fulfilling their obligations diligently and responsibly.

4. Seeking approval from relevant authorities, including institution supervisors


and employers, for any relocation during the attachment period, adhering to
established protocols.

5. Showing respect and professionalism towards their supervisors and


colleagues at their places of attachment, fostering positive working
relationships.

1.7 Background History of BRIATEK Computers Nigeria Limited

The inception of BRIATEK Computers Nigeria Limited in Gombe marks a significant


milestone in the realm of information technology (IT) education and consultancy
services. Established in 2015, it emerged as a registered organization with a primary
mission to support and empower the unindustrialized landscape of IT.

Since inception, it has been dedicated to leveraging modern technologies to


transform manual systems into efficient computerized solutions. The institute
specializes in a wide array of services, including website maintenance, institutional
portal design, and the development of mobile and desktop applications using
contemporary programming languages.

5
Over the years, BRIATEK has evolved into a comprehensive learning hub, offering
extensive training programs in various fields of computer science. These programs
encompass web design and development, mobile application development,
database management, content management systems (CMS), and more. Through
its robust curriculum and hands on approach, the institute equips students with
practical skills and knowledge essential for success in the rapidly evolving IT
industry.

Situated in the heart of Gombe Local Government shopping complex, BBU No.3-5
near Tudun Hatsi, Gombe state, Nigeria, BRIATEK Computers Nigeria Limited has
established itself as a pioneering force in the realm of computer education and ICT
solutions. Its commitment to excellence and innovation has positioned it as a leader
in providing cutting edge learning solutions not only in Gombe but also beyond its
borders.

6
1.8 BRIATEK Computers Nigeria Limited Organizational Chart

Figure 1: Organizational chart of BRIATEK Computers Nigeria Limited

7
CHAPTER TWO

WORK EXPERIENCE

2.1 Introduction Description of Work Done

During my six months SIWES program at BRIATEK Computers Nigeria Limited, all
lectures and practical works took place at the company where all resource persons
came to teach us the practical skills, The activities, knowledge and skills I acquired
during the period of attachment in BRIATEK include but not limited to the following:

i. PHP Programming

ii. MySQL

iii. Python Programming

2.2 Introduction to PHP

PHP was originally created in 1994 by Rasmus Lerdorf and has since evolved into a
full-fledged programming language with extensive features for web development. It is
especially known for its simplicity, making it accessible to beginners while also
providing powerful tools for professional developers. PHP code is typically enclosed
within special tags like <?php ... ?>, allowing it to be integrated seamlessly into
HTML.

2.2.1 PHP Programming

PHP (Hypertext Preprocessor) is a widely used, open source, server side scripting
language designed for web development. It is especially suited for creating dynamic
and interactive web pages, and it can be embedded directly into HTML. The PHP
language executes on the server, producing HTML content that is then sent to the
client's browser. With its versatility and ease of integration with databases, PHP is a
popular choice for building web applications and websites.

Basic Syntax

PHP code is written within a script tag that begins with <?php and ends with ?>. The
PHP interpreter will execute the code inside these tags, allowing developers to
intermix PHP with HTML code. Each statement in PHP ends with a semicolon (;),

8
and comments can be made using // for single line comments or /* ... */ for multi line
comments.

Example of a simple PHP script:

<?php

echo "Hello, World!"; // This line outputs text to the browser

?>

In this script, the echo statement is used to display the text "Hello, World!" in a web
browser. PHP also supports various operators (arithmetic, comparison, logical) and
follows a structure similar to other C style languages.

2.2.2 Data Types and Variables in PHP

In PHP, variables are used to store data values and are defined with a dollar sign ($)
followed by the variable name. Variable names are case sensitive and must start
with a letter or an underscore.

Example:

<?php

$name = "John"; // A string variable

$age = 25; // An integer variable

$is_student = true; // A boolean variable

?>

PHP supports several data types:

1. String: A sequence of characters. E.g., "Hello"


2. Integer: Whole numbers. E.g., 42
3. Float (Double): Numbers with a decimal point. E.g., 3.14
4. Boolean: Represents true or false.
5. Array: Stores multiple values in one variable. E.g., [1, 2, 3]
6. Object: Instances of classes.
7. NULL: A special type representing a variable with no value.

9
8. Resource: Holds a reference to an external resource like a database
connection.

2.2.3 Control Structures in PHP

Control structures in PHP allow developers to dictate the flow of the program based
on various conditions.

Conditional Statements

Conditional statements execute different blocks of code depending on whether a


specified condition is true or false. The primary conditional statements in PHP are if,
else, elseif, and switch.

If Statement: Executes a block of code if a condition is true.

<?php

$age = 20;

if ($age >= 18) {

echo "You are an adult.";

?>

If-Else Statement: Executes one block of code if the condition is true, and another
block if it is false.

<?php

$age = 16;

if ($age >= 18) {

echo "You are an adult.";

} else {

echo "You are a minor.";

?>

10
Switch Statement: Compares a variable against multiple values, executing different
blocks of code based on the matching case.

<?php

$day = "Monday";

switch ($day) {

case "Monday":

echo "Start of the workweek!";

break;

case "Friday":

echo "Almost the weekend!";

break;

default:

echo "Midweek day.";

?>

2.2.4 Loops in PHP

Loops are used to execute a block of code multiple times.

For Loop: Executes a block of code a specified number of times.

<?php

for ($i = 0; $i < 5; $i++) {

echo "The number is: $i <br>";

?>

While Loop: Continues to execute a block of code while a specified condition is true.

11
<?php

$i = 0;

while ($i < 5) {

echo "The number is: $i <br>";

$i++;

?>

Do-While Loop: Executes a block of code at least once, and then repeats it as long
as the specified condition is true.

<?php

$i = 0;

do {

echo "The number is: $i <br>";

$i++;

} while ($i < 5);

?>

Foreach Loop: Iterates over elements in an array.

<?php

$colors = ["Red", "Green", "Blue"];

foreach ($colors as $color) {

echo "Color: $color <br>";

?>

12
2.2.5 Functions in PHP

Functions are blocks of code that perform specific tasks and can be reused
throughout the program.

Function Definition and Parameters

A function in PHP is defined using the function keyword followed by the function
name and parentheses containing any parameters.

<?php

function greet($name) {

echo "Hello, $name!";

greet("Alice");

?>

This example, the function greet takes a single parameter $name and outputs a
greeting message.

Returning Values from Functions

Functions can return values using the return statement.

<?php

function add($a, $b) {

return $a + $b;

$result = add(3, 4);

echo $result; // Outputs 7

?>

The add function returns the sum of the two parameters, and the returned value is
stored in the variable $result.

13
2.2.6 File Handling in PHP

PHP provides built-in functions for creating, reading, writing, and manipulating files.

Opening and Reading Files

To open a file, the fopen function is used, which requires the file path and the mode
(e.g., r for read, w for write). The fread function reads content from the file.

<?php

$file = fopen("example.txt", "r");

$content = fread($file, filesize("example.txt"));

fclose($file);

echo $content;

?>

Writing to FilesTo write to a file, use the fopen function with the mode set to w
or a, and then use fwrite.

<?php

$file = fopen("example.txt", "w");

fwrite($file, "Hello, World!");

fclose($file);

?>

2.2.7 Object Oriented Programming in PHP

OOP in PHP allows developers to create modular, reusable code by defining classes
and creating objects from those classes.

Classes and Objects

A class is a blueprint for creating objects, which are instances of classes.

<?php

class Car {

14
public $make;

public $model;

public function __construct($make, $model) {

$this->make = $make;

$this->model = $model;

public function display() {

echo "Car: $this->make $this->model";

$myCar = new Car("Toyota", "Corolla");

$myCar->display();

?>

Inheritance and Polymorphism

Inheritance: A class can inherit properties and methods from another class using the
extends keyword.

<?php

class ElectricCar extends Car {

public $batteryCapacity;

public function display() {

parent::display();

echo " with battery capacity of $this->batteryCapacity kWh";

?>

15
Polymorphism: Allows different classes to be treated as instances of the same
class through inheritance. Methods can be overridden to provide specific behavior in
subclasses.

2.2.8 Error Handling in PHP

Error handling in PHP allows for managing errors gracefully, ensuring the program
doesn't crash when unexpected conditions arise.

Try Catch Blocks

A try catch block is used to catch exceptions thrown during script execution.

<?php

try {

if (!file_exists("file.txt")) {

throw new Exception("File not found.");

} catch (Exception $e) {

echo "Error: " . $e->getMessage();

?>

Handling Specific Exceptions

PHP allows catching different types of exceptions separately by specifying the


exception class in the catch block.

<?php

try {

// Code that may throw different types of exceptions

} catch (FileNotFoundException $e) {

echo "File not found error.";

16
} catch (DatabaseException $e) {

echo "Database connection error.";

} ?>

2.3 MySQL Database

MySQL is a widely used open source relational database management system


(RDBMS) that organizes, manages, and manipulates data. It is a crucial component
of the LAMP stack (Linux, Apache, MySQL, PHP/Perl/Python), frequently used in
web development. By using Structured Query Language (SQL), MySQL enables
efficient data storage, retrieval, and modification, making it suitable for projects of
various sizes, from small scale applications to large enterprise solutions.

2.3.1 Introduction to MySQL

Initially developed by a Swedish company called MySQL AB, MySQL was later
acquired by Sun Microsystems in 2008 and is now owned by Oracle Corporation.
MySQL databases consist of tables, where data is organized in rows and columns.
Each row represents a data record, and each column represents an attribute or field
of the data. SQL commands are used to perform various tasks like querying data,
inserting new records, updating existing data, and deleting records.

2.3.2 MySQL Overview

MySQL's popularity stems from its features like performance, security, scalability,
and ease of use, making it a versatile choice for different applications:

 Cross Platform Compatibility: MySQL can be installed on a range of operating


systems, such as Windows, Linux, and macOS.
 High Performance: It is optimized for speed, especially for read-heavy
operations, which is ideal for web applications.
 Scalability: Capable of handling large datasets, making it suitable for both
small and large scale projects.
 Security: Provides robust security features, including user authentication,
access control, and encrypted connections.
 Open Source: Available under the GNU General Public License, though
commercial versions with added features are also provided by Oracle.

17
Installing MySQL

Installation procedures for MySQL differ depending on the operating system used:

Windows Installation:

 Download the MySQL Installer from the official MySQL website.


 Run the installer and follow the setup prompts to install the MySQL server and
optional tools like MySQL Workbench.
 Configure the server settings, such as setting a root password and enabling
network access.
 Start the MySQL server and verify the installation.

Linux Installation:

 Use a package manager (like `apt` for Debian based systems or `yum` for
Red Hat based systems) to install the MySQL server.
 Perform server configuration and secure the installation using the setup script
provided.
 Verify the installation by connecting to the MySQL server using the command
line interface.

2.3.3 Database Design

Database design involves creating a structured schema to organize data efficiently. A


well structured design minimizes redundancy and allows for fast data access and
manipulation.

Creating Databases and Tables

Data in MySQL is organized into databases, which consist of tables. Each table
contains rows (records) and columns (fields).

Creating a Database:

CREATE DATABASE school;

Creating a Table:

CREATE TABLE students (

id INT AUTO_INCREMENT PRIMARY KEY,

18
name VARCHAR(100) NOT NULL,

age INT,

enrollment_date DATE

);

The code above creates a table named `students` with columns for `id`, `name`,
`age`, and `enrollment_date`. The `id` column serves as the primary key, ensuring
that each record is unique, while the `AUTO_INCREMENT` attribute automatically
assigns a unique value to new entries.

2.3.4 Data Types in MySQL

MySQL supports various data types to accommodate different types of data:

 Numeric Types: For storing numbers, including INT, FLOAT, DOUBLE, and
DECIMAL.
 String Types: For text data, such as CHAR, VARCHAR, and TEXT.
 Date and Time Types: For handling date and time values, including DATE,
TIME, and DATETIME.
 Spatial Types: For geographical data, such as POINT and LINESTRING.
 JSON: For storing JSON formatted data structures.

2.3.5 Basic SQL Queries

SQL commands are used to perform different operations on the data stored in a
MySQL database. Basic queries include selecting data, inserting new records,
updating existing data, and deleting records.

SELECT: Retrieves data from one or more tables.

SELECT * FROM students;

INSERT: Adds new records to a table.

INSERT INTO students (name, age, enrollment_date) VALUES ('John Doe', 20,
'2024-01-15');

UPDATE: Modifies existing records.

19
UPDATE students SET age = 21 WHERE name = 'John Doe';

DELETE: Removes records from a table.

DELETE FROM students WHERE name = 'John Doe';

Filtering Data with WHERE

The WHERE clause is used to filter records based on specific conditions.

Example: Retrieve students who are older than 18.

SELECT * FROM students WHERE age > 18;

Example: Update records that meet certain criteria.

UPDATE students SET age = age + 1 WHERE enrollment_date < '2023-01-01';

2.3.6 Joins and Relationships

In relational databases, tables can be linked through relationships, often established


using foreign keys. Joins are used to query data from multiple related tables.

Inner and Outer Joins

Inner Join: Returns records that have matching values in both tables.

SELECT students.name, courses.course_name

FROM students

INNER JOIN enrollments ON students.id = enrollments.student_id

INNER JOIN courses ON enrollments.course_id = courses.id;

Left (Outer) Join: Returns all records from the left table and matched records from
the right table.

SELECT students.name, courses.course_name

FROM students

LEFT JOIN enrollments ON students.id = enrollments.student_id

LEFT JOIN courses ON enrollments.course_id = courses.id;

Foreign Keys and Relationships

20
Foreign keys establish relationships between tables by linking the primary key of one
table to a foreign key in another, ensuring referential integrity

Example: Adding a foreign key constraint.

CREATE TABLE enrollments (

student_id INT,

course_id INT,

FOREIGN KEY (student_id) REFERENCES students(id),

FOREIGN KEY (course_id) REFERENCES courses(id)

);

2.3.7 Database Optimization

Optimizing a database ensures faster data access and efficient use of resources.

Indexing for Performance

Indexes improve the speed of data retrieval by creating a reference for quickly
locating records.

Creating an Index:

CREATE INDEX idx_student_name ON students(name);

Normalization and Denormalization

Normalization: Organizes data to reduce redundancy and improve data integrity by


dividing large tables into smaller related tables.

Denormalization: Combines tables to improve performance at the expense of some


data redundancy.

2.3.8 Error Handling in MySQL

Proper error handling ensures that issues in SQL operations do not cause
application failures and helps maintain data consistency.

Handling SQL Errors

21
SQL errors can be caught and managed using programming techniques, such as
exception handling in PHP.

Example: Handling errors with PHP.

try {

$conn->query($sql);

} catch (mysqli_sql_exception $e) {

echo "Error: " . $e->getMessage();

Transactions and Rollbacks

Transactions: allow multiple SQL operations to be treated as a single unit. If an


operation fails, the entire transaction can be rolled back to maintain consistency.

Example: Using transactions.

START TRANSACTION;

UPDATE accounts SET balance = balance - 100 WHERE account_id = 1;

UPDATE accounts SET balance = balance + 100 WHERE account_id = 2;

COMMIT;

If any operation fails, a `ROLLBACK` command can be executed to undo the


changes, ensuring that all updates are applied only if all operations succeed.

2.4 Python Programming

Python is a high level, interpreted programming language known for its simplicity
and readability. It is widely used in web development, data analysis, artificial
intelligence, scientific computing, and scripting. Python's extensive standard library,
large community, and compatibility with other languages and platforms make it a
versatile language suitable for various tasks.

22
2.4.1 Introduction to Python

Python's design philosophy emphasizes code readability, making it a great choice for
beginners and experienced programmers alike. Python uses indentation to define
blocks of code, which enforces a consistent coding style.

Basic Syntax

Python's syntax is designed to be easy to understand and write. Here are some key
features:

 Case Sensitivity: Python is case sensitive, meaning that `Variable` and


`variable` would be considered different identifiers.
 Indentation: Unlike other programming languages that use braces or
keywords to define code blocks, Python uses indentation (spaces or tabs) to
group statements.

Example:

if x > 0:

print("Positive number")

else:

print("Non-positive number")

Comments:

 Single line comments start with `#`, This is a single-line comment #


 Multi-line: comments can be created using triple quotes (' ' ' or " " "). This is a
multi-line comment “””

2.4.2 Data Types and Variables in Python

Python supports a variety of data types, and variables do not need explicit
declaration. Here are some common data types:

1. Numbers: Includes integers (`int`), floating-point numbers (`float`), and


complex numbers (`complex`).
age = 25 # int
price = 19.99 # float

23
z = 3 + 4j # complex
2. Strings: A sequence of characters, defined by single, double, or triple quotes.

name = "John Doe"

description = '''This is a multi-line string.'''

3. Booleans: Represents `True` or `False`.


is_active = True
is_admin = False
4. Lists: An ordered, mutable collection of elements.
fruits = ["apple", "banana", "cherry"]
5. Tuples: An ordered, immutable collection of elements.
coordinates = (10, 20)
6. Dictionaries: A collection of key-value pairs, where each key is unique.
person = {"name": "Alice", "age": 30}

Variables in Python are dynamically typed, meaning you can change the type of a
variable by assigning a new value to it.

2.4.3 Control Structures in Python

Control structures allow for the execution of specific blocks of code based on
conditions or loops. They are essential for creating dynamic programs.

Conditional statements allow the execution of different code blocks based on


whether a condition is true or false. Python uses `if`, `elif`, and `else` for conditional
statements.

If Statement: Executes a block of code if a specified condition is true.

x = 10

if x > 0:

print("Positive number")

If-Else Statement: Provides an alternative block of code if the condition is false.

if x > 0:

print("Positive number")

24
else:

print("Non-positive number")

If-Elif-Else Chain: Allows for multiple conditions to be checked in sequence.

if x > 0:

print("Positive")

elif x < 0:

print("Negative")

else:

print("Zero")

2.4.4 Loops in Python

Loops in Python enable the execution of a code block multiple times. The two main
types are `while` loops and `for` loops.

While Loop: Repeats a block of code while a condition is true.

count = 0

while count < 5:

print(count)

count += 1

For Loop: Iterates over a sequence (like a list, tuple, or string).

for fruit in ["apple", "banana", "cherry"]:

print(fruit)

Break and Continue: `break` exits the loop, and `continue` skips to the next
iteration.

for num in range(10):

if num == 5:

break

25
if num % 2 == 0:

continue

print(num)

2.4.5 Functions in Python

Functions are reusable blocks of code that perform a specific task. They help in
organizing code and improving readability.

Function Definition and Parameters

Functions in Python are defined using the `def` keyword, followed by the function
name, parentheses, and a colon. Parameters can be passed to functions to
customize their behavior.

Defining a Function:

def greet(name):

print(f"Hello, {name}!")

Calling a Function:

greet("Alice")

Default Parameters: Parameters can have default values.

def greet(name="Guest"):

print(f"Hello, {name}!")

greet() # Output: Hello, Guest!

Returning Values from Functions

Functions can return values using the `return` statement. This allows the function's
result to be used elsewhere in the program.

Returning a Value:

def add(a, b):

return a + b

26
result = add(5, 3) # result is 8

Returning Multiple Values:

def get_user_info():

name = "John"

age = 30

return name, age

user_name, user_age = get_user_info()

2.4.6 File Handling in Python

File handling in Python allows programs to read from and write to files, which is
essential for data storage and manipulation.

Opening File:

Python provides built-in functions for file handling, including `open()`, which can open
a file in different modes such as read (`r`).

Reading a File:

file = open("example.txt", "r")

content = file.read()

print(content)

file.close()

Using `with` Statement: Ensures that the file is properly closed after its suite finishes.

with open("example.txt", "r") as file:

content = file.read()

print(content)

Writing to Files

Writing to a file involves using the `write()` method. Opening a file in write mode (`w`)
will overwrite the file, while append mode (`a`) adds to the existing content.

27
Writing to a File:

with open("output.txt", "w") as file:

file.write("Hello, World!"

Appending to a File:

with open("output.txt", "a") as file:

file.write("\nNew Line")

2.4.7 Object Oriented Programming in Python

OOP is a programming paradigm based on the concept of "objects" that contain data
and methods. Python supports OOP, making it easier to structure programs using
real-world concepts.

Classes and Objects

Classes define the blueprint for objects, and objects are instances of classes.

Defining a Class:

class Car:

def __init__(self, make, model):

self.make = make

self.model = model

def display_info(self):

print(f"Car: {self.make} {self.model}")

Creating an Object:

my_car = Car("Toyota", "Camry")

my_car.display_info()

Inheritance and Polymorphism

Inheritance allows one class to inherit attributes and methods from another,
promoting code reuse.

28
Inheritance Example:

class ElectricCar(Car):

def __init__(self, make, model, battery_size):

super().__init__(make, model)

self.battery_size = battery_size

Polymorphism allows methods to be used in different ways based on the object.

Polymorphism Example:

class Animal:

def speak(self):

pass

class Dog(Animal):

def speak(self):

return "Woof!"

class Cat(Animal):

def speak(self):

return "Meow!"

animals = [Dog(), Cat()]

for animal in animals:

print(animal.speak())

2.4.8 Error Handling in Python

Error handling in Python allows programs to deal with runtime errors gracefully,
without crashing. The use of `try`, `except`, and other mechanisms helps manage
exceptions.

Try-Except Blocks

The `try-except` block lets you catch exceptions and handle them appropriately.

29
CHAPTER THREE

Application of Knowledge Acquired


3.1 Introduction
This chapter will provide the detailed information of the Application of knowledge I
acquired during my industrial training scheme at BRIATEK Computers Nigeria
Limited (March – September 2024).

Based on the knowledge I acquired on Web Design and Development (Back-End)


During the six months period of my SIWES, I was able to design Hotel Management
System (JB’s Hotel Management System) that can serve as an alternative to manual
processes to reduce the cost and waste of energy, time and resources by the
organization and their guest. Even though, this is only accomplished within a short
period of time and to be submitted as a SIWES report, but if I can be allowed to take
it as my final project, I can do all my best to improve it to the highest level of
standard.

3.2 Hotel Management System


Hotel Management system is a web-based application system that contains pages
with partly or entirely undetermined content. The final content of a page is
determined only when the page visitors request a page from the web server,
because the final content of the page varies from request to request/booking based
on the guest actions and information provided. This kind of page is called a dynamic
web page. Web applications are built to address a variety of challenges and
problems as is built to tackle the challenges faced by guest from manual booking in
terms of wasting much time on the transport/treks and a lot of stress for the guest to
reach the Location.

3.3 Objectives of The System


The main objectives of this project are:

1. Organizational publicity
2. Reduces waste of resources, time and strength.
3. Remote booking
4. Provide up-to-date information about the organizations
5. Making order of food from the Hotel restaurant (for those who are already in
hotel)
6. Manage booking, staffing, rooms, and guest/visitor.

3.4 Interface of The System


The interfaces are application and result of the knowledge combined of HTML, CSC
JAVASCRIPT, MySQL and PHP.

30
3.4.1 Visitor Home Page

Home page is the main landing page for guests, providing a user-friendly interface to
explore the hotel’s facilities, browse available rooms, access detailed descriptions of
services, and make bookings. This page also offers information about special offers,
events, and additional services, making it an engaging entry point for potential
guests.

Figure 2: Visitor Home Page

31
3.4.2 Administrator Dashboard

This is the central control hub for the hotel management. It enables administrators to
oversee all aspects of hotel operations, including managing bookings, tracking
occupancy rates, monitoring financial performance, and generating detailed reports.

Figure 3: Administrator dashboard

32
3.4.3 Visitor Booking Panel

For guests, Visitors Booking Panel allows easy booking submissions, where they
can select room types, specify dates, and provide necessary details.

Figure 4: Visitor Booking Panel

33
3.4.4 Approve Booking Managenent

This section allows administrators to review booking requests, approve or reject


them, and make necessary adjustments to reservations based on availability or
special requirements.

Figure 5: Approve Booking Management

34
3.4.5 Check In and Out Guest Dashboard

Guests also have access to a personalized data, where they can manage their
bookings, view their reservation history, make payments, receive notifications, and
access personalized offers.

Figure 6: Check In and Out Guest Dashboard

35
3.4.6 Staff Management

Staff operations are efficiently managed through the staff Management module. This
section oversees employee scheduling, shift allocations, performance tracking, and
permissions management, helping the hotel to maintain a high standard of service
while managing workforce needs.

Figure 7: Staff Management

36
3.4.7 Room Management

The Room Dashboard is an administrative tool for monitoring and updating room
status, adjusting pricing, scheduling maintenance, and viewing detailed room
information, all of which is to ensure the hotel rooms are managed effectively and
efficiently.

Figure 8: Room Management

37
3.4.8 Add Administrator Panel

The panel that plays a crucial role in system security and user management. It
allows authorized personnel to add new administrators, assign roles, manage
permissions, and control access to sensitive features, ensuring only authorized staff
handle critical operations.

Figure 9: Add Admin Panel

38
3.4.9 Restaurant Menu
The Restaurants component supports the dining experience within the hotel. It
allows guests to view the restaurant menu, make table reservations, place orders,
and review billing details. Administrators can manage the menu, handle reservations,
track orders, and manage special offers, creating a seamless dining experience for
visitors.

Figure 10: Restaurant Menu

39
3.5 Problems Encountered

During my SIWES program at BRIATEK Computers Nigeria Limited Gombe, I


encountered certain problems including:

i. Distance of work place from my residence.

ii. No free internet access in the center, which limit my research ability.

3.6 Possible Suggestion to the Problem

i. Allowances should be paid to students during their program because it would


help them to handle some financial problems during their training period.
ii. The industry should provide local running transportation or accommodation as
well as feeding allowances to the student attached to them; this kind of
motivation will make the student to participate actively and the industry may
also benefit a lot from him.
iii. Students should be allowed to have access to the internet facilities of their
places of attachment so that they can use it for research.

40
CHAPTER FOUR

Summary, Conclusion, Recommendations and References

4.1 Summary

This report contains the critical knowledge, skills, and experiences I gained during
my six months Industrial Training at BRIATEK Computers Nigeria Limited. During this
period, I applied these skills to design a Hotel Management System using HTML,
CSS, JavaScript, PHP, MySQL, and Python. When implemented, this system will
offer a fast, cost effective, accurate, efficient, and reliable means of Hotel
management for users the state, Nigeria and beyond. It is user friendly, allowing
easy access from any part of the world. The system can maintain user records, verify
ticket numbers by detecting invalid inputs, and provide error messages to notify
users. Additionally, records can be edited or deleted as necessary. This project is
anticipated to play a crucial role in enhancing the operational efficiency and
effectiveness of the Hotel system.

4.2 Conclusion

The SIWES training provided me with practical experience in applying the theoretical
knowledge gained at my institution. It also allowed me to use devices and tools
available at my training center, practical workplace reporting, and adapt to potential
post-graduation work environments. Through SIWES, I successfully met the
program's aims and objectives.

41
4.3 Recommendations

Despite achieving most of the SIWES objectives during my training, nevertheless, I


have the following recommendations to improve the qualitative context and the
effectiveness of SIWES, I offer the following suggestions:

1. Students should thoroughly research potential attachment sites to avoid idle


periods.

2. Students should demonstrate seriousness and commitment to their IT


placements, encouraging organizations to invest more in their training.

3. Participation of various professional, regulatory, and statutory bodies such as


CPN, and NCS in the supervision of students.

4. Sending students specifically to establishments where the stipulated aims and


objectives of SIWES would be achieved.

5. Students should avoid prioritizing money over work and experience and
should develop a good attitude, and good work ethic and be a good
ambassador of the university.

42
4.4 References

Andy, H. (2014). HTML 5 and CSS3 All-in-One for Dummies, 3rd Edition, Wiley for
Dummies, pp. 120-161.
Ben, W., and Grant, T. (2013). Optimal Inventory Management Strategy of
Companies, Delhi, India.
Lee, Perlitz (2013). Optimal Inventory Policy, Australia: McGraw-Hill.
Michele, D., and John, P. (2014). Learning PHP and MySQL, O’Reilly Publishers.
The Students Industrial Work Experience Scheme (SIWES) Guideline (2012).
Tutorialspoint (http://www.tutorialspoint.com).
Wodi, S. W., and Dokubo, A. (2009). Appraisal of Student Industrial Work Experience
Scheme (SIWES) in Tertiary Institutions, European Journal of Social Science,
7(3), 42-51.
w 3schools (2016). Offline by Tricks University, at (www.w3school.com ).

43

You might also like