Siwes Report As A Programmer or Software

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

A TECHNICAL REPORT ON

STUDENT INDUSTRIAL WORK EXPERIENCE SCHEME (SIWES)

UNDERTAKEN AT

DE CLOUD23 TECHNOLOGIES LIMITED


BODIJA, IBADAN, OYO STATE.

BY

ABIODUN, TIMILEYIN PETER


MATRIC NO: EES/16/17/0005

SIWES REPORT SUBMITTED TO THE DEPARTMENT OF COMPUTER


ENGINEERINGFACULTY OF ENGINEERING OLABISI ONABANJO UNIVERSITY,
AGO-IWOYEIBOGUN CAMPUS, OGUN STATE.

IN PARTIAL FULFILMENT OF THE REQUIREMENT FOR THE AWARD OF BACHELOR


OF SCIENCE (B.Sc.) IN COMPUTER ENGINEERING

NOVERMBER 2019
CERTIFICATION

This is to certify that the Student Industrial Work Experience Scheme (SIWES) was carried out
by Abiodun Timileyin Peter with Matric Number - EES/16/17/0005 of Computer Engineering
Department, Faculty of Engineering. Olabisi Onabanjo University, Ago – Iwoye , under my
coordination.

____________________ ____________________
Dr. H. O. Adeyemi Date
SIWES Co-Ordinator

____________________ ____________________
Engr. Zaid Jagun Date
Head of Department
DEDICATION

With all sense of humility, I dedicate this SIWES report to myself for the “die-hard spirit” that is
in me.
ACKNOWLEDGEMENT

My sincere and ultimate thanksgiving goes to the Almighty God, the one who sustain me
throughout the course of my Industrial Training.

I also thank the school authorities and the other authorities that make this training to be
compulsory.

The MD of De Cloud23 Technologies Ltd accepted me as an IT student with little or no


experience when others are asking me to pay training fee. Thank you very much for such an
opportunity sir.

My Parents have always being there for me in terms of finance, support, prayer, advice etc.
Thank you very much sir and ma, I love you so much.

Time and space will not permit me to mention all the Individuals that contributed to the success
of my SIWES in one way or other. I sincerely appreciate you all.
ABSTRACT

This is a report will take you through the journey of my six (6) months SIWES which I did at De
Cloud23 Technologies Ltd, Ibadan, Oyo State.

Brief introduction of what SIWES is about is also taken down. Necessary information about De
Cloud23 Technologies is also included in this report.

All the experience gained and some of the Projects that I worked on are properly documented in
this same report.
TABLE OF CONTENT

Title Page …………………………………………………………………………………. i

Certification ……………………………………………………………………………….. ii

Dedication ……………………………………………………………………………….. iii

Acknowledgement ………………………………………………………………………... iv

Abstract ………………………………………………………………………………….... v

Table of content ………………………………………………………………………….. vi

1.0 CHAPTER ONE

1.0 Introduction …………………………………………………………………… 1

1.1 Background of SIWES ………………………………………………………... 1

1.2 Aims and Objectives of SIWES ……………………………………………… 2

1.3 Benefits of SIWES ……………………………………………………………. 2

2.0 CHAPTER TWO

2.1 About the Company …………………………………………………………… 4

2.2 Location and Brief History of the Company ………………………………...... 4

2.3 Description of the Company ………………………………………………….. 4

2.4 Objectives of the Organization ……………………………………………….. 5

2.5 Missions of the Organization …………………………………………………. 5

2.6 Services render by the Company ……………………………………………... 6

2.7 Organogram of the Company ………………………………………………… 7


2.8 Various Departments/Units at the Company and their Functions ……………. 7

2.9 Software Products of the Company that are currently on Sales ……………… 9

3.0 CHAPTER THREE

3.1 Experience Gained ……………………………………………......................... 11

3.1.1 Website Designing and Frontend Development ……………………. 11

3.1.2 API or Backend Development ……………………………................ 19

3.2 Projects Implemented ………………………………………………………… 23

3.2.1 Completely re-designed the Company’s Website …………………... 24

3.2.2 Developed an Online Fashion Shop Using CMS …………………… 25

3.2.3 Developed an Online Supermarket from Scratch …………………… 27

3.2.4 Developed a Web Application for Friendship ……………………… 28

3.3 Challenges Encounter ………………………………………………………… 30

4.0 CHAPTER FOUR

4.1 Conclusion ……………………………………………………………………. 31

4.2 Recommendation ……………………………………………………………… 31

REFERENCES ………………………………………………………………………….. 32
1.0 CHAPTER ONE

1.0 Introduction

Just as George Herbert rightly said – Skill and Confidence are an unconquerable army. Base on
this knowledge, the Student Industrial Work Experience (SIWES) gives opportunity for students
to go on a Skill Acquisition or Work Experience program in an Industry that relate to their field
of study. This chapter is all about a brief discussion base on what SIWES is all about.

With the primary purpose of acquiring relevance skills require from a 21 st century graduate and
the secondary purpose of being a major requirement for the award of Bachelor of Engineering, I
undergo six (6) months industry training at De Cloud23 Technologies Ltd which is a reputable
software and web application developer company located at Ibadan Oyo.

Brief Information about SIWES, description of the Company where I did my Industrial Training
and the Experience Gained during the course of my Industrial Training (IT) are the specific areas
that will be reported in this write-up.

1.1 Background of SIWES

The Student Industrial Work Experience Scheme (SIWES), also known as Industrial Training is
a compulsory Skills Training Programme designed to expose and prepare students of Nigerian
Universities, Polytechnics, Colleges of Education, Colleges of Technology and Colleges of
Agriculture, for the industrial work situation they are likely to meet after graduation.

SIWES stands out as one ITF programme of which it’s relevant to students in various areas of
vocational education needs be appreciated. It is a cooperative internship programme, which
enable students of technology to spend some part of their course for relevant on-the-job training
and practical experience in appropriate areas of the Nigerian industry. The internship
programme, SIWES, can therefore be seen as that which is intended to give Nigerian students
studying occupationally related courses experience that would supplement their theoretical
learning.
Before the establishment of the scheme, there was a growing concern among industrialists, that
graduates of institutions of higher learning lacked adequate practical background studies
preparatory for employment in industries. Thus, employers were of the opinion that the
theoretical education in higher institutions was not responsive to the needs of the employers of
labour.

SIWES introduction, initiation and design were done by the Industrial Training Fund (I.T.F) in
1993 to equip students with the skills of handling employer’s equipment and machinery.
Currently, the management and implementation of the scheme is done by the I.T.F and the
funding is solely borne by the Federal Government of Nigeria.

1.2 Aims and Objectives of SIWES


1. SIWES make the transition from school to the world of work easier and enhance students
contact for later job placement.
2. Enlist and strengthens Employers involvement in the entire educational process and
prepare students for employment after graduation.
3. SIWES provides the avenue for students in institutions of higher learning to acquire
industrial skills and experiences in their course of study.
4. Prepare the students for the industrial work situation they are likely to meet after
graduation.
5. Expose students to work method and techniques in handling equipment and machinery
that may not be available in their institutions.
6. SIWES provides students with an opportunity to apply their knowledge in real work
situations thereby bridging the gap between theory and practice.

1.3 Benefits of SIWES

Alabi (2009) assert that SIWES programme affords student the following opportunities:

i. Appreciate work method and gain experience in handling equipment and machinery
which may not be available in our institutions.
ii. Blend theoretical knowledge acquire in the classroom with practical hands-on
application of knowledge.
iii.Enhance students’ contacts with potential employers while on training.
iv.Develop and enhance personal attributes such as critical thinking, creativity, initiative,
resourcefulness leadership, time management, presentation skills and interpersonal
skills.
v. Appreciate the role of professions in their various fields as the creators of change and
wealth and indispensable contributors to growing the economy and national
development.
vi.Appreciate the connection between their courses of study and other related disciplines in
the production of goods and services.
vii. Bridge the between the knowledge acquired in institutions and the relevant production
skills required in work organizations.
2.0 CHAPTER TWO

2.1 About the Company

I was privileged to do my six (6) months Industrial Training (IT) in a reputable Information
Technology (IT) company which is known as De Could23 Technologies Ltd.

De Clould23 Technologies Ltd provides numerous IT solutions using newly emerging and
trending technological tools. Some of the IT solutions provide by De Cloud23 Technologies Ltd
includes Online Shop / E-Commerce Website, E-Payment Integration, Wordpress Theme
Design, Database Solutions, Enterprise Web Application, Mobile Application Development,
Crypto Solution, Website Management and Maintenance, Enterprise Desktop Application, One-
on-one Training etc.

2.2 Location and Brief History of the Company

De Cloud23 Technologies Ltd has it physical location at 31, Opposite Domino’s Pizza,
Awolowo Avenue, Old Bodija, Ibadan, Oyo State. The Company also has a wide online presence
which makes it possible for the company to get projects/works from all parts of Nigeria and all
around the World without any limitation of location.

De Cloud23 Technologies is a registered startup IT Company which started operating since July
2015 with the registration Number - 1405436. Right from on-set, this company had been known
for developing Solutions that best fit for Business requirements for Clients from all over the
world.

2.3 Description of the Company

De Cloud23 Technologies provide technological solutions to Start-up Businesses, Private


Establishment, and Government Agencies among others. It started delivering professional Web
Development services since July 2015. It is a company own and managed by Mr. Olayinka
Kareem U., who is a full-stack ASP.Net Core Software Engineer with significant experience in
all other tools used in the Web Development Industry. De Cloud23 Technologies Ltd is highly
passionate about mentoring and raising professional Software Engineers right from the scratch.
Thus, most of the Developers working with De Cloud23 today are raised by the Company itself.
De Cloud23 Technologies Ltd is a company that specialize in the provision Enterprise Solutions
using latest and trending tools. Some of the IT solutions that De Cloud23 is providing include
Online Shops/E-Commerce, Web Design, Mobile Application Development, Wordpress Theme
Development etc.

2.4 Objectives of the organization

DeCloud23 Technologies Ltd had acquired a lot of experience in building Information


Technology (IT) solutions with various technological tools across various sectors. The Company
stand-out among their competitors due to the core values that they deliver any time they are
rendering one or more of their services to their clients all around the world. These Core values
include:

i. Quality: IT solutions provided by this company are developed with modern


technologies and frameworks that offer long term usability. So, they guarantee a lifetime
solution to their Clients.
ii. Affordable: Due to the fact that De Cloud23 Technologies Ltd is still growing it
Customer base makes it solution to be more affordable when compared to other
competitors in the industry.
iii. Reliable: The Company always ensures that they test all Solutions against any form of
security threats (XSS, CSRF, SQL Injection etc.). They also assure their client a 24hours
for 7 days Customer support.

2.5 Missions of the Organization

The major mission of the company is to help Businesses:

i. Improve their Productivity.


ii. Make more profits.
iii. Multiply their Customer Base.
iv. Adopt IT Solutions.
2.6 Services render by the Company

De Cloud23 Technologies had acquired a lot of experience in delivering IT solutions to solve the
problems of their Clients all around the world. The Company solve the problems of it Clients by
rendering the following services:

 Website Design: De Cloud23 Technologies always develop modern responsive website


for various business with management and maintenance handled by the company
themselves. All the business websites developed by Decloud23 Technologies always come
with a Content Management System (CMS) that can make it possible for their client to
easily update the content of their website.
 Enterprise Solution Development: De Cloud23 Technologies Ltd always build a
customize web, mobile and desktop based applications that has the capability of enhancing
the productivity of their clients’ businesses. The company also helps in automating tedious
or difficult tasks, so that daily business operations can be done faster and in a more
efficient way. The enterprise solution development that the company develops can come
in the form of a mobile application, or a desktop application, or a web application.
 Training: De Cloud23 Technologies Ltd offer training in two different forms which
include one-on-one physical training and online training. The online training is a one-on-
one training service that runs on video conferencing and remote desktop technology to
simulate a physical classroom experience.
2.7 Organogram of the Company

Managing
Director

Remote Graphics Web Backend Full-Stack


Workers Designers Designers / Developers Developers
Frontend
Developers

IT Students /
Trainees

Fig 2.1: Organogram of De Cloud23 Technologies Ltd

2.8 Various Departments/Units at the Company and their Functions

As shown in the diagram above, the various units or area of primary assignment of difference
personnel in De Cloud23 Technologies Ltd include the following:

i. Managing Director: is also the Founder of the Company. So, he has many
responsibilities in respect to the progress of the Company. The primary responsibility
of the Managing Director is to ensure that all other units work together as a team in
order to deliver IT solutions to client within a limited time frame. He is the Project
Manager of the Company, he also ensure adequate testing of all the software
developed by his team before the software reach production stage, most of the time, he
is the one that always deploy Web Applications or Web Designs to server, he get
feedback from the clients and keep on the look-out for more clients that will give the
company projects to do. Also, due to the fact that writing code is a major passion for
him, he still engages himself in writing architectural Software as a passion.
ii. Remote Workers: are the personnel that the Company had trained to be a professional
Web Designer or Web Developer and are working for the Company from any location
where they found themselves. Each of the Remote Workers has their own individual
expertise, which could include being a Graphics Designer, Web Designer / Frontend
Developer, Backend Developer, or Full-stack Developer. Technological tools that
make it possible for these Remote Workers to be able to work with the Company
remotely include: Slack, Github, Team-viewer, Social media, Electronic mail etc.
iii. Graphics Designers: are the ones that has the responsibility of creating visual
concepts, designing business logos for client, designing and structuring the images
(Assets) that will be used in the web pages to be design, they also design the
Photoshop Document (PSD) version of web pages that will later be converted to
HTML and CSS by the web designers. Sometimes, they also do the Wireframes of the
web pages to be designed. The Graphics Designers used different Graphics tools /
software to perform their daily duties; they use tools like Adobe Photoshop,
CorelDraw, Adobe Illustrator etc.
iv. Web Designers / Frontend Developers: are two important responsibilities given to a
certain set of people. Web Designers convert the PSD files designed by the Graphics
designers to web pages using HTML, CSS etc. They can also add their own creativity
to the web pages. The Frontend Developers depend on the Backend Developers to
write the Application Programming Interface (API) for them, they render the API to
the User Interface in a presentable and User Friendly manner. In other words, the Web
Designers / Frontend Developers are in charge of the part of the side of the web
application that is visible to the User of the application. The common programming
languages used in this Unit of the Company include Hypertext Markup Language
(HTML), Cascading Style Sheet(CSS), JavaScript/TypeScript. They also use popular
frameworks like Bootstrap, Angular, React etc.
v. Backend Developers: are in charge of building API and managing the database of
applications. They are very skillful in developing a clean architectural code or
following a complex architecture given to them by the Project manager. They work
alongside with the Frontend Developers and the Designers to ensure that the
Application reaches the production stage. To enhance their problem solving skills,
they always spend most of their leisure time to learn Data Structure and Algorithm.
vi. Full-stack developers: are the personnel that start from the very scratch (“Web
Development 101”) and keep on learning all the skills from all aspect of the Web
Development industry till they become very skillful in every units involve in the Web
Development industry. Note that this does not just happen overnight, it takes adequate
amount of time base on what I noticed from the personnel who are currently Full-
Stack Developers. They can easily handle intermediate projects and implement it from
the very beginning to the end which includes the Designing, Consuming of Data as a
Frontend Developer and Writing the API as a Backend Developer. They have the
experience of working in all other units of the organization. Most of the Personnel
working towards this unit or working in this unit has a dream of becoming a
Freelancer or a dream of creating their own IT Company later in the future. So, they
do not want to be limited in any form.
vii. Industrial Training (IT) students or Trainees: are in the company to learn from the
Experts that are already working in the various units of the Company. They learn using
different means and methods which include using online resources, learning from the
projects that the Company is executing at a particular time, learn from the experience
of the Experts in the Company, learn by working on live-projects after showing some
level of seriousness and skillfulness.

2.9 Software Products of the Company that are currently on Sales

The Company has numerous and “hot” projects ideas that they are currently implementing, while
some are at the testing stage before bringing it out to the Production Stage. The Software Product
of the Company that is currently on sales is Electronic Shop Manger (ESM) software.

Electronic Shop Manager Software is a Web Application that gives chance for mangers or
Shop Owners to manage their Shops remotely from anywhere all around the world. It is an
Online / Offline (different versions) base Shop Management System that automates all activities
in the shops from sales, orders etc. The Shop Manager or Owner can create accounts for the
Staffs of the company that adopt the Application as a tool; the Staffs can process Transactions
but have restricted access to some resources. Some of the Modules included in this web
application include Inventory Module, Sales Module, Customers Module, Barcode Printing
Module, Staffs Module etc. The Product has many awesome features, some of these features
include:

 Barcode Generation and Printing


 Product Management
 Customer Management
 Inventory or Store Management
 Receipt Generation and Printing
 Order Management
 Staff Management
 Sales Management
 Product Lookup with Barcode
 Business Account Details and Profit Estimation (Daily, Monthly and Annually)
 Multi-Shop Management
3.0 CHAPTER THREE

3.1 Experience Gained

During my Industrial Training at De Cloud23 Technologies Ltd, I gained series of real world and
practical experience that I can now count as an asset to my career as I seek to make a “Mark” in
the Information Technology Industry. I worked in almost all the units available in the Company,
some of the units where I worked include Web Designing Unit, Wordpress Theme Design Unit,
Frontend Development Unit and briefly worked in the Backend Development Unit. Apart from
the experience gained while learning Technological Tools and Working on Projects, I also learnt
some of the Work Ethics in the Software / Information Technology Industry, Interpersonal
Relationships when dealing with senior colleagues and fellow IT students, working under
Supervision etc. The details of the tools used and the experience I gained from each of the units
where I worked include:

3.1.1 Website Designing and Frontend Development: Website Designing is the basic or
foundation of all other areas of specialization in the Web Development industry. It has to do with
using HTML, CSS and JavaScript (optional but it is recommended due to the current trend in the
Industry). The programming languages that are used in designing a website are the
programming language that are elementary and the most popular. The tools used while learning
to be a Website Designer and working as Website Designer at De Cloud23 Technologies Ltd
include:

a. Balsamiq Mockups: is an application that is used to build the Wireframes (screen


blueprint or page schematic) of Web Pages that is about to be designed. During my
Internship at De Cloud23 Technologies Ltd, it was the Project Manager that always wire-
up the structure and the content of the Web Pages. I itemize this as a tool that I used
because he always do some wire-framing in my presence and incase I need an extra page
in my Website (at Development stage), I can easily wire-up the structure and content of
the page using this application and get approval from my Industry-based Supervisor.
Fig 3.1: A Typical Example of a Wireframe designed using Balsamiq Mockups.

b. Visual Studio Code (VS Code): This is an Integrated Development Environment (IDE)
that is used in writing the source code of all programming languages e.g. HTML, CSS
etc. used in designing website. This IDE is one of the most popular IDEs used in the Web
Development Industry due to it numerous features that it possess and personally I can say
that these features has seriously speed-up my work speed and learning time in a very
practical way. Some of the advantageous features of VS Code include:
 VS Code has support for hundreds of programming languages.
 Syntax highlighting of each line of the Code.
 Opening and Closing Bracket Matching in case of a large application with
hundreds or thousands lines of Code.
 Auto-indentation of the Code for easy readability.
 Emmet Abbreviations make the writing to be easier and faster.
 Integrated Git Control and Github.
 VS Code can execute and debug JavaScript and other programming languages
(with the necessary extensions already installed).
 It has an Integrated CLI (Command Line Interface).

Fig 3.2: Visual Studio Code Welcome Page

c. HTML: which has it full meaning as Hypertext Markup Language. It is the backbone of
any and every web page available on the World Wide Web (WWW) till today. I learnt
and applied the functionalities of this language to practical projects and personal
examples. HTML basic examples or syntax look like this: <body> this is the main
elements of the webpage </body>, <link href=https://google.com>Go to Google</Link>
etc.
As a professional and due to modernization in the Web Development Industry, it is
practically impossible to design a web page without enhancing it User Interface (UI)
using some designs, colors, etc. For this reason, CSS is tightly coupled with HTML to
make the web page look nice and presentable. This brings me to learning the next
programming language which was CSS.
d. CSS: has it full meaning as Cascading Style Sheet. It is the programming language
popularly used to enhance the presentation and appearance of Web Page. At the basic
level of my experience in De Cloud23 Technologies, I worked concurrently with HTML
and CSS to build a well structure, responsive and attractive websites. To make working
with CSS easier and its mobile-responsiveness to be at the right status, there are
numerous CSS frameworks that can be used to achieve these functionalities. Some of the
CSS frameworks include Bootstrap, Bulma, UI Kit, Semantic UI, Susy, Materialize, Pure,
Skeleton etc. Out of all the available CSS frameworks, I practically worked with:
 Bootstrap: is a library consisting of CSS and JavaScript. I used it regularly due to
its mobile-first design which makes any website designed with it to appear in a
responsive way anytime a user of the webpage is using a mobile phone to view
the website. Bootstrap was able to achieve this mobile-first design by using the
CSS Grid functionality. To make use of Bootstrap in any Web Page that I want to
work with, all I just need to do is to download the library from
https://getbootstrap.com/docs/4.3/getting-started/download/ and reference the
CSS library, JavaScript Library, Popper Library and JQuery Library in my code.
There is a need to reference Bootstrap JavaScript library and the JQuery library
due to the fact that some of the components of the Bootstrap library are animated
e.g Carousel.
Fig 3.3: Basic Example of Bootstrap usage.

 Materialize: is also a mobile responsive CSS framework. It is a User Interface


(UI) component library created with CSS, JavaScript, and HTML. Materialize UI
components help in constructing attractive, consistent, and functional web apps,
while adhering to modern web design principles such as browser portability,
device independence, and graceful degradation. It helps in creating faster,
beautiful, and responsive websites. It is inspired from Google Material Design.
Base on my personal experience, I don’t really do much work with this
framework, but I got an idea of what it is all about and I used it about two times.
 Skeleton: is a very simple CSS framework which I always use anytime I am not
concern about the look of the web page, this always gives me the chance to focus
on the functionality of the Site first. This framework cannot be used at the
production stage of web development; it is only used at the development stage of
web development.
e. JavaScript: is another programming language that I used to handle series of projects
(Small projects, Medium Projects etc.) during my Internship at De Cloud23 Technologies
Ltd. According to my own personal usage of JavaScript, I can say that JavaScript is a
programming language that is directly understood by every Web Browsers (e.g Google
Chrome, Mozilla Firefox, Opera Mini, Safari, Internet Explorer etc.) that the Clients are
using to browse the Web Pages. While using JavaScript as a tool, I also took into
consideration that there are some newly added features of JavaScript language added to it
latest version that some browser does not support. So, when using the newly added
features of JavaScript (e.g Promise, Arrow Function etc.), it is either I check if it will
work or not using the website called https://www.caniuse.com/ in order to ensure that the
web page is capable of carrying out all the functionalities of a particular component of a
web page. Another option (which I consider to be the best) that I used while working
with newly added features of JavaScript is to convert my JavaScript code to a version that
is supported by all Web Browsers (irrespective of the version) using the website called
https://www.babeljs.io/. Some of the functions of JavaScript include:
 Used to add sliding, collapsing, toggling effect etc. to the content of the Web Page,
 Used to manipulate the DOM (Document Object Model).
 Using it for a Single and dynamic web page that will accept input from the User and
display another result base on the input of the User using a single page. This process
is term - AJAX (Asynchronous JavaScript and XML).
 Used to fetch Data from an External API e.g. Github Users API, Weather API etc.
 Building a simple web application with a simple functionality.
Fig 3.4: Sample of a JavaScript Code
f. TypeScript: is simply a superset of JavaScript, that is, everything you can do with
JavaScript, you can also do it with TypeScript but TypeScript adds additional features that
are added to it which JavaScript does not have.

Fig 3.5: TypeScript as a superset of JavaScript

Some of the features included in TypeScript which JavaScript does not have include the
following:
i. TypeScript is an Object Oriented Language.
ii. It has Static typing feature that is, it is strongly typed.
iii. TypeScript gives support for Modules and has Interface.
During my Internship program, I started working with TypeScript programming language
when I was introduced to a Front-end Framework called Angular which was developed by
Google using TypeScript programming language. So, to be able to work with Angular, I
started learning TypeScript alongside the Angular framework. So, I would like to give a brief
note of the experience that I gained while working with one of the most popular Frontend
Development Framework which is known as Angular.

 Angular: in my own simple term, is a tool that is used to get Data from the API or
Backend of an Application and displaying it to the User without excluding all the
restrictions and authentications needed before the User can get the Data. As for me, it
was great fun learning and working with Angular which can be said to have no
uniqueness until it is helping the Developer to communicate with the API or Backend
part of the Application. As at the time I wanted to start learning Angular, I did not
know how to develop API that the Angular will consume. Due to this reason, I used
Firebase (which is a real-time database and “ready-made” API) as the API while I
just focused on learning the functionalities the Angular Framework. So, my first
practical experience working with Angular is that I (through adequate guidance and
instruction) built an Online Shop where Customers can see the items / products
available, add the items to Cart, increase the quantities of a particular item in the
Cart, Sign-in with Gmail, remove item from cart, check-out etc. The Admin side of
the application was also built; this Admin side deals much with CRUD (Create Read
Update Delete) operations of the products in the Online Store.

Fig 3.6: Overview of Angular

g. Content Management System: is also one of the most popular approaches in Designing and
Developing a Website. Content Management System (CMS) come into consideration
anytime there is a need to design and develop a website for a User (not a Programmer or
Developer) that want to be editing the Content of the Website without having to write codes,
he/she just make use of the User Friendly Interface while the code will be implementing
underground. As at the time of writing this report, Wordpress is the most popular CMS.
Some of the other examples of CMS include:
 Drupal
 Joomla
 Wix
 Magento
 Squarespace
Due to its popularity and large community of Users and Contributors, De Cloud23
Technologies Ltd always use Wordpress to design and develop CMS websites. The major
experience that I had during my internship is that I developed an Online Fashion Shop and
make it possible for the Customers to order for a product, make payments (there are different
methods) and the Admin or Manager (who does not necessarily need to be a Programmer)
can add more products, see all the orders made by their Customers etc. I put all the Structures
and functionalities in place while the Admin or Manager of the Shop will continue all the
functionalities of managing the content of the website.
Though a Person who is not a Programmer can also develop and design a CMS theme, it is of
a great advantage for a Programmer to develop it because he/she will be able to “touch” the
source code confidently without depending on the Interface only.
3.1.2 API or Backend Development: is the area of specialization for Developers or
Programmers who choose to focus more on the Engine of the Web Application. To be a skillful
Backend Developer, a sound knowledge of Data Structure and Algorithm is highly encouraged
or required. There are series of programming language that can be used to write an API or
develop the backend of an Application, some of these programming languages include:

 Java
 C#
 Node
 PHP
 Python

As for De Cloud23 Technologies Ltd, the programming languages that they used in writing their
API and developing Backend of an Application include: C# (.Net Core) and Node. As an Intern
at De Cloud23 Technologies, I was introduced to C# (which is pronounced as C Sharp). So,
some of the tools I used when working at the API and Backend unit of De Cloud23 Technologies
include:
a. Visual Studio Code: full description had been stated earlier. Visual Studio Code (VS
Code) is sometimes used to develop C# programs due to the fact that it is an Integrated
Development Environment (IDE) that has a very light weight. In order to be able to use
VS Code to write C# source codes, there is need to install some extensions from the VS
Code Marketplace (which is an integrated online platform that has numerous extensions
developed by different developers all around the world). Base on my own personal
experience, I only installed two extensions in order to be able to write C# code with VS
Code, and these two extensions are “C#” and “C# Extensions”.
b. Visual Studio: is an Integrated Development Environment which has numerous features
that can enhance the productivity of the Developer, some of these features include:
 Squiggles and Quick Actions: are red underlines that alert the developers of
errors or potential problems as the Developer type the code. These visual clues
enable the User to fix problems immediately.
 Code Cleanup: always help the Developer to resolve issues in his/her code
review after applying any of the Visual Studio suggested fixes.
 Refactoring: includes operations such as intelligent renaming of variables,
extracting one or more code into a new method, changing the order of method
parameters, and more.
 IntelliSense: is a term for a set of features that displays information about my
code directly in the editor and, in some case, write small bits of code for me. It is
like having basic documentation inline in the editor, which saves me from having
to look up type information elsewhere.
 Search Box: When developing large applications with Visual Studio, it can seem
overwhelming with so many menus, options, and properties. The search box is a
great way to rapidly find what you need in Visual Studio.
 Live Share: is a feature of Visual Studio that make it possible for me to
collaboratively edit and debug my code with others in real time, regardless of
what my application type or programming language that I am working with. I can
instantly and securely share your project, and as needed, debugging sessions,
terminal instances, localhost web applications, voice calls and more.
 Call Hierarchy: is a Visual Studio window the shows the method that call a
selected method. This can be useful information when I am thinking about
changing or removing the method, or when I am trying to track down a bug.
 CodeLens: is another Visual Studio feature that makes it possible for me as a
User of the IDE to find references to my code, changes to my code, linked bugs,
work items, code reviews, and unit tests, all without leaving the Editor.
 Go To Definition: is a feature that takes me directly to the location where a
function or type is defined.
 Peak Definition: is a Visual Studio window that shows the definition of a method
or type without actually opening a separate file.

Fig 3.7: Visual Studio key tools window.

I used Visual Studio to as a IDE for writing and running all the console application codes
that I wrote while learning the various concepts of C# such LINQ (Language Integrated
Query), Classes, Generic, Collections etc.

c. Postman: is a tool or application that is basically used for API testing in order to ensure
that the API is working perfectly though the Frontend part of application that will
consume the API has not being implemented. There are other examples of tools that are
used to test API, some of which include Curl, SoapUI etc.
During my Internship programme, I really had a great experience of using Postman to test
my APIs which is a very user-friendly and easy to used application. In order to use it to
send a HTTP (Hypertext Transfer Protocol) request, all I just did is to enter the necessary
data needed in the body of the request, fill in the necessary Header (e.g. Authorization
token), select the HTTP method (e.g. POST, GET, UPDATE etc.) and click the ‘send’
button. Any response that I get back from the request is exactly the response that I will
get when my web application reach it final implementation stage that is when the
Frontend part of the application had been implemented.

fig 3.8: Example of a POST HTTP Request with the Body of the Request

d. C#: is a high level programming language which was developed by Microsoft. C# is a


general purpose programming language due to the fact that it can be used to develop web
application, for mobile application, for Game development etc. C# is a server-side
programming language which is mostly run on Kestrel Server.

My Experience while learning C# is that I learnt the various concepts of C# programming


language which include – Control Statements, Methods, Classes, Data Types, Array,
LINQ (Language Integrated Query) collections, List Collections, Polymorphism,
Inheritance, Strings, Asynchronous Programming etc. There are numerous frameworks of
C# available for the Development of various platforms (Web Application, Mobile
Application, Game Development etc.) in the Information Technology (IT) industry. The
C# framework that I worked with includes:
 .Net Core: is a cross-platform open source C# framework that can be hosted on
any Server irrespective of the Operating System running on the Server. I got a
brief introduction to .Net Core during my Internship. I was fully guided and
tutored to build a Web Application (Friendship App) which used .Net Core as the
Server-side framework and Angular as the Client-Side framework.

3.2 Projects Implemented

There is an adage that says that – “Don’t reinvent the Wheel, unless you plan on learning more
about Wheels”. Most (not all) of the “complete” projects that I did during my period of
Internship can actually be tag as a Project that is “reinventing the Wheels”. This is for the major
purpose of learning about the steps, methodology, tools (programming languages, frameworks,
database etc.) and many more that are used in the Projects. So, I did Projects that had already
being built from the very scratch and through full guidance and tutoring.

Just as expected, I was engaged in major and real world projects during my Internship at De
Cloud23 Technologies Ltd. Some of these Projects are as follows:

 Completely re-designed the Company’s Website.


 Developed an Online Fashion Shop using Content Management System.
 Developed an Online Supermarket from Scratch.
 Developed a Web Application for Friendship purpose with numerous functionalities.
3.2.1 Completely re-designed the Company’s Website

Fig 3.9: De Cloud23 Website Banner

Requirements

This Project is a simple static website with nice interface. The Website gives all the information
about the Company to the Customers that visit this web page. The Contact address and services
render by the company are also included in the Website. There is also a portfolio page included
in this Website, this Portfolio page shows the entire Projects that the Company had done for
Clients. There is also a page that shows the entire Products of the Company that are currently on
sales.

Technology Stacks

The technology stacks used in any Project has to do with the Programming languages and other
tools used in the implementation of the Project. So, the Technology stacks used in this Project
are:

 HTML
 CSS (Bootstrap)
 JavaScript
Note that this is a Static Website due to the fact that there is no server-side programming
language used in the implementation of this Project. In this particular Project, HTML was used
to create the Web Pages. Bootstrap, which is a CSS framework, was used to give the website a
nice and user friendly Interface right from on-set. CSS is then used to apply some unique styles
to the Web pages. JavaScript was used to make the content of the Web Pages to be dynamic;
some of the effects added to the page using JavaScript include sliding effect, text scrolling effect,
scroll-up effect etc.

3.2.2 Developed an Online Fashion Shop using Content Management System

Fig 3.10: Shop Module of the Online Fashion Store Website

Requirements

This is an E-Commerce website that automates the physical process of going to a supermarket
and all the process involve in buying and paying for all the needed Goods. This online E-
Commerce website is a better option compare to the physical process because the Customer can
start and finish all the process involved in buying their needed Goods remotely or from any
location they find themselves. It displays the Products available for sales and gives room for
Customers to order for the Product of their choice. The Customers will add the Product(s) that
they are interested in buying to the Cart and then proceed to the check-out page. Finally, the
Customer will choose their preferred payment method out of the available payment methods.
Technology Stacks

This Project was implemented using a Content Management System and some plugins supported
by the Content Management System. Specifically, the tools used include:

 XAMPP
 Wordpress
 Theme Builder
 Woo-Commerce

XAMPP stands for Cross-Platform (X), Apache (A), MariaDB (M), PHP (P) and Perl (P). It is an
application that is used to create local web server for testing and deployment purposes. XAMPP
was used in place of the online server that will be in place when the website is hosted because
Wordpress has to be installed on a server.

Wordpress is the major Engine upon which every other component needed to implement a nice
and functioning website. Theme Builder is a plugin which was used to give the Website a nice
and attractive User Interface. Woo-Commerce is also a plugin which was used to implement the
functionality of adding products to Shop (online), displaying the Products, adding the products to
Cart (by the Customer), Checking-out the Products in the Cart, and making payment with any
option preferred.
3.2.3 Developed an Online Supermarket from Scratch

Fig 3.11: Product Categories and Products available in the Online Supermarket

Requirements

This is an online shop which work almost exactly as the online fashion shop discussed earlier. It
is just that the Product that was used in this application is different. Also, implementation of this
Application does not depend on any pre-made plugin; the functionalities were developed right
from the scratch till the application is fully functioning as expected.

Technology Stacks

The front-end aspect of this application was fully implemented by the Developer while the back-
end relied on a pre-made API which is known as Firebase. So, the technology tools used include:

 HTML
 CSS (Bootstrap)
 Angular
 Firebase

HTML was used for building the web pages. CSS was used to style the Web pages. Bootstrap
which was installed on the Angular Framework using NPM (Node Package Manager) was used
to make the web pages to be mobile-responsive. Angular is a framework which was used to
consume the Data coming from the API and to display the consumed Data anywhere it is needed
on the Web Page.

Firebase is an online real-time database that also gives support for hosting service. Firebase was
used as the Database of this project and its API was used as the Backend of the application.

3.2.4 Developed a Web Application for Friendship purpose with numerous functionalities

Fig 3.12: List of People (other Users of the Application) based on the User’s Filter
Fig 3.13: Private Messaging Component of the Application

Requirements

The major aim of this Project is to create a platform where a particular User can meet and
befriend other Users of his/her choice. The User was able to filter the categories of People that
he/she desire as Friend base on gender and age. There is also a module in the application that
allows Users to privately message each other. The User can also can edit and update their profile
information.

Technology Stacks

Both the Frontend and the Backend of this application were fully implemented by the Developer.
The technological tools used include:

 HTML
 CSS (Bootstrap)
 Angular
 .Net Core
 SQLite

HTML was used to build the web pages, CSS was used to style and design the website.
Bootstrap was used to make the web pages to be mobile-responsive. Angular was used as an
intermediate between the User Interface and the Backend / API of the Application. So, Angular
takes Data from the Backend / API and renders it in on the User Interface base on the
specifications of the application. .Net Core is an open-sourced cross-platform framework of
C#. .Net Core was used as the Server-Side language and used to implement the API / Backend of
the Application. SQLite is type of Structured Query Language (SQL) database. SQLite was used
to store Data that was used to keep the application running smoothly.

Contribution to the Organization

I was able to contribute my own little quota to the growth and development of De Cloud23
Technologies Ltd through the following ways:

 I redesigned the Company’s Website.


 I designed a landing page (Home or Index Page) that the Company will use to market
one of their Software products which include Electronic Shop Manager.
 In the little way that I could help, I render assistance or guidance to other IT Students
or Trainees in the Company.

3.3 Challenges Encounter

This section is tagged “Challenges Encounter” and not “Problems Encounter” because the
Challenges that I encountered had really helped me and developed me though in a very hard
way. But I used the Saying “Training is not always easy or convenient” to encourage myself. So,
some of the challenges I encountered include:

 Not being trusted by the company to handle some “Big” projects.


 The value placed on an IT student is very small irrespective of the seriousness and
skills development rate.
 Lack of compensation for projects or tasks that are done and delivered professionally.
4.0 CHAPTER FOUR

4.1 Conclusion

Doing my six (6) months SIWES at De Cloud23 Technologies Ltd was really a great privilege
and opportunity to learn the top skills that are currently in high demand in the Information
Technology (IT) industry. The training really exposes me to the fact that Certificate and Skills
are both the required keys that can open the door of great opportunities in the world of Career
and Profession.

4.2 Recommendation

 Students should start developing their Skills right from their day 1 in school. This will
make Employers to place much value on them even as an IT Student.
 The School authorities should kindly set-up Social Clubs that has the potential of helping
students in respect to their Career.
 The top Experts from various Industries (Telecommunications, Information Technology,
Electronics etc.) should try to volunteer to come and enlighten Students on the current
trends in their various Industries. This will help the Students to get prepared for the
challenges they will face after graduation.
REFERENCES

https://siwesbeginner.com/siwes-introduction/

Alabi (2009): Assessment of SIWES Relevance to Business Education Programme Objectives.


Available at Nairaproject.com/m/projects/665.html
https://decloud23.com

https://kaylaabeau.com

https://docs.microsoft.com/en-us/visualstudio/get-started/visual-studio-ide?view=vs-2019

https://tutorialspoint.com

You might also like