Obatola David's Technical Report
Obatola David's Technical Report
Obatola David's Technical Report
UNDERTAKEN AT
BY
FACULTY OF SCIENCE
AUGUST, 2021
DEDICATION
I dedicate this report to God Almighty, my immediate family, my aunt's
family, mentors, industrial based supervisors and many friends.
ACKNOWLEDGEMENTS
I will like to acknowledge my parents for their immense support, my aunt's family ,
who gave a lot support too,
my lecturers and all who have contributed to this point in the success of my
academic pursuit.
Page 1 of 56
ABSTRACT
Page 2 of 56
TABLE OF CONTENTS
DEDICATION …………………………………………………………… i
ACKNOWLEDGEMENTS ……………………………………………… 1
ABSTRACT ……………………………………………………………… 2
FRONTEND DEVELOPMENT……………………………………………….12
BACKEND DEVELOPMENT………………………………………………...17
TOOLS I USE FOR WEB DEVELOPMENT………………………………...18
Page 3 of 56
2.2 WEB DEVELOPMENT PROJECTS…………………………………..21
FRONTEND PROJECTS……………………………………………………....22
BACKEND PROJECTS.……………………………………………………….38
LIVE PROJECTS………………………………………………………………42
Page 4 of 56
Page 5 of 56
Page 6 of 56
CHAPTER ONE
INTRODUCTION
Page 7 of 56
over by the Industrial Training Fund (ITF) while the funding was solely borne
by the Federal Government.
Page 8 of 56
1.3 DESCRIPTION OF DOTS ICT INSTITUTE OF TECHNOLOGY
The Institute will provide personalized service to our students and support
their goals in rehabilitation, life-long learning and earning, and better
management of their independent lives; our students will acquire the career
Page 9 of 56
skills and the academic knowledge that ensure success in their chosen careers.
This is achieved through a blend of theoretical, practical, and vocational
instructions, plus work site experience, low student-to-instructor ratio, and
small study groups. We are committed to providing accessible and quality
education, and encouraging creativity, innovation, openness and cooperation
so as to enhance the student’s individuality and meet students' developmental
needs.
Page 10 of 56
MD/CEO
SERVICES OPERATIONS
TRAINING
2 MANAGER
MANAGER MANAGER
TEAM LEAD TEAM LEAD TEAM LEAD TEAM LEAD TEAM LEAD
TRAINING PROJECTS MAINTENANCE ACCOUNTS ADMIN
DEPARTMENT DEPARTMENT DEPARTMENT
TRAINING RECEPTIONIST
FACILITATOR
STANDALONE COMPUTER
MOBILE APP SECURITY TEAM
APP TEAM NETWORK
TEAM
TEAM
WEB APP
TEAM
Page 11 of 56
CHAPTER TWO
INDUSTRIAL EXPERIENCE
Web development is the building and maintenance of websites; it’s the work
that happens behind the scenes to make a website look great, work fast and
perform well with a seamless user experience.
Web development skills are in high demand worldwide and well paid too –
making development a great career option. It is one of the easiest accessible
higher paid fields as you do not need a traditional university degree to
become qualified.
The field of web development is generally broken down into front-end (the
user-facing side) and back-end (the server side).
Page 12 of 56
FRONTEND WEB DEVELOPMENT
The objective of designing a site is to ensure that when the users open up the
site they see the information in a format that is easy to read and relevant. This
is further complicated by the fact that users now use a large variety of devices
with varying screen sizes and resolutions thus forcing the designer to take
into consideration these aspects when designing the site. They need to ensure
that their site comes up correctly in different browsers (cross-browser),
different operating systems (cross-platform) and different devices (cross-
device), which requires careful planning on the side of the developer.
HTML
Page 13 of 56
Web browsers receive HTML documents from a web server or from local
storage and render the documents into multimedia web pages. HTML
describes the structure of a web page semantically and originally included
cues for the appearance of the document.
HTML elements are the building blocks of HTML pages. With HTML
constructs, images and other objects such as interactive forms may be
embedded into the rendered page. HTML provides a means to
create structured documents by denoting structural semantics for text such as
headings, paragraphs, lists, links, quotes and other items. HTML elements are
delineated by tags, written using angle brackets. Tags such
as <img /> and <input /> directly introduce content into the page. Other tags
such as <p> surround and provide information about document text and may
include other tags as sub-elements. Browsers do not display the HTML tags,
but use them to interpret the content of the page.
Page 14 of 56
The output
CSS
Cascading Style Sheets (CSS) is a style sheet language used for describing
the presentation of a document written in a markup language such
as HTML. CSS is a cornerstone technology of the World Wide Web, alongside
HTML and JavaScript.
Page 15 of 56
A sample css code snippet
JAVASCRIPT
Page 16 of 56
JavaScript , often abbreviated as JS, is a programming language that conforms
to the ECMAScript specification. JavaScript is high-level, often just-in-time
compiled, and multi-paradigm. It has curly-bracket syntax, dynamic
typing, prototype-based object-orientation, and first-class functions.
Page 17 of 56
BACKEND WEB DEVELOPMENT
Back end Development refers to the server side of development where you are
primarily focused on how the site works. Making updates and changes in
addition to monitoring functionality of the site will be your primary
responsibility. This type of web development usually consists of three parts: a
server, an application, and a database. Code written by back end developers is
what communicates the database information to the browser. Anything you
can’t see easily with the eye such as databases and servers is the work of a
back end developer. Back end developer positions are often called
programmers or web developers.
There different tools one can use for backend development, the ones I use at
the firm were, MYSQL and PHP, though I focused more on the frontend aspect.
MYSQL
Page 18 of 56
For the MYSQL, we used a tool called Xampp, a free and open-source cross
plat-form web server solution stack package.
PHP
Fast, flexible and pragmatic, PHP powers everything from your blog to the
most popular websites in the world.
During my training, I got introduced to a few essential tools that makes web
development easier, I used them throughout my training and for my projects.
Page 19 of 56
Visual Studio Code
Visual Studio Code is a lightweight but powerful source code editor which
runs on your desktop and is available for Windows, macOS and Linux. It
comes with built-in support for JavaScript, TypeScript and Node.js and has a
rich ecosystem of extensions for other languages (such as C++, C#, Java,
Python, PHP, Go) and runtimes (such as .NET and Unity).
Git is a DevOps tool used for source code management. It is a free and open-
source version control system used to handle small to very large projects
efficiently. Git is used to tracking changes in the source code, enabling
multiple developers to work together on non-linear development
Page 20 of 56
You has to install git on your system before you can use git locally and link
with your remote repository.
GitHub is a Git repository hosting service, but it adds many of its own features.
While Git is a command line tool, GitHub provides a Web-based graphical
interface. It also provides access control and several collaboration features,
such as a wikis and basic task management tools for every project.
Page 21 of 56
Chrome DevTools
I prefer to chrome devtools for it is more efficient, and it’s easier to get access
to many extensions that make development easier.
Page 22 of 56
I did quite a bit of projects in web development, following on with what I was
taught, what I helped the instructors and developers in doing, and what I
practiced at home on my own.
FRONTEND PROJECTS
A simple form
I designed a simple form using just html and css. It was designed using flex styling, one the
2 most responsive styling that came with css3. I created two divs inside a container, then
gave the cointainer the display:flex property. The first div of the container holds the
image,while the second div holds the form and social media icons.
Page 23 of 56
The css code for it
Page 24 of 56
This is final product
Profile Card
Another project I did was a simple profile card, that has an image and a few
details and the styling is in form of a card. It was created using just html and
css like the previous project. The final output shows a finely made card on a
light blue background, the additions are the svgs I used for the icons
Page 25 of 56
In the html we the main div with the class ‘flex-profile-card’ , it encapsulates
everything in the card. Within it we have the header , the div containing the
image , the div containing the details and the div containing the social media
icons.
Page 26 of 56
The css has us giving the body some default styles, after that we style the flex-
profile-card starting with display:flex and choosing the direction we want for
it, then we style the header, the image, the p tag, the details and the social
media icons. It is a fully responsive webpage.
Page 27 of 56
A Singlepage Website for a small organization
This one is more complex than the previous ones, having a nav-bar, a few
sections, fontawesome icons and even a footer. For the project I had to create
a folder, the main folder in which I created the index html file, then I added
other folders, the css folder, the images folder and the icons folder.
From the above image , it can be inferred that I used visual studio code as my
code editor, on the left partition of the image, we have the folders and files
within the folders, in the middle part, we have the index.html file where are
html codes are in, and on the right side, we have the css stylesheet where I
styled the website.
Page 28 of 56
After all that, what the webpage looks like is down below:
Page 29 of 56
Page 30 of 56
At the top is the navigation bar, which has the section links on the left side and
has the logo on the right side. Below the nav-bar, we get the intro to the site
and the site’s social media icons which has their links embedded within.
Below that are the services offered by the website’s owner, then what follows
is the about us section followed by the team members.
Age Calculator
The project is a simple javascript project that calculates age based on the year
inputted into the box. It was coded in html, css, and javascript. The html is the
skeleton, the css is the flesh and the javascript is the actions performed.
Starting off with the html file, it contains the simple a form wrapper class in a
div tag , the h1 tag that has the header for the application, the input tag that
takes in the user’s inputted year, followed by two span tags one to display the
age after an input, the other one to give error if an integer is not inputted into
Page 31 of 56
the box.
Then comes the styling with css, which contains a few simple styles by adding
a background color of a shade of light-green to the body, styling of the main
div, the age-wrapper class, was what I did next, I centered it on the page, made
all its content aligned at the center, then I gave it a box shadow to make it look
like it was cut out of the page, then I styled the input box, I added a
fontawesome Icon logo to the header named ‘Age Calculator’ which was given
a color of green, the placeholder within the input box was also styled to match
the background color, a placeholder is a text that’s in a box which fades away
upon adding single content into the input box.
Page 32 of 56
After the html and css has being coded and linked together we get the user
interface but no functions has been added yet because no javascript has being
added yet. What we get with just the html and css is below:
Page 33 of 56
To add functions to the application, I created a an external javascript file and
linked it to the html.
In the javascript file, I created 5 variables with the ‘var’ keyword, the first one
to get the current time and date, it’s a embedded function that came with the
latest javascript version, the ECMAScript 6. The second variable gets the
current year from the first variable and saves it within the variable, third
Page 34 of 56
variable is linked to the second span of the html file using the DOM (Document
Object Model), it will be used to verify the input and give alerts when due, the
fourth variable also uses the document object model to get user’s input fron
the box and stores it in the variable. The last variable then gives out the
calculated age within the first span. After all the variables comes the function
that calculates the age, within the function is the conditional statements that
verifies input, one that calculates after the verification is passed, and then
prints it out after it has been calculated.
Calculator
Page 35 of 56
Another project I played with was the calculator which I worked on twice, the
first one was created using just html and css without the calculation functions,
it was what I used to practice for the main project.
Page 36 of 56
For each row of buttons of the calculator, which I placed in different div tags
I style with display:flex and set the direction to default, when all rows has
been arranged, I used another div to wrap all the rows which also takes
another flex style but the direction was now changed to column to make it all
arranged properly . The whole content was given justify content center and
Page 37 of 56
align center in the style sheet which won’t work unless the height and width
of the body is specified.
The real calculator with functions is one that has javascript added and can
perform all the basic calculations a calculator can perform like addition,
subtraction, multiplication, division and the equal to funtion. It also has a clear
function that clears digits off the screen of the calculator .
The main interface of the calculator and the a simple calculation that was
performed on it, 15*36 = 540.
Below shows the code snippet of the project which includes the html, css, and
javascript code.
Page 38 of 56
Page 39 of 56
BACKEND PROJECTS
For the backend projects the tool I used the most was xampps. PHP and
MySQL were the main language I coded in for the backend.
Sign Up Form
I created simple signup form using html which I then linked to the database
using php codes, but for that to work I had to use xamppss and put on the
mysql server on the dashboard which also makes the code run and send the
data inputted into the form to the data base.
Above is the xampps control panel with the mysql and apache services
started, it allows us to work with the database that comes with it called
MariaDB, it also allows us to run the php codes.
Page 40 of 56
After that we create the database from the GUI of mysql which can be accessed
if we click on the admin button after starting the service.
What comes next after creating the database is to create the form, create the
connection file, and the registration file which will all be php files.
Page 41 of 56
The signup form code
The registration php file which verifies the data given and process it before
sending it to the database.
Page 42 of 56
And after all that, what we get is this:
Page 43 of 56
Live Projects
For my live projects aside from the ones I assisted the developers at the
company with, which were hosted with paid web hosts and domain, my
projects were hosted on netlify through github.
https://rayking.netlify.app/
https://monster-slayer-game-20.netlify.app/
https://a-kinda-resource-app.netlify.app/
Page 44 of 56
2.3 COMPUTER HARDWARE / REPAIRS
are required to make the job easier. Some recommended tools are
screwdrivers (precision
screw-drivers preferably), pliers, parts bag, flashlight, Compact Disk (CD) and
portable hard disk
Page 45 of 56
Screwdrivers are usually used to remove screws so as to dissemble computer
component parts or insert screws so as to assemble component parts. They
are several types based on the shape of the head. Commonly used ones are
star head screw drivers and flat screw drivers. For laptop computers,
precision screw drivers are needed. These screw drivers are adapted for
special and smaller screws. Pliers are used as alternatives to the fingers where
the fingers may be too large, especially on the motherboard where most of the
components are small. Commonly used for this purpose are the needle nose
pliers. Flashlights are small lighting devices which are used when working in
the dark or in places that are darkened, for instance, one may need a light
within the system unit to see the components more clearly. Compact Disks
(CDs) are storage devices which are used to keep information. You have the
recordable CD, which is typically used once, and the re-writeable CD, which
can be used and re-used. CDs are necessary for installation of software during
maintenance activities, where necessary. Portable hard disk drives or flash
drives are needed during maintenance operations to move files from one
place to another if necessary. A CD can also be used in this case, but flash
drives and portable hard disks are needed when the file or files to be moved
around are not too large, because it may be waste of the CD. These portable
hard disks or flash drives may also contain utility diagnostic softwares to be
used for diagnostics of the system to be maintained. Portable hard disks are
also called External Hard disks. A multi-meter may also be required for
checking of power supplies especially on desktop system.
They are several component parts of a computer, we have the outer parts of
the computer like the monitor, keyboard, mouse, system unit and we have the
Page 46 of 56
inner part of the computer which contains the motherboard, the processor,
the RAM sticks or modules, the cables, the hard disks or secondary storage
and many other components. Let us look at them in detail.
Monitor:
This is the visual part of the computer that looks like a television. It is called
an output device because it enables the user to view an output of whatever
operation he or she is performing. It is also called the visual display unit
(VDU). Common problems we find with it include, slacking of the video
connector (VGA connector).
Keyboard/Mouse:
The keyboard is an input device and is typically used for inputting data into
the computer. The mouse is also an input device used as an alternative to the
keyboard. The common problem with the keyboard and the mouse is breaking
of the pins in the PS/2 connectors on their connector cables due to frequent
plugging and unplugging.
The system unit basically holds the core components of the computer. It has a
casing or container. This container is designed such that some of the features
of the core components within the casing can be used. Within the system unit,
we can find the motherboard.
Motherboard:
Page 47 of 56
Every internal component in a computer connects to the motherboard and its
features largely determine what the computer is capable of plus its overall
performance. Motherboards are classified based on form factors (form factor
refers to the physical dimensions, sizes and shape as well as certain
connector, screw hole, and other positions that dictate into which type of case
the motherboard will fit).
Chassis or case
Motherboard sample
Processor:
Memory (RAM): The system memory is often called Random Access Memory
(RAM). This is the primary working memory. It holds all the programs and
the data that the processor is using at
a given time.
Page 48 of 56
Processor examples
Power Supply: The power supply feeds electrical power to the internal
components in the computer.
Video Card: This is the component on the motherboard that controls the
information that we see on the monitor.
Sound Card: A sound card is the component on the motherboard that enables
the PC to generate complex sounds.
Page 49 of 56
RAM (memory) modules
Hard Drive: The hard disk is the primary high-capacity storage media for the
system. All you data is stored on hard disks.
TROUBLESHOOTING
Page 50 of 56
Problem Identification Possible Cause Solution
Operating system will not Poor heat dissipation, Check the capacity of the heat
boot. improper voltage settings, sink and replace it if necessary,
loose connection of hard Check the hard disk cables for
disk or faulty hard disk tight connectivity and
cable interchange them to ensure
proper functionality.
Error: Operating system not Corrupt operating system, Check if the hard drive is
found bad hard disk functioning well and reload a
new operating sysytem
System appears to work but Monitor turned off or has Test the monitor and the power
no video is displayed failed source and replace with known
good source to confirm if
necessary
Page 51 of 56
CHAPTER THREE
By working on websites I gained the ability to use html and css to create
both simple and complex websites.
By practicing daily I’ve come to be able to add javascript to html and css
to create a functional website.
I gained the Ability to create fully responsive websites.
Ability to utilize different web development tools.
Ability to use mysql and xampp to create a database.
Ability to use php along with mysql to create a simple backend solution.
Ability to utilize git and github
Ability to netlify and other web development sites.
Helping to repair malfunctioning systems has made gain the ability to
fix faulty computer systems
Ability to fix software and load operating systems
Ability to identify different components of computer systems
Communication
Patience
Open-mindedness and adaptability
Critical thinking, creativity and problem solving
Teaching and effective learning skills
Page 52 of 56
3.3 PERSONAL INPUT TO THE COMPANY (DOTS ICT)
CHAPTER FOUR
4.1 CONCLUSION
Page 53 of 56
The 6 months had me gaining not just the knowledge of web development and
hardware, it also gave me the soft skills needed in day to day life, I see myself
going beyond my comfort zone in order to make myself better.
4.2 REFERENCES
Logbook
History of SIWES (Student Industrial Work Experience Scheme) .
(n.d) . NigerianFinder . https://nigerianfinder.com/history-of-siwes
http://www.dotsitech.edu.ng/
https://www.w3schools.com/
https://www.frontendmentor.io/
https://www.netlify.com/
https://www.wikipedia.org/
Page 54 of 56