Faculty of Science, University of Ibadan, Nigeria. CSC 399 Industrial Training

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 44

DEPARTMENT OF COMPUTER SCIENCE,

FACULTY OF SCIENCE,
UNIVERSITY OF IBADAN,
NIGERIA.
CSC 399 INDUSTRIAL TRAINING

ODEKUNLE OLUWATOBI ALAO


MATRIC NO: 200868

A Technical Report Of The Work Done During My


Industrial Training Undertaken At O'Bounce
Technologies, Green Building, Opposite Sango Police
Station, Ibadan.

From Monday 17th of September, 2018 to Friday 8th of March, 2019.

IN PARTIAL FULFILMENT OF THE REQUIREMENT FOR


THE AWARD OF A BACHELOR OF SCIENCE (B.Sc.)
DEGREE IN COMPUTER SCIENCE
Department of Computer Science,

University of Ibadan,

Ibadan,

Oyo State.

30th April, 2019.

The Director,

Industrial Training Coordinating Centre,

University of Ibadan,

Ibadan, Oyo State.

Dear Sir,

LETTER OF SUBMISSION OF SIWES REPORT

I, ODEKNLE Oluwatobi Alao, with matriculation number 200868 having completed my 24 weeks of SIWES
training being a requirement for the completion of my B.Sc. in Computer Science, hereby, write to submit the
technical report.

Thank you for your anticipated consideration and approval of my report.

Yours faithfully,

ODEKUNLE Oluwatobi Alao.


ACKNOWLEDGEMENT

I would like to acknowledge the help and support of the following towards the success of the completion
of my 6 months Students Industrial Work Experience Scheme ( SIWES) at O'Bounce technologies.

 My creator, God Almighty, for his sufficient grace and agape love over my life together with
maximum protection and provisions during the period of my Industrial Training.
 My parents, Mr. and Mrs. Odekunle for their love and kindness which led them to financially
support me even emotionally throughout my internship.
 My siblings, for their word of encouragement which helped me during my internship at O'Bounce
Technologies.
 My friends, for supporting me with resources to update and upgrade myself during the internship.
 My lecturers, who taught me the foundation of what I used during the internship and after the
internship.
 ITCC officials, for their piece of advice, word of encouragement, visitation and support during
the Internship Training period.
 Department of Computer Science, University of Ibadan for given me an admission in the first
place to be a Computer Scientist which now led to provision of facilities needed to improve on
my skills and helping me to how I can also help the world.
 Univeristy of Ibadan for putting such an awesome program which helped me to see beyond
writing program to seeing the opportunities present for me in the Computer Science World.
 O'Bounce Technologies CEO, Mr. Adekunle Opeyemi Paul for acccepting me to do my
internship at O'Bounce Technologies and also for allowing me to show my skills during the
internship.
 Staff at O'Bounce Technologies most especially Mr Adekunle Paoul and Mr Olajide for
challenging to be a better problem solver in the Comuter Science World.
 My course mates Amigun Ayodeji Temitope, Johnson Olumide Paul, Oseni Ifeoluwa Daniel that
we did our 6-months Internship Training together at O'Bounce Technologies, Ibadan.
2

ODEKUNLE OLUWATOBI ALAO 200868


ABSTRACT

This report is about the Industrial Training which I did for six months at O'Bounce Technologies,
one of the leading software development company in Ibadan.

This report is basically divided into six different chapters of which the first chapter talked about
the company as a whole. It explained the detailed information of the company as well as the staff
members al together. The second chapter talked about the technologies like programming
languages and frameworks used during the company which now led to the explanation of the
projects undertaken during the program which is on the third chapter. There are two part of
experience, the positive and negative. The problems encountered is elaborated on the forth
chapter. The report would be incomplete without talking about courses offered that helped me
during my training which is elaborated on the fifth chapter. Lastly, conclusion and highlighted
recommendations are explained during the last chapter which advised the department, ITCC and
the company based on the experience during the training.

ODEKUNLE OLUWATOBI ALAO 200868


Table of Contents
ACKNOWLEDGEMENT........................................................................................................................................2
ABSTRACT.............................................................................................................................................................3
Table Of Content........................................................................................................Error! Bookmark not defined.
Table of Contents.....................................................................................................................................................4
CHAPTER ONE...........................................................................................................................................................6
1.1 Location and History of Establishment...........................................................................................................6
1.2 Organisation Structure...................................................................................................................................6
1.3 O’Bounce Technologies Mission.....................................................................................................................7
1.4 Products and Clients.......................................................................................................................................7
1.5 Services..........................................................................................................................................................8
CHAPTER TWO......................................................................................................................................................9
DESCRIPTION OF TECHNOLOGIES / TOOLS USED.................................................................................................9
2.1 Front-end Web Development Languages/Libraries........................................................................................9
2.1.1 HTML......................................................................................................................................................9
2.1.2 CSS.......................................................................................................................................................10
2.1.3 JAVASCRIPT..........................................................................................................................................12
2.1.4 BOOTSTRAP 4.......................................................................................................................................13
2.1.5 JQUERY.................................................................................................................................................14
2.1.6 REACT....................................................................................................................................................16
2.2 Back-end Web Development Languages/Libraries.......................................................................................19
2.2.1 PHP.......................................................................................................................................................19
2.2.2 NODEJS...............................................................................................................................................20
2.3 Database Management Systems..................................................................................................................23
2.3.1 MySQL................................................................................................................................................23
2.4 Content Management Systems....................................................................................................................25
2.4.1 Wordpress............................................................................................................................................25
CHAPTER THREE................................................................................................................................................27
PROJECTS UNDERTAKEN....................................................................................................................................27
4

ODEKUNLE OLUWATOBI ALAO 200868


3.1 Introduction:................................................................................................................................................27
3.2 Projects Undertaken:...................................................................................................................................27
3.2.1 EXAMIFY APP........................................................................................................................................28
3.2.2 Internal School CBT System..................................................................................................................29
3.2.3 MYPAGE MESSENGER...........................................................................................................................30
3.2.4 PAST QUESTIONS FETCHER APP............................................................................................................31
3.2.5 CHRIST POWER MEDIA DASHBOARD....................................................................................................32
3.2.6 INVENTORY AND SALES MANAGEMENT SYSTEM..................................................................................33
3.2.7 VibeHear Application............................................................................................................................34
CHAPTER FOUR..................................................................................................................................................39
CHALLENGES ENCOUNTERED.............................................................................................................................39
CHAPTER FIVE....................................................................................................................................................41
EXPERIENCE’S RELEVANCE TO CLASSWORK.......................................................................................................41
5.1 Relevance of classwork to industrial experience..........................................................................................41
CHAPTER SIX......................................................................................................................................................42
CONCLUSION AND RECOMMENDATION............................................................................................................42
6.1 Conclusion....................................................................................................................................................42
6.2 Recommendations.......................................................................................................................................42

ODEKUNLE OLUWATOBI ALAO 200868


CHAPTER ONE

INTRODUCTION TO O’BOUNCE TECHNOLOGIES


1.1 Location and History of Establishment
O'Bounce Technologies located at Green Building, Opposite Sango Police Station,Sango,
Ibadan, Oyo state, Nigeria. The company have a staff strength of about 10 members who were
always present during my internship period. O’Bounce Technologies is headed by Mr. Adekunle
Paul Opeyemi who happens to be the Chief Executive Officer and the Lead Developer of the
company.

Some awards bagged by O’Bounce Technologies includes Microsoft Winsiders4Good


Fellowship Award, Joan Agha Foundation Award 2018.

1.2 Organisation Structure


The whole idea of O'Bounce Technologies was brought to life by Mr. Adekunle Opeyemi Paul
who is the CEO of company. There are other staff members which are head of each unit present
in the company. Mrs Abimbola Olajide, a graphic designer and digital marketer which is one of
staff members that heads Graphics and Digital Marketing unit. Traditional Marketing Unit is also
another unit head by Mr. Boluwatife Boluwaji, he was in charge of marketing the company
products traditionally. Mr. Abdullahi Olajire, a Java and Mobile Developer heads the Mobile
Development Unit. He is always in charge of development and deployment of mobile
applications. Mr. Olatunji Olajire heads the Web Development Unit and also assigned to be in
charge of Internship. I was directly supervised by both the CEO, Mr. Opeyemi Paul and Mr.
Olatunji Olajire.

The team at O'Bounce Technologies is made up of a team of web designers, web developers,
graphics designers, mobile app developer, marketers and a manager.

ODEKUNLE OLUWATOBI ALAO 200868


1.3 O’Bounce Technologies Mission
The company mission is to be the leading IT firm in Oyo state. In other to achieve this,
the company recruits and train talents who help to build the community of tech oriented
personnel of the company that can handle remote jobs. The company motto is Conveyor of
dreamed Innovation.

1.4 Products and Clients


Computer Science is basically about solving problems. Several problems are encountered in our
daily activities. Information Technology is actually the way of solving problems digitally. Several
solutions are developed, owned and managed by the company.

TryJambCBT, an online Computer-based testing and learning software application for Jambites in
preparation for the University Tertiary and Matriculation Examinations is one of the major solution
developed to help students. IbadanTalk a platform where news and information regarding Oyo state are,
MyPage a social media platform developed for all Nigerians, MyExam a platform developed to help
people related all examinations. MyVTU is the most recent software product of O’Bounce Technologies
which does most subscription online for people at a cheaper price.

SoulConnect is jointly owned and managed by O’Bounce Technologies and Mr. Adedotun
Amosun(Mr. Soul of Fresh FM 105.9 ) a popular radio presenter who anchors Confession time, meet soul
@ Fresh FM, Ibadan.

Other clients of O’Bounce Technologies includes Obafemi Awolowo University (OAU), Samuel
Adegboyega University (SAU), Triumphant University situated in Benin Republic, Mr Adedotun
Amosun (Mr. Soul of Fresh FM) a radio presenter who anchors confession time on Fresh FM, Ibadan,
Christ Power Media Church and others.

ODEKUNLE OLUWATOBI ALAO 200868


1.5 Services
O'Bounce Technologies has successfully executed numerous projects in Nigeria and provides
solutions and services in the following areas of operation;

1. Web designing and development.


2. Mobile application development.
3. Graphics Design.
4. Digital Marketing
5. ICT Seminars and Programming trainings.

ODEKUNLE OLUWATOBI ALAO 200868


CHAPTER TWO

DESCRIPTION OF TECHNOLOGIES / TOOLS USED


One of the interesting things about Software Development is ability to use two or more
technologies to solve the same solution. Even though there are myriad of technologies available,
it is also important to know the most appropriate technology to be used for a particular project to
ensure that the software is scalable, robust, portable, efficient and effective.

During the internship, different technologies was used for the development of various
projects assigned to me. This chapter is divided into 4 sub sections, namely:

 Front-end Web Development Languages/Libraries.


 Back-end Web Development Languages/Libraries.
 Database management system.
 Content Management System.

2.1 Front-end Web Development Languages/Libraries.


Front-end web development which is also popularly known as Client-side web
development includes the mechanism of designing a rich user interface based on the
requirements. It also includes user interaction with the system. Basically, there are three (3)
major languages used for this purpose which are HTML, CSS and JavaScript.

2.1.1 HTML
According to Wikipedia, Hypertext Markup Language (HTML) was developed by Tim
Berners Lee in 1980 as the standard markup language for creating web pages and web
applications. With Cascading Style Sheets (CSS) and JavaScript, it forms a triad of cornerstone
technologies for the World Wide Web.

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 can embed programs written in a
scripting language such as JavaScript and PHP, which affects the behavior and content of web pages.
9

ODEKUNLE OLUWATOBI ALAO 200868


APPLICATION AND USES

HTML was effectively used during my internship to structure the whole contents like text,
images, videos, tables, divisions and the likes for a web application in order for the browser to render it to
properly for the user to have best experience and interaction on the application.

LIMITATIONS

HTML is not a programming language and can not be used in writing a software that
instructs the computer to perform an operation. However, it is only useful to create static web
page and also to structure the whole concept of the web page. Finally, web pages created with
HTML are not beautiful and not dynamic in nature.

2.1.2 CSS
According to Wikipedia, Cascading Style Sheets (CSS) was developed by Håkon Wium
Lie in 1996 as a style sheet language used for describing the presentation of a document and
adding beauty to web page written in a markup language like HTML. CSS is a cornerstone
technology of the World Wide Web, alongside HTML and JavaScript.

CSS is designed to enable the separation of presentation and content, including layout,
colors, and fonts. This separation can improve content accessibility, provide more flexibility and
control in the specification of presentation characteristics, enable multiple web pages to share
formatting by specifying the relevant CSS in a separate file with the .css extension, and reduce
complexity and repetition in the structural content.

The name cascading comes from the specified priority scheme to determine which style
rule applies if more than one rule matches a particular element. This cascading priority scheme is
predictable.

APPLICATION AND USES

10

ODEKUNLE OLUWATOBI ALAO 200868


For every static web pages I designed with HTML, CSS was used to style the structure of the
web pages designed which made them more attractive and beautiful.

The main benefit of CSS is that style is applied consistently across a number of web
pages. One command line can control several areas at one time, which is quite advantageous if
there are changes that need to be made. You only need to alter one thing and the rest will follow.
More so, web designers only need to use a small amount of lines of programming for each page.
And if there are less code, there are fewer lines to read, resulting in a faster load time for every
page.

Furthermore, Cascading style sheet not only simplifies website development, but also
maintenance. All the codes are placed on one page, which means making improvements or
changing a few lines will not involve going through several pages. And since a change with a
single line of code is applied across the website, maintenance time and effort are significantly
reduced.

LIMITATIONS

CSS is only a cascading style sheet and not a programming language. It can not be used for
anything that has to do with logic and given instructions to computers. Moreover, not all
browsers support the same all CSS syntax and logic which is why front-end developers have to
test for compatibility which is a major challenge.

However, CSS doesn’t have the built-in security that will protect it from being overridden.
Anyone who has a read/write access to a website can change the CSS file, alter the links or
disrupt the formatting, whether by accident or design.

11

ODEKUNLE OLUWATOBI ALAO 200868


2.1.3 JAVASCRIPT
According to Wikipedia, JavaScript, often abbreviated as JS was developed by Brendan Eich in
1995 as a client-side programming language. It is a language which is also characterized as dynamic,
weakly typed and prototype-based.

Alongside HTML and CSS, JavaScript is one of the three core technologies of the World Wide
Web. JavaScript enables interactive web pages and thus is an essential part of web applications. The vast
majority of websites use it, and all major web browsers have a dedicated JavaScript engine to execute it.

APPLICATION AND USES

The major client-side programing language in web development is JavaScript. JavaScript


was hugely used for all my assigned projects to add interactivity and functionality to the static
web pages. I also used JavaScript to make use of available Application Programming Interface
during my internship. A lot of time, I was asked to send requests to different APIs using
Asynchronous JavaScript XML popularly known as AJAX in which the response data from the
APIs was also consumed by the same JavaScript. Moreover, the real time database system
developed by Google known as Firebase was used with JavaScript to store data permanently and
also to retrieve them in real time. A lot of functionality in all the web development projects I
worked upon wouldn’t have been successful if JavaScript was not used.

JavaScript is widely accepted by most of the web browsers so that the interaction at client
side with the user is made more interesting and easier. You can add animations into the page
which either attract attention to a specific part of the page or which make the page easier to use
and responses within the web page can be provided to various actions that your visitor takes so
as to avoid the need to load new web pages to respond.

LIMITATION

The major disadvantage of JavaScript is that it can be exploited for malicious purposes on the
user’s computer and this is one reason some people choose to disable JavaScript on their browser.

12

ODEKUNLE OLUWATOBI ALAO 200868


2.1.4 BOOTSTRAP 4
According to Wikipedia, Bootstrap was developed by Mark Otto, Jacob Thornton in
2011 as a free and open-source front-end library for designing websites and web applications. It
contains HTML- and CSS-based design templates for typography, forms, buttons, navigation and
other interface components, as well as optional JavaScript extensions.

Bootstrap provides a set of stylesheets that provide basic style definitions for all key
HTML components. These provide a uniform, modern appearance for formatting text, tables and
form elements.

Bootstrap comes with several JavaScript components in the form of jQuery plugins. They
provide additional user interface elements such as dialog boxes, tooltips, and carousels. They
also extend the functionality of some existing interface elements, including for example an auto-
complete function for input fields. In version 1.3, the following JavaScript plugins are supported:
Modal, Dropdown, Scrollspy, Tab, Tooltip, Popover, Alert, Button, Collapse, Carousel and
Typeahead.

The css and the js file can be included within a Web page by linking to a local copy or to
one of the many copies available from public servers.

<link rel="stylesheet" href="bootstrap.min.css"/>

<script src="bootstrap.min.js"></script>

It is also possible to include bootstrap directly from a CDN:

<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" >

<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>

13

ODEKUNLE OLUWATOBI ALAO 200868


APPLICATION AND USES

Bootstrap is the core design frameworks used in designing a lot of websites because of
how easy it is to use, responsive and flexible it is. It is very easy and fast to design a website with
bootstrap. It also gives the developers the flexibility to develop. It’s a CSS framework with
predefined classes for layout using its grid system, various CSS components and JavaScript
functions. It also offers a 12 column grid system. The grid system is responsive, that is it adjusts
itself depending on the device resolution of the client. It can be tailor made according to the
specifications of your project. It also gives the developer the rest of mind that the website
designed using this framework will appear the way he wants it to appear on any device. During
the internship, this library was used to designed responsive websites that supports different
browsers.

LIMITATIONS

Bootstrap does not support SASS and it is kind of heavy when used on a website especially on
low internet connection.

2.1.5 JQUERY
According to Wikipedia, JQuery was released in the year 2006, as a cross-platform
JavaScript library designed to simplify the client-side scripting of HTML. Its syntax is designed
to make it easier to navigate a document, select DOM elements, create animations, handle
events, and develop Ajax applications. .

The jQuery library is a single JavaScript file containing all of its common DOM, event,
effects, and Ajax functions. It can be included within a Web page by linking to a local copy or to
one of the many copies available from public servers. The file can be downloaded from jQuery
official website at http://www.jquery.com. The downloaded file is then imported into the web
page.

<script src="jquery.js"></script>

14

ODEKUNLE OLUWATOBI ALAO 200868


It is also possible to include jQuery directly from a Content Delivery Network (CDN):

<script src=https://code.jquery.com/jquery-3.3.1.min.js”></script>

APPLICATION AND USES

JQUERY was used as an alternative to Vanilla JavaScript( basic or raw JavaScript) which
requires a lot of lines to perform some actions that can take lesser lines using jQuery. Writing program
using Vanilla JavaScript is always stressful and takes time especially for complex applications. jQuery
provides two kinds of functions, static utility functions and jQuery object methods. Each has its own
usage style and are accessed through jQuery main identifier. Finally, JQUERY was also used for solving
compatibility issues.

Developers find jQuery intuitive and easy to learn -- this library is built on shorter,
simpler code. With simple syntax and open coding standards, developers can shorten the time it
takes to deploy an application or site. More so, it has a lot of different animations compared to
vanilla JavaScript. About 73% of the top 10 million most popular websites uses jQuery as of
May 01, 2019.

Since Google and other search engines use page load time as one of the many factors
affecting Search Engine Optimization, every developer strives to make code as light and concise
as possible with the help of jQuery.

Like CSS, jQuery files are generally stored separately from the Web page itself. This lets
developers make modifications across the entire site through one central repository instead of
search through folder structures. This is a core benefit of CSS coding, and it is a proven success.
Manipulation of Document Object Model is now very easy compare to Vanilla JavaScript.

15

ODEKUNLE OLUWATOBI ALAO 200868


2.1.6 REACT
React is a JavaScript library for building user interfaces. It is maintained by Facebook
and a community of individual developers and companies. React can be used as a base in the
development of single-page or mobile applications, as it is optimal for fetching rapidly changing
data that needs to be recorded.
ReactJS basically is an open-source JavaScript library which is used for building user
interfaces specifically for single page applications. It's used for handling view layer for web and
mobile apps. React also allows us to create reusable UI components.
You can add React to an HTML page in one minute. You can then either gradually
expand its presence, or keep it contained to a few dynamic widgets.
When starting a React project, a simple HTML page with script tags might still be the
best option. It only takes a minute to set up!
<script src="https://unpkg.com/react@16/umd/react.production.min.js" crossorigin></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"
crossorigin></script>

As your application grows, you might want to consider a more integrated setup. There are
several JavaScript toolchains we recommend for larger applications. Each of them can work with
little to no configuration and lets you take full advantage of the rich React ecosystem. Create
React App is one of the recommended integrated setup.
Create React App is a comfortable environment for learning React, and is the best way to
start building a new single-page application in React.
It sets up your development environment so that you can use the latest JavaScript
features, provides a nice developer experience, and optimizes your app for production. You’ll
need to have Node >= 8.10 and npm >= 5.6 on your machine. To create a project, run:
npx create-react-app my-app
cd my-app
npm start

16

ODEKUNLE OLUWATOBI ALAO 200868


APPLICATION AND USES
ReactJS was my major framework used during the internship for building web applications
assigned to me. Among Reactjs advantages are its coverage with debugging and design
tools.React Developer Tools is a browser extension available for both Chrome and Firefox. It
enables developers to observe reactive component hierarchies, discover child and parent
components, and inspect their current state and props. React makes it painless to create
interactive UIs. Design simple views for each state in your application, and React will
efficiently update and render just the right components when your data changes.

LIMITATIONS

First of all many developers switch to ReactJS because of the many advantages it has compared
to other UI frameworks. It is hard to make out the disadvantages, because there are many
advantages that come with them. I will name the following:

 It is a UI library only. As such when building something with React you will have to
include other libraries to handle other parts of an application, such as application state.

 When comparing it to a monolithic framework such as AngularJS, you will find that there
is no predefined way to structure your app (such as services, controllers & views in
Angular). This means that it is the responsibility of the developer to find his/her own
ways to effectively manage several parts of the application without a predefined
structure. This can lead to significant overhead and long development times when the
devised structure is bad or ineffective.

 To avoid these pitfalls, it is not enough to just learn React and start coding. If you want to
avoid trouble in the long run you have to research popular & effective ways to structure
your app from third parties, such as blogs or example apps from github. Those however
are rarely detailed enough to represent a complex application and as such can’t give you a
good guideline on what to do and not to do. You will have to make your own experiences
here and learn from them.
17

ODEKUNLE OLUWATOBI ALAO 200868


 All the stuff going on in the background. React is mainly written using JSX & ES6,
transpiled using Babel and build & packaged using Webpack & npm. Those tools are
requirements to be effective when using React, however their inner workings & processes
are not easy to learn and require significant time to understand. On the other hand if you
skip learning those things, your build might fail with error messages that have no
meaning to you and you will be stuck with code that doesn’t work and you have no
power to correct by yourself.

 React is still very young. The ecosystem behind it (open-source libraries, components) is
still small compared to older frameworks such as Angular. You will not always find what
you are looking for in open-source contributions.

 Touching on the last point, while React’s APIs are mostly stable, there are still some
things that can change in future versions (such as the childContext API). There is no
guarantee that the code you write today will work with future versions of React.

 Last but not least, it features a radically different approach to UI design by introducing
reusable components. The process of learning how to think in React can be difficult for
you if you have extensive experience using other methods, such as MVC. You basically
have to avoid falling back into old thought patterns because they most likely don’t work
effectively with React.

18

ODEKUNLE OLUWATOBI ALAO 200868


2.2 Back-end Web Development Languages/Libraries.
Back end development refers to the server side of an application and everything that
communicates between the database and the browser. Back end Development refers to the
server side of development where you are primarily focused on how the site works.

2.2.1 PHP
HyperText Preprocessor (PHP) was developed by Rasmus Lerdorf in 1994 as a server-
side scripting language designed for Web development, but also used as a general-purpose
programming language.

PHP code may be embedded into HTML code, or it can be used in combination with
various web template systems, web content management systems, and web frameworks. PHP
code is usually processed by a PHP interpreter implemented as a module in the web server or as
a Common Gateway Interface (CGI) executable. The web server combines the results of the
interpreted and executed PHP code, which may be any type of data, including images, with the
generated web page. PHP code may also be executed with a command-line interface (CLI) and
can be used to implement standalone graphical applications.

PHP has always been considered ‘loose’ and informal, right from its inception. It was
conceived around 1994, but was only formalized sometime around 1998. However, it has grown
to become very popular among web developers and related firms. It has evolved to the new
Object Oriented PHP (OOPHP), which uses the Object-Oriented Programming Approach in web
development.

APPLICATION AND USES

PHP is a server side scripting language. that is used to develop Static websites or
Dynamic websites or Web applications. PHP stands for Hypertext Pre-processor, that earlier
stood for Personal Home Pages. PHP scripts can only be interpreted on a server that has PHP
installed. .

19

ODEKUNLE OLUWATOBI ALAO 200868


PHP is an open-source scripting language created to write web apps (scripts and
scenarios) implemented on webservers. PHP can be easily embedded directly into any HTML
page. PHP doesn't depend on the user's computer or browser speed, it works totally on the server
side.

PHP is the most common server-side programming languages used for developing
websites in the world. According to the report released by builtwith.com, 54% of the websites all
over the world were developed by PHP. PHP is easy to learn, compatible with almost all hosting
platforms and has a large support for users.

2.2.2 NODEJS
Node.js is an open-source and cross-platform JavaScript runtime environment. It is a
popular tool for almost any kind of project. Node.js runs the V8 JavaScript engine, the core of
Google Chrome, outside of the browser. This allows Node.js to be very performant.
A Node.js app is run in a single process, without creating a new thread for every request.
Node.js provides a set of asynchronous I/O primitives in its standard library that prevent
JavaScript code from blocking and generally, libraries in Node.js are written using non-blocking
paradigms, making blocking behavior the exception rather than the norm.
When Node.js needs to perform an I/O operation, like reading from the network,
accessing a database or the filesystem, instead of blocking the thread and wasting CPU cycles
waiting, Node.js will resume the operations when the response comes back.This allows Node.js
to handle thousands of concurrent connections with a single server without introducing the
burden of managing thread concurrency, which could be a significant source of bugs.
Node.js has a unique advantage because millions of frontend developers that write
JavaScript for the browser are now able to write the server-side code in addition to the client-side
code without the need to learn a completely different language.

20

ODEKUNLE OLUWATOBI ALAO 200868


In Node.js the new ECMAScript standards can be used without problems, as you don't
have to wait for all your users to update their browsers - you are in charge of deciding which
ECMAScript version to use by changing the Node.js version, and you can also enable specific
experimental features by running Node.js with flags.
APPLICATION AND USES

Node.js has been regarded as a full-stack JavaScript for serving both the client and the server-
side applications. Therefore, the advantage is that you don't have to hire separate developers for
backend as well as the front-end development. It saves both your valuable money and time. The
following are the advantages:-
 Open Source

Node.js is open source, so it’s free to use and no need to pay for license. There are
also many open source modules supported by Node.js.

 JavaScript as Programming Language

It uses JavaScript as a programming language for both front-end and back-end which
increase programmer productivity and code reusability.

 Scalable

You can scale your Node.js application by using two ways – Horizontal Scaling and
Vertical Scaling, which helps you to improve your application performance.

In Horizontal scaling you can add more nodes to your existing system.

In Vertical scaling you can add more resources to a single node.

 Better Performance

21

ODEKUNLE OLUWATOBI ALAO 200868


It provides better performance, since Node.js I/O operations are non-blocking. Also, it
uses V8 JavaScript engine to execute JavaScript code. V8 engine compiles the JS
code directly into machine code which make it fast.

 Caching Support

Node.js supports caching of modules. Hence, when a Node.js modules is requested first
time, it is cached into the application memory. So next calls for loading the same module may
not cause the module code to be executed again.

 Lightweight and Extensible

Node.js is based on JavaScript which can be executed on client side as well as server side.
Also, it supports exchange of data using JSON which is easily consumed by JavaScript.
This makes it light weight as compared to other frameworks.

Node.js is open source. Hence you can extend it as per your need.

 REST API Support

Using Node.js you can also develop RESTful services API easily.

 Unit Testing

It supports unit testing out of box. You can use any JS unit testing frameworks like
Jasmin to test your Node.js code.

 Server Development

Node.js has some built-in API which help you to create different types of Server like
HTTP Server, DNS Server, TCP Server etc.

 Community Support

22

ODEKUNLE OLUWATOBI ALAO 200868


Node.js has a wide community of developers around the world. They are active in
development of new modules or packages to support different types of applications
development.

LIMITATIONS

 It doesn’t support multi-threaded programming.

 It doesn’t support very high computational intensive tasks. When it executes long running task, it
will queue all the incoming requests to wait for execution, since it follows JavaScript event loop
which is single threaded.

 Not good for executing synchronous and CPU intensive tasks.

2.3 Database Management Systems

2.3.1 MySQL
MySQL is an open-source relational database management system. Its name is a
combination of "My", the name of co-founder Michael Widenius's daughter, and "SQL", the
abbreviation for Structured Query Language.
MySQL is a freely available open source Relational Database Management System
(RDBMS) that uses Structured Query Language (SQL). SQL is the most popular language for
adding, accessing and managing content in a database. It is most noted for its quick processing,
proven reliability, ease and flexibility of use.
MySQL runs on virtually all platforms, including Linux, UNIX, and Windows. Although
it can be used in a wide range of applications, MySQL is most often associated with web-based
applications and online publishing and is an important component of an open source enterprise
stack called LAMP. LAMP is a Web development platform that uses Linux as the operating
system, Apache as the Web server, MySQL as the relational database management system and
PHP as the object-oriented scripting language. (Sometimes Perl or Python is used instead of
PHP).
23

ODEKUNLE OLUWATOBI ALAO 200868


APPLICATION AND USES

MySQL is the database system that powered all the websites developed in O'Bounce
Technologies because of how easy it is to relate with the database. Since it was also free and support was
great it was the right choice Database to use.

MySQL is very easy to install and there’s a large and thriving community of developers and
enthusiasts to which one can turn for help.

LIMITATION

However, MySQL suffers from relatively poor performance scaling.

24

ODEKUNLE OLUWATOBI ALAO 200868


2.4 Content Management Systems

2.4.1 Wordpress
WordPress is a free and open-source content management system (CMS) based on PHP
and MySQL. To function, WordPress has to be installed on a web server, which would either be
part of an Internet hosting service or a network host in its own right. An example of the first
scenario may be a service like WordPress.com, and the second case could be a computer running
the software package WordPress.org.

A local computer may be used for single-user testing and learning purposes. Features
include a plugin architecture and a template system. WordPress is used by 30.6% of the top 10
million websites as of April 2018. As such, WordPress is the most popular website management
or blogging system in use on the Web, supporting more than 60 million websites.

APPLICATION AND USES

WordPress was used in the development and management of different websites during
my Internship. It was used in designing websites for clients and also for the company’s website.

WordPress is very easy to use and has an intuitive interface.  Adding new pages, blog
posts, images, etc. on a regular basis is a breeze and can be done quickly.  Because the
technology is so simple, time spent on formatting is greatly reduced.

WordPress is a self-contained system and does not require HTML editing software like
Dreamweaver. You can create new pages or blog posts, format text, create gallery and slides,
upload images (and edit them), upload documents, video files, image galleries, etc. all without
the need for additional HTML or FTP (File Transfer Protocol) software.

WordPress enables the use of plugins such Yoast SEO, Google Analytics, JetPack which
are developed by individuals or respective organizations to perform certain actions. Most of
these plugins have free version with limited capabilities while the paid version(premium) does
not have any limitation.

25

ODEKUNLE OLUWATOBI ALAO 200868


WordPress can help make a website look in different ways through the use of WordPress
themes developed by third party groups. These themes can be easily customized and coupled to
make beautiful web pages. There is also free and premium version of these themes.

LIMITATIONS

In the development of medium and large scale web applications using WordPress, special
skills and time is required.

Being the most popular Content Management System, there are many free plugins and
themes available for free and from that hackers and spammers make use of that opportunity.

Not all themes and plugins are free to use. Some best ones require payment before use.

26

ODEKUNLE OLUWATOBI ALAO 200868


CHAPTER THREE
PROJECTS UNDERTAKEN

3.1 Introduction:
Student Industrial Work Experience Scheme is a great program which will give
students opportunity to discover themselves by working on real life projects. This chapter
is about explaining the different kind of projects that I undertook during the period of my
Industrial Training.

Even though several projects were assigned to me at O'Bounce Technologies but I


would like to explain the most important projects I developed both the one assigned to me
and my personal projects.

3.2 Projects Undertaken:


All projects worked on were web based projects which were accomplished with HTML,
CSS, BOOTSTRAP, JAVASCRIPT, JQUERY, REACTJS, PHP, NODEJS, and MYSQL.
Firstly, I was asked to showcase my ReactJS skills before joining the team of which I built a
simple TV Series App and I was approved and led to the development of other projects of which
I will like to explain eight basic projects worked on.

27

ODEKUNLE OLUWATOBI ALAO 200868


3.2.1 EXAMIFY APP
EXAMIFY APP is a quiz platform where people register and login to take some random
questions. It also gives an opportunity for the answered questions to be graded and results are
displayed after each quiz. It is basically a simple platform that helps people to prepare for
examination. It was a mini project which could later be upgraded to have different coursses but
was tested for some random questions.

This project was divided into front-end and back-end section. HTML, CSS,
BOOTSTRAP, JAVASCRIPT AND REACTJS was used to designed the user interface and
interaction of the project while NODEJS AND MYSQL was used as the back-end technologies.
This project was tested on a NodeJS local server and approved by the supervisors.

Figure 3.2.1 index page

28

ODEKUNLE OLUWATOBI ALAO 200868


3.2.2 Internal School CBT System
Internal School CBT System is a platform built for schools which would give the
administrative the opportunity to manage teachers, students, subjects and some other activities
going on in the school. Also, the teachers are given the opportunity to manage students and
subjects and they can also set examination and test questions together with grading of the
submitted test ad examination. Students are allowed to take online examination and test together
with checking of result and other cool stuffs.

This project was divided into three sections. Administrative, Teacher and Student
sections of which I worked on the Student section which includes a platform for the students to
take examination online, check their result and other stuffs. The back-end APIs was provided by
the company of which I only worked on the front-end section of the project using HTML, CSS,
BOOTSTRAP, JAVASCRIPT, JQUERY and REACTJS.

Fi
gure 3.2.2 Student Login Page

29

ODEKUNLE OLUWATOBI ALAO 200868


3.2.3 MYPAGE MESSENGER
Mypage is a social media platform for Nigerians. This was developed by the company
and later discovered the need for a messenger app for the social media. MypageMessenger is a
communication platform which allows people to chat directly with their followings and followers
on MyPage. It has all the basic functionalities of a chat system just like Facebook Messenger.
The Back-End APIs was provided by the company and I only developed a react app which
connects to the available APIs and consume the data for the front-end web application.

One of the cool features of the MyPage Messenger is that it is a real time chat system
which means users do not have to refresh their page to see the latest messages and notifications.
This app was developed using HTML, CSS, BOOTSTRAP, JAVASCRIPT AND REACTJS.

Browser compatibility issues occurred together with responsiveness on mobile phones. It


was deployed for testing on a free server called HEROKU which was tested during the internship
and approved.

Figure 3.2.3 MypageMessenger Login Page

30

ODEKUNLE OLUWATOBI ALAO 200868


3.2.4 PAST QUESTIONS FETCHER APP
During the internship, we were asked to type past questions of different subjects for the
TryJambCBT system. The process was too stressful and I discovered the best way of solving it was to
build a simple web app that would fetch those questions from an API and send it to the database for the
TryJambCBT. The idea was appreciated and was developed which saved the company a lot of stress and
time.

Past Questions Fetcher is a simple web application that fetches questions based on year, subject
and number of questions from ALOC endpoints and send the response data back to TryJambCBT
database in real time. The application achieved the same thing achieved previously in one day and 10
people in just 5 minutes. It was developed with HTML, CSS, BOOTSTRAP, JAVASCRIPT AND
REACTJS.

Figure 3.2.4 Past Questions Fetcher App main page.

31

ODEKUNLE OLUWATOBI ALAO 200868


3.2.5 CHRIST POWER MEDIA DASHBOARD
Christ Power Media Dashboard was developed to serve the mobile application developed
by another developer in the company. The aim of this application is to allow the admin that
manages the church contents to be able to upload the sermon of a given preacher together with
other details to the real time database management system called Firebase. The dashboard
basically helps to send those contents to firebase for the mobile application to load them to the
users.

This was developed and deployed for testing in just a day with HTML, CSS,
BOOTSTRAP, JAVASCRPT, REACTJS AND FIREBASE. It was tasking because that was my
first time of using Firebase.

Figure 3.2.4 Christ Power Media Dashboard

32

ODEKUNLE OLUWATOBI ALAO 200868


3.2.6 INVENTORY AND SALES MANAGEMENT SYSTEM
During the internship, a company that sells diesel asked to build a web-based software
that helps in managing their inventory and sales. The previous system used by the company was
a Spreadsheet in which everything are managed by Microsoft Excel. I was asked to interpret the
spreadsheet to a web-based project.

The system allows the admin to add staff members with a unique identifier and password.
Both admin and staff members can add products and customers. A lot of functionalities was
included like notifying when a product is getting low in the store, notifying when a customer has
passed the promised date for payment of the product. Security is another aspect in which a staff
cannot edit what others have done. Truck Service Management System was also developed for
the system.

The above system was achieved using HTML, CSS, BOOTSTRAP, JAVASCRIPT,
REACTJS, PHP AND MYSQL. It was a little bit tasking because I had to study the spreadsheet
and understand all the financial terms and calculations used on the project.

Figure 3.2.6 index page


33

ODEKUNLE OLUWATOBI ALAO 200868


3.2.7 VibeHear Application
VibeHear is a web-based communication system that eases the communication between lecturer
and students with hearing and speech impairments. Due to the knowledge gained during the
internship, I was asked to joined an Hackathon on Disability. The program held at University of
Ibadan. Design Thinking was the major technique used during the hackathon to solved problems
regarding disabilities. My team finally decided to help people with hearing and speech
impairments which brought about the VibeHear communication system. My role was to build the
whole system because I happened to be the only Computer Science Student in the team. I
achieved the goal using HTML, CSS, BOOTSRAP, JAVASCRIPT, PHP AND MYSQL. It was
actually a three (3) days bootcamp. The most challenging part was that I was the only one
developing the mini system and It was also difficult to build something more robust. The
application was tested on localhost and was presented by the team leader and I on the final day.

Figure 3.2.7 index page

34

ODEKUNLE OLUWATOBI ALAO 200868


Figure 3.2.7 speech page

Fi
gure 3.2.7 questions page
35

ODEKUNLE OLUWATOBI ALAO 200868


3.2.8 University School Management System

Before leaving O'Bounce Technologies, we were asked to build an university school


management system as a team of 4 interns which happened to be my classmates. The project was
divided into sections and was developed and graded before all the necessary documents were
signed by the supervisor.

The project was developed using HTML, CSS, JAVASCRIPT, JQUERY, PHP AND
MYSQL. In a team of four, a project manager, graphics designer and two web developers which
I happened to be one.

The most challenging part of the project was disorganization which led to given
additional time on the project before submission.

Figure 3.2.8 Index page

36

ODEKUNLE OLUWATOBI ALAO 200868


Figure 3.2.8 Registration page

Figure 3.2.8 Login Page

37

ODEKUNLE OLUWATOBI ALAO 200868


Figure 3.2.8 Student Page

Figure 3.2.8 Profile page

38

ODEKUNLE OLUWATOBI ALAO 200868


CHAPTER FOUR

CHALLENGES ENCOUNTERED
Life experience is of two parts. It is either positive or negative. I am of the mind that
explaining the positive experiences without touching the challenges encountered during the
internship would make this report incomplete.

There are several challenges encountered during the internship which are listed below-

 Lack of good mentors:

During the internship, I was the only JavaScript and React developer which affected me a
lot because anytime I ran into errors, I solved it myself. There was no one assigned to me
to read and correct most of my codes. They were only after the output which should not
be so.

 Time and energy consumption

Throughout my stay at O'Bounce Technologies, I worked from Mondays to Fridays 8am


till I finished the test assigned to me. There were countless numbers of time I left the
company around 9:30pm because I was debugging a code alone because of lack of good
mentors. Aside from game period, most of my time were spent on development and
tutoring other interns in the company which was stressful.

 High Cost of Transportation

I spent so much on transportation because from where I stayed, I had to take motorcycle
to UI junction and from there to Sango where the company was located. Trekking from
my house to the company and vice versa was also another challenge because the company
did not pay us and I had to be at the company every day.

 Limited access to internet


39

ODEKUNLE OLUWATOBI ALAO 200868


This is exactly the serious one out of all the challenges. I was not assigned a mentor to
correct and review my codes and at the same time I was restricted from accessing some

 Inadequate power supply


In a country like Nigeria where electricity supply is poor and cannot be predicted,
irregular power supply is almost inevitable in most places in the country. Most times, the
company run on fuel for almost all the day.
 Doing Menial Jobs
Cleaning of the office, fetching of water, buying of fuels, buying of markers, buying of
food for staff members, withdrawing of money for the CEO and the likes were what I did
during my training at O'Bounce Technologies. All those things happened every time in
the office including teaching and helping other interns on anything concerning
programming, algorithm and web development.
 Laptop Problems
During the internship, most software used were heavy for my system configuration which
ended up in low performance and affected me from meeting up the completion date. Also,
the laptop battery was very bad that I had to be connected to power anytime I want to
work and since there was inadequate power supply, it was a very serious challenge.
 Lack of Appreciation
Despite the fact that I worked on several projects and tutored several students, I was not
appreciated which later affected my performance.
 Lack of Fund During Marketing
I was part of those that went to market mybikeman web application to the bike men at Olodo.
During those period, we were only given transport fare and other expenses were not taken care of
which was a big challenge because I had to use my money even though the company did not pay.

40

ODEKUNLE OLUWATOBI ALAO 200868


CHAPTER FIVE

EXPERIENCE’S RELEVANCE TO CLASSWORK

5.1 Relevance of classwork to industrial experience


Introduction to Structured Programming (CSC 232), a course I took in 200 Level first
semester also gave me the basics of java programming. This course really helped because I learnt
how to write object oriented program and structured program during the course.

Business Programming (CSC 292) was also a course taken in 200 Level first semester which
gave me introduction to web development using HTML, CSS, JAVASCRIPT AND PHP.

Use of English (GES 101), a general English course which helped me in communicating well in
the office and during marketing of products.

Algorithm ( CSC 233), a wonderful course offered in 200 Level second semester which helped
me in analyzing and solving of problems. Most of the applications worked on were optimized
and also scalable because of this course.

Data Structures (CSC 341), a 300 Level first semester course which helped throughout my stay
at the company because I was able to build applications that made use of suitable data structures
eg Arrays, Stacks, Queues, Linked List and the likes.

Survey of Programming Languages (CSC 332), a 300 Level first semester course which
helped me to learn different programming languages like java, python, cplusplus, php, javascript,
csharp and c. This course actually helped during my internship whenever I was asked to learn
something new.

System Analysis and Design (CSC 302), a 300 Level first semester course which I learnt how
to turn requirements to specifications. The course helped me to understand how to build a right
solution to any given problem.

41

ODEKUNLE OLUWATOBI ALAO 200868


CHAPTER SIX

CONCLUSION AND RECOMMENDATION

6.1 Conclusion
My six months’ experience at O'Bounce Technologies gave me a lot of exposure to the
Computer World as a whole. It trained me on how to learn and work under pressure which is one
of the great attribute of a problem solver in any organization.

Also, I used the opportunity to learn new skills in developing real-life problems using
cutting-edge technology.

Interpersonal skills were also learnt because there was a good relationship among staff
members and interns which had given me confidence to work anywhere in the world.

6.2 Recommendations
The training helped me in discovery of new ideas of which I would like to share. The
following are my recommendations.

 The Computer Science Department should find a way of connecting students to medium
and large scale technology companies which would help students to have their internship
in the top technology companies.

 The students should be given some stipends during the training by the company at least to
cover some basic expenses like transportation.

 The students should be trained practically on the interested field by technology


companies before going for the internship. This would help them to be relevant in any
chosen company.

 Fast internet access should be provided for students in the company for learning of new
skills that are or not available at the company.

42

ODEKUNLE OLUWATOBI ALAO 200868


 The company should assign a good mentor to the students which will help them to
understand how to solve real life problems.

43

ODEKUNLE OLUWATOBI ALAO 200868

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy