Olapade Babatunde Siwes Report
Olapade Babatunde Siwes Report
UNDERTAKEN AT
TECH-SAVVY DIGITAL AGENCY
5 ALHAJI MUSA ADESOGA CLOSE, SHYLLON BUS STOP,
PALMGROVE SHOMOLU, LAGOS.
BY
OLAPADE, BABATUNDE PAUL
MATRIC NO: 142405
SUBMITTED TO:
DEPARTMENT OFCOMPUTER SCIENCE AND ENGINEERING
FACULTY OF ENGINEERING
DECEMBER, 2O19
CERTIFICATION
This is to certify that OLAPADE BABATUNDE PAUL of matric number 142405 compiled
this report based on his twenty-four weeks Student Industrial Working Experience Scheme
(S.I.W.E.S.) carried out at Tech-savvy Digital Agency. 5 Alhaji Musa Adesoga Close, Shyllon
Bus Stop, Palmgrove Shomolu, Lagos.
------------------------------------------ ------------------------------------
STUDENT’S NAME SIGNATURE AND DATE
------------------------------------------ ------------------------------------
SUPERVISOR’S NAME SIGNATURE AND DATE
DEDICATION
This report is dedicated foremost to God Almighty who against all odds, that provided a
place for my attachment and kept me safe and healthy throughout the period of my attachment,
his favor, mercy and grace upon my life during my (6) months (S.I.W.E.S)Program.
This report also dedicated to my parents Mr. and Mrs. OLAPADE who has always been a
source of motivation, their undiminished support and unquantifiable assistance throughout the
whole exercise and my siblings for their love and support and everyone else that contributed
towards making my (S.I.W.E.S) training a fun and successful one
ACKNOWLEDGEMENT
First and foremost, I would like to acknowledge the Almighty God for the successful
completion of the Field Attachment period.
My appreciation goes to the industrial Training Fund for their foresight in putting this
program in place, the Department of Computer Science and Engineering, Ladoke Akintola
University of Technology, Ogbomoso for providing a platform on which I was engaged on the
training.
I also want to say a big thank to my industrial based supervisor, Mr. DAMILARE
AKWEWANU for his vital encouragement, support and guidance in my learning process
throughout training period, and for giving me the opportunity to experience and undergo training
in this company and the Chief Technology Officer, Mr. SODIQ YUSUF, who helped with
solutions to my numerous questions.
Also to my parents, Mr. and Mrs. OLAPADE for their financial and moral support during the
course of the program and my Aunt, Mrs. DORCAS ABIODUN for her selfless hospitality and
Motherly care towards ensuring that my industrial training was a worthwhile and fulfilling one.
Finally to my institution based supervisor for his support and to my other friends and colleagues.
Thank you all, I am highly grateful.
ABSTRACT
The most important asset of any Industrial organization is the human capital available to
it. Hence, the Industry depends on the technical competence of its staff for its smooth operation.
As part of the partial fulfillment of the Award of B.Tech in Computer Science and
Engineering the Industrial Training Fund (ITF), I was attached to Tech Savvy Digital Agency
Between June and November 2019
This technical report covers a review of work undertaken and skills acquired during the
Students Industrial Work Experience Scheme (SIWES)
The nature of the work undertaken includes: Software development, Web Security,
Database design and implementation, web content development and web scripting. I acquired
practical knowledge on above mentioned.
It also, contains full details of the organization where the student industrial training
scheme took place. It gives concise information on all the subjects matter mentioned above, and
defines the technical skills gained during the training period and justifying the relevance of the
scheme in equipping students with needed technical competence to thrive in the real world, it
also highlights some problems I encountered during the process of acquiring this experience, and
a few recommendations that I that I think will help improve the purpose of the program
TABLE OF CONTENTS
CONTENTS PAGES
Title page i
Certification ii
Dedication iii
Acknowledgements iv
Abstract v
Table of contents vi-viii
List of figures
CHAPTER ONE
1.0 INTRODUCTION
1.1 Background of Siwes
1.2 History of Siwes
1.3 Significance of Siwes
1.4 Objectives of Siwes
1.5 Bodies involved in the management of siwes
CHAPTER TWO
2.0 COMPANY OF ASSIGNMENT
2.1 Background of the organization
2.2 Brief history of the organization
2.3 Organization clients 8
2.4 Organization Partner
2.5 Organization Product 8
CHAPTER FIVE
5.0 CONCLUSION AND RECOMMENDATION 32
5.1 Conclusion 32
5.2 Recommendation 32
Reference 34
CHAPTER ONE
1.0 INTRODUCTION
In the early stage of science and technology education in Nigeria, students were
graduating from their respective institutions without any technical knowledge or working
experience. There was a growing concern among industrialists that graduates of institutions of
higher learning lacked adequate practical background studies necessary for employment in
industries. Thus, the employers were of the opinion that the theoretical education going on in
higher institutions was not responsive to the needs of the employers of labour. It was in this view
that students undergoing science and technology related courses were mandated for training in
different institutions in view of widening their horizons so as to enable them have technical
knowledge or working experience before graduating from their various institutions.
Therefore, as a Computer Science Student, this report is based on analyzing and sharing
of my experience at Tech-savvy Digital Agency
The Student Industrial Work Experience Scheme (SIWES) was established by the
Industrial Training Fund (ITF) in 1973 to enable students of tertiary institutions have technical
knowledge of industrial work based on their course of study before the completion of their
program in their respective institutions. The ITF solely funded the scheme during its formative
years, but as the financial involvement became unbearable to the Fund, it withdrew from the
Scheme in 1978. The Federal Government handed over the scheme in 1979 to both the National
Universities Commission (NUC) and the National Board for Technical Education (NBTE). Later
the Federal Government in November 1984 reverted the management and implementation of the
SIWES to ITF and it was effectively taken over by the Industrial Training Fund in July 1985
with the funding being solely borne by the Federal Government.
1.3 SIGNIFICANCE OF STUDENTS INDUSTRIAL WORK EXPERIENCESCHEME
(SIWES)
The scheme was designed to expose students to industrial environment and enable them
develop occupational competencies so that they can readily contribute their quota to national,
economic and technological development after graduation. The major benefit accruing to
students who participate conscientiously in Students Industrial Work Experience Scheme
(SIWES) are the skills and competencies they acquire.
The relevant production skills remain a part of the recipients of industrial training as life-
long assets which cannot be taken away from them. This is because the knowledge and skills
acquired through training are internalized and become relevant when required to perform jobs or
functions.
The Industrial Training Funds policy Document No. 1 of 1973 which established SIWES
outlined the objectives of the scheme. The objectives are to:
Prepare students for industrial work situations that they are likely to meet after
graduation.
Expose students to work methods and techniques in handling equipment and machinery
that may not be available in their institutions.
Make the transition from school to the world of work easier and enhance students’
contacts for later job placements.
Provide students with the opportunities to apply their educational knowledge in real work
situations, thereby bridging the gap between theory and practice.
Enlist and strengthen employers’ involvement in the entire educational process and
prepare students for employment in Industry and Commerce.
1.5 BODIES INVOLVED IN THE MANAGEMENT OF SIWES
The major bodies involved in Student Industrial Work Experience Scheme are;
The tertiary institutions and the Federal Government through the Industrial Training Fund (ITF).
Formulate policies and guidelines for participating bodies and institutions as well as
appointing SIWES coordinators and supporting staff.
Supervise students at their places of attachment and sign their log-books and IT forms.
Vet and process student’s log-book and forward same to ITF Area office.
Therefore the success or otherwise of the SIWES depends on the efficiency of the Ministries,
ITF, Institutions, Employers of labour and the general public involved in articulation and
management of the program. It is pertinent to mention that the scheme is aimed at promoting the
much-desired technological know-how for the advancement of the nation. This laudable scheme
amongst others will surely develop the much-needed well-skilled and articulated labour force
required to build an indigenous self-reliant economy envisaged for Nigeria.
CHAPTER TWO
Tech-savvy Digital Agency Company Founded in 1996 by three ICT experts, Mr.
Damilare Akwewanu, Mr Sodiq Yusuf, and Mr Yusuf Onabekun as at the establishment of Tech-
Savvy Digital Agency, the company had just one client, a staff strength of four, and a single
room office space. Then, the company focused more on Business Advisory. As at 1996, the
company had over thirty clients, a staff strength of about twenty, and still stayed in a single room
office space. Also the company’s services spread from being just Business Advisory to the
provision of Software Solutions. As at 2006, the number of clients grew to over hundred, which
also caused an increase in the staff strength to over twenty-five. As at the time of the writing of
this report, the staff strength of the company was numbered at fifty. Tech-savvy is growing
rapidly and has been recognized as a reliable designer, vendor, developer and high quality digital
agency establishment.
It develop and support a range of innovative software solutions that improve the quality
of work and life across public and private sectors. For more than two decades, and have
delivered scalable, proven, secure and easy-to-use technologies with the ultimate goal of
enhancing productive work and profitable businesses.-- They are also proactively identify new
areas of technology that can be leveraged for efficiency, productivity and service delivery to
customers.
Their team is made of dedicated technologists and inventors with a professional attitude
fully focused on providing these services to form long term close working partnerships with
clients to deliver innovative design solutions to all kinds of design related problems. The
company was located at a temporary residence at 5 Alhaji Musa Adesoga Close, Shyllon Bus
Stop, Palmgrove Shomolu, Lagos.
Top among the clients they have satisfied in the last 20 years are
Smart School: A school management solution that helps in the seamless administration and
management of important processes in primary and secondary schools.
Portal Academy: This solution is designed for tertiary institutions, to help automate students’
journey from registration to graduation, enhances administrative processes, communication and
collaboration among stakeholders
E-registration: This solution provides technology that aids electronic registration in secondary
and tertiary institutions. Backed with biometric technology, top examination bodies like WAEC
and JAMB already deploy this solution to achieve their goals
E-Buddy: A solution that helps in the preparation of examinations for students and schools,
using data to offer predictive analysis that puts students in a position to do well in examinations.
SEAMS: This digital technology aids assessment and marking in schools and helps in faster
result processing, saving time and cost for administrators.
E-Agric: This is a suite of solutions designed to connect, provide information and boost
productivity for all stakeholders in the Agriculture industry. This solution aggregates critical
stakeholders in the agriculture value chain on one platform, delivering value that aids seamless
supply and demand of agricultural products and services.
Farmer’s Hub: This is a mobile app that on-boards farmers all over the country, providing them
access to important information and facilities that promote their work and trade.
Agro-Portal: This is a web portal that provides insights and analytics about farmers, farming,
food, and Agric funding in the country. Helping decision makers create better systems and
decisions for the sector.
Agro-plaza: An e-commerce platform that connects farmers to others in the value chain such as
off-takers, processors, logistic providers, machinery merchants, seedling traders, distributors and
consumers.
The technology services of Tech-savvy Digital Agency entail strategy design, development and
roll out for clients. It includes the following:
Application development like Business Solutions, Custom Application Design, Web sites, web
applications, web security, Ecommerce Solution, Ict infrastructure service, Cloud Services,
Digital Marketing, Consultancy & Support. Some of these include:
Hardware: From servers to notebooks and smart phones, and everything in-between.
Tech-savvy provide a full range of hardware for efficient data storage, back-up and
recovery, from servers to notebooks, printers and smart phones, and everything in-
between. That leverage their preferential status
Network Administration and Management: Tools that keep Client network working.
Tech-Savvy provide standardized tools for monitoring, managing and reporting. Their
services include operations and system management, with availability monitoring and
reporting, together with performance optimization and management.
Internet and Hosting: From website to software on demand. Tech-savvy digital Agency
offer a full range of hosting from domain and DNS to application hosting. Also from
arrange co-location and cohosting in a safe and secure server farm.
Biometrics Solution: Tech-Savvy provide biometrics solution that makes use of a
fingerprint technology that measures and analyze human physiological characteristics for
authentication or identification purposes
Specialist Applications: There are times when clients want to make sure that critical
documents, like certificates or bonds, cannot be fraudulently replicated. Tech-savvy
Digital Agency provide a range of hardware and software applications so to protect those
vital items that truly matter to clients. It’s a matter of safety and confidentiality.
Tech-savvy Digital Agency implement robust security solutions that ensure client’s
network is protected and their data is safe. Key services are identity and access control,
including biometrics from Digital Persona, antivirus management from Avira and Unified
Threat Management from Cyberoam amongst others depending on the requirement per
organization. Security service which includes:
XG Firewall
The world’s best visibility, protection, and response, powered by deep learning and
Synchronized Security.
Endpoint Protection
Award-winning endpoint protection with artificial intelligence and EDR, giving you
unmatched defense against malware, exploits, and ransom ware
Cloud Optix
Solve the toughest challenges in cloud security. Combine the power of AI and automation
to simplify compliance, governance and security monitoring in the cloud.
Central Management
This is a Synchronized Security against coordinated attacks. Solutions that share threat
intelligence and talk to each other, managed through a single, centralized interface, from
firewall to endpoint. Systems Integration which includes Third Party/Legacy Systems
Integration
IT Advisory which includes Enterprise Resource Planning (ERP), Systems Assessment, IT
Project Management, IT Documentation, etc.
Tech-savvy Digital Agency also provides its clients with holistic business solutions for improved
overall business performance.
Complete harmonization of the key elements critical to the success of any business such
as: Business Processes, Resources/Training, Implementation/Project Management
2.9.1 DEPARTMENTS
Techsavvy Digital Agency is divided into three (3) main departments which are:
Operations
Administrative/Human Resources/Finance
Software Development
Software Testing
Performance Evaluation
Software Research
This was the department I worked under during the course of the training.
Client Support
Business Analysis
Staff Recruitment
Remission/Acceptance of funds
The first week of the field attachment, I occupied the position of a full time Intern with work
schedule from Monday to Friday 9:00am to 4:00pm at Tech-savvy Digital Agency, I was
assigned to the Research/Software Development department. Where I was introduce to Asp.net
and some development environment. The work I carried out was Web development, Web
Security, Database design and implementation, web content development and web scripting. My
major activities was development of Webpages, adding functionality, writing database queries,
connecting webpages to database and Web deployment.
Software development team members are responsible for designing and building software
products required by stakeholder. Among the key functions development team members perform
are planning, testing, analysis, programming, and many activities throughout the course of the
project
Team viewers
Adobe Photoshop
Tech-Savvy Digital Agency makes use of Visual Studio to develop web applications and
web services for their respective clients in ASP.NET C#. In the process of developing
applications Tech-Savvy Digital Agency uses Visual Studio to create Entity Data Model [EDM]
to insert, delete and update records in the database through the use of the business objects created
from the database tables; call stored procedures and pass parameters to the stored procedures
created in Microsoft SQL Server Management Studio.
Tech-Savvy Digital Agency makes use of SQL Server Management Studio to create
databases for the web applications, write stored procedures in order to perform logic operations,
create SQL transactions and crystal report.
Microsoft SQL Server Profiler is a graphical user interface to SQL Trace for monitoring T-SQL
Statements of Database Engine.
Tech-Savvy Digital Agency makes use of Microsoft SQL Server Profiler to Create and handle
traces and analyze trace result, monitor what commands actually get to the Database Engine and
what commands it executed. Especially when debugging. The profiler usually comes along with
the installation package of SQL Server Management studio, hence no further installation was
required.
Logging Block
Unity
Tech-Savvy Digital Agency makes use of the Data Access Block to connect to the
database and perform some SQL operations such as INSERT, DELETE and UPDATE. In
addition, Tech-Savvy Digital Agency uses these blocks to pass parameters to the stored
procedures created.
Sublime Text is a proprietary cross-platform source code editor with a Python application
programming interface. It natively supports many programming languages and markup
languages, and functions can be added by users with plugins, typically community-built and
maintained under free-software licenses.
Tech-Savvy Digital Agency makes use of Sublime Text Editor to solve linker errors and
to keep track of all files and folders to work with.
Team Viewer
Tech-Savvy Digital Agency makes use of Team Viewer for remote control, desktop sharing,
online meetings, web conferencing and file transfer between computers
Adobe Photoshop
Adobe Photoshop is a raster graphics editor developed and published by Adobe Systems for
Windows and OS X. It can edit and compose raster images in multiple layers. We made use of
Photoshop to create and edit images used
Tech-Savvy Digital Agency makes use of Adobe Photoshop to enhance web mockups and
adding effect, image editing, retouching, creating image composition,
3.5 DEFINITION OF TERMS
Website is a collection of related network web resources, such as web pages, multimedia
content, which are typically identified with a common domain name, and published on at least
one web server. It is define by it content and plausibly consist of a static content repository that's
dealt out to all visitors
Web applications is a client–server computer program that the client (including the user
interface and client-side logic) runs in a web browser. Common web applications include
webmail, online retail sales, online banking, and online auction.it is defined by its interaction
with the user and depends on interaction and requires programmatic user input and data
processing.
ASP.NET offers three frameworks for creating web applications: Web Forms, ASP.NET MVC,
and ASP.NET Web Pages. All three frameworks are stable and mature, and developer can create
great web applications with any of them. Each framework targets a different development style.
The one to choose depends on a combination of programming assets (knowledge, skills, and
development experience), the type of application developer is working upon, and the
development approach that get comfortable with.
3.7 NETWORKS
The local-area and wide-area networks connecting computers world-wide forming the
Internet
HTTP means HyperText Transfer Protocol. HTTP is the underlying protocol used by the
World Wide Web and this protocol defines how messages are formatted and transmitted, and
what actions Web servers and browsers should take in response to various commands.
3.9 URL
URL Means Uniform Resource Locator.it is a reference to a web resource that specifies
its location on a computer network and a mechanism for retrieving it.
3.10 SERVERS
3.12 ASP.NET
ASP.NET is built on the Common Language Runtime (CLR), allowing programmers to write
Asp.Net code using any supported .NET language such as C-Sharp, VB.NET and J-Sharp. The
Asp.Net Simple Object Access Protocol
Web Page Interactivity: ASP.NET allows developers to create interactive web pages in
order to allow users to submit data server and receive response from the server. This
feature is very useful in crating online surveys, receiving user feedbacks, responding to
user queries etc.
Source Code Access Restriction: ASP pages are compiled on the server and only the
HTML [Hypertext Markup Language] page is sent to the client. This ensures that the user
accessing the website is not allowed any access to the ASP source code, thus preventing
malicious misuse.
Additional Display Support: ASP.NET allows one to display current time, date, month
and year on the web page. [SOAP] extension framework allows ASP.NET components to
process SOAP messages. ASP.NET possesses some features that enable programmers
develop standard and well-structured websites, these features include
ASP.NET MVC gives a powerful, patterns-based way to build dynamic websites that enables a
clean separation of concerns and that gives you full control over markup for enjoyable, agile
development. ASP.NET MVC includes many features that enable fast, TDD-friendly
development for creating sophisticated applications that use the latest web standards.
ASP.NET is a technology, which works on the .Net framework that contains all web-related
functionalities. The .Net framework is made of an object-oriented hierarchy. An ASP.NET web
application is made of pages. When a user requests an ASP.NET page, the IIS delegates the
processing of the page to the ASP.NET runtime system. The ASP.NET runtime transforms the
Aspx page into an instance of a class, which inherits from the base class page of the .Net
framework. Therefore, each ASP.NET page is an object and all its components i.e., the server-
side controls are also objects.
Makes it easier to manage complexity by dividing an application into the model, the
view, and the controller.
Enables full control over the rendered HTML and provides a clean separation of
concerns.
Direct control over HTML also means better accessibility for implementing compliance
with evolving Web standards.
Works well for Web applications that are supported by large teams of developers and for
Web designers who need a high degree of control over the application behavior.
3.15 HOW TO CREATE ASP.NET MVC WEB APPLICATION
Open a Visual Studio Community edition and select File menu -> New -> Project as
shown below.
From the New Project dialog as shown below, expand Visual C# node and select Web in
the left pane, and then select ASP.NET Web Application (.NET Framework) in the
middle pane. Enter the name of your project MyMVCApplication. (You can give any
appropriate name for your application). Also, you can change the location of the MVC
application by clicking on Browse. Button. Finally, click OK.
From the New ASP.NET Web Application dialog, select MVC (if not selected already)
as shown below.
Change the authentication by clicking on Change Authentication button. You can select
appropriate authentication mode for your application as shown below.
Wait for some time till Visual Studio creates a simple MVC project using default
template as shown below.
Press F5 to run the project in debug mode or Ctrl + F5 to run the project without
debugging. It will open home page in the browser as shown below.
MVC 5 project includes JavaScript and CSS files of bootstrap 3.0 by default. So you can create
responsive web pages.
Now notice that in the Solution Explorer, you have several folders and files. There will be the
three folders Models, Views, Controllers. As the name suggests, the Models folder contains
Models, the Views folder contains Views and the Controllers folder contains Controllers. The
following are their purposes:
o Model: Model is the lowest level of the pattern that maintains the data.
o View: View is responsible for displaying all or portion of the data in front of
users.
Select the "Add" menu item and click on the "Controllers" menu item.
Set the controller name as a "HomeController" and leave other options as the default.
After clicking on the Add button in the controller’s folder there will be a
"HomeControllers.cs" file. It in other words that controller is nothing but a C# code file.
Press CTRL+F5 and run your project, you will get an error as shown below:
To fix this error you need to add a view to the Views folder with the Name "Index
Change the return type of the following action that is automatically added to the
HomeController Class.
Changing the return type of the Index() action from "ActionResult" to "string" type
CODE VIEW
1. using System;
2. using System.Collections.Generic;
3. using System.Linq;
4. using System.Web;
5. using System.Web.Mvc;
6.
7. namespace MVC.Controllers
8. {
9. public class HomeController : Controller
10. {
11. public string Index()
12. {
13. return "Hello C# Corner. This is My First MVC APP";
14. }
15.
16. }
17. }
Modify the Hello C# Corner Controller class to use view template files to cleanly
\encapsulate the process of generating HTML responses to a client.
Right click the Views HelloWorld folder and click Add, then click MVC 5 View Page
with Layout (Razor).
In the Specify Name for Item dialog box, rename it (Index) and then click OK.
In the Select a Layout Page dialog, accept the default _Layout.cshtml and click OK
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<p>Hello!</p>
<strong><em> Used to format text in a bold or italic This is <strong>bold text</ strong>
font. while <em>this text is in italic</em>
<form> <input> <textarea> <select> Used for input forms that enable <input type="text" value="Some
users to submit information to the Text" />
server.
<table> <tr> <th> <td> These tags are used to create a layout <table>
with a table. The <table> tag defines <tr>
the entire table, the <th> is used to <td>This is a Cell in Column1</td>
<td>This is a Cell in Column 2</td>
denote header cells, and the <tr> and
</tr>
<td> tags are used to define rows and </table>
cells, respectively.
<div> Just like the <span> tag, the <div> <div>This is some text on 1
tag is used as a container for other line</div>
elements. However, the <div> acts as <div>
This text is put directly under the
a block element, which causes an
previous text on a new line.
explicit line break before and after </div>
the <div> element by default.
<audio> <video> <source> Used to embed audio and video files <video src="Somevideo.mpg" />
in your web page. The <source>
element is used to define multiple
types of audio and video resources.
Attributes contain additional information that changes the way a specific element behaves. For
example, with the <img> tag that is used to display an image, the src attribute defines the source
of that image. Similarly, the <span> tag contains a style attribute that changes the color of the
text to red. The value of the style attribute (color: red ;) is part of a cascading style sheet (CSS)
Web Files
Web files are specific to web applications and can either be requested by a browser directly, or
are used to build up part of the web page that is requested in the browser. The following table
lists the various web files you typically use in an ASP.NET Web Forms website and their
extensions, and describes how each file is use
Code Files
Adding code files to the site is identical to how add web files. The following table describes the
various types of code files
Data Files
Data files are used to store data that can be used in site and in other applications. The group
consists of the XML files, database files, and files related to working with data.
ADO.NET Entity Data Model .edmx Data Model .edmx Used to access
databases declaratively, without the
need to write a lot of repetitive code.
Technically, this is not a data file,
because it does not contain the actual
data
In the early days of the Internet, web pages consisted mostly of text and images. The text was
formatted using plain HTML, using tags like <strong> to make the text bold, and the <font> tag
to influence the font family, size, and color. Web developers soon realized that they needed more
power to format their pages, so CSS was created to address some of HTML’s styling
shortcomings.
Properties are the part of the element that change with style sheet
Display Changes the way elements are Display: none; This causes the
displayed, enabling you to hide or element to be hidden, and not take up
show them. any screen space.
Float Enables to “float” an element in the float: left; This setting causes other
page using a left or right float. Other content following a float to be placed
content is then placed on the opposite at the top-right corner of the element
side.
Visual studio helps to find the right property with its many CSS tools
A model stores data that is retrieved according to the commands from the Controller and
displayed in the View. It is used to interact with database. It can also be used to manipulate the
data to implement the business logic.
3.24 How to Create Asp.Net Mvc Data Model
Step 1 − Open the Visual Studio. Click File → new → Project menu option. A new Project
dialog opens.
Step 4 − Enter the project name ‘MVCSimpleApp’ in the Name field and click Ok to continue.
The following dialog which asks to set the initial content for the ASP.NET project.
Step 5 − Select the Empty option and check the MVC checkbox in the ‘Add folders and core
references for’ section and click Ok. It will create a basic MVC project with minimal
predefined content.
Step 6 − Right-click on the controller folder in the solution explorer and select Add →
Controller.
Step 8 − Click ‘Add’ button and Add Controller dialog will appear.
Step 10 − You will see a new C# file ‘EmployeeController.cs’ in the Controllers folder, which is
open for editing in Visual Studio with some default actions.
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Web;
usingSystem.Web.Mvc;
namespaceMVCSimpleApp.Controllers{
publicclassEmployeeController:Controller{
// GET: Employee
publicActionResultIndex(){
returnView();
}
// GET: Employee/Details/5
publicActionResultDetails(int id){
returnView();
}
// GET: Employee/Create
publicActionResultCreate(){
returnView();
}
// POST: Employee/Create
[HttpPost]
publicActionResultCreate(FormCollection collection){
try{
// TODO: Add insert logic here
returnRedirectToAction("Index");
}catch{
returnView();
}
}
// GET: Employee/Edit/5
publicActionResultEdit(int id){
returnView();
}
// POST: Employee/Edit/5
[HttpPost]
publicActionResultEdit(int id,FormCollection collection){
try{
// TODO: Add update logic here
returnRedirectToAction("Index");
}catch{
returnView();
}
}
// GET: Employee/Delete/5
publicActionResultDelete(int id){
returnView();
}
// POST: Employee/Delete/5
[HttpPost]
publicActionResultDelete(int id,FormCollection collection){
try{
// TODO: Add delete logic here
returnRedirectToAction("Index");
}catch{
returnView();
}
}
}
}
Step 11 − Right-click on the Models folder in the solution explorer and select Add → Class.
Step 12 − Select Class in the middle pan and rename it (Employee.cs) in the name field.
Step 13 − Add some properties to Employee class using the following code.
Update the Employee Controller.cs file by adding one more method, which will return the list of
employee.
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Web;
namespaceMVCSimpleApp.Models{
publicclassEmployee{
publicint ID {get;set;}
publicstringName{get;set;}
publicDateTimeJoiningDate{get;set;}
publicintAge{get;set;}
}
}
[NonAction]
publicList<Employee>GetEmployeeList(){
returnnewList<Employee>{
newEmployee{
ID =1,
Name="Allan",
JoiningDate=DateTime.Parse(DateTime.Today.ToString()),
Age=23
},
newEmployee{
ID =2,
Name="Carson",
JoiningDate=DateTime.Parse(DateTime.Today.ToString()),
Age=45
},
newEmployee{
ID =3,
Name="Carson",
JoiningDate=DateTime.Parse(DateTime.Today.ToString()),
Age=37
},
newEmployee{
ID =4,
Name="Laura",
JoiningDate=DateTime.Parse(DateTime.Today.ToString()),
Age=26
},
};
}
Step 14 − Update the index action method as shown in the following code.
publicActionResultIndex(){
var employees =from e inGetEmployeeList()
orderby e.ID
select e;
returnView(employees);
}
Step 15 − Hence to add a view, right-click inside the Index action and select Add view.
It will display the Add View dialog and it is going to add the default name.
Step 17 − Select the List from the Template dropdown and Employee in Model class dropdown
and also uncheck the ‘Use a layout page’ checkbox and click ‘Add’ button.
<!DOCTYPE html>
<html>
<head>
<meta name ="viewport" content ="width = device-width"/>
<title>Index</title>
</head>
<body>
<p>@Html.ActionLink("Create New","Create")</p>
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.Name)
</th>
<th>
@Html.DisplayNameFor(model => model.JoiningDate)
</th>
<th>
@Html.DisplayNameFor(model => model.Age)
</th>
<th></th>
</tr>
<td>
@Html.DisplayFor(modelItem => item.JoiningDate)
</td>
<td>
@Html.DisplayFor(modelItem => item.Age)
</td>
<td>
@Html.ActionLink("Edit","Edit",new{ id =item.ID })|
@Html.ActionLink("Details","Details",new{ id = item.ID })|
@Html.ActionLink("Delete","Delete",new{ id = item.ID })
</td>
</tr>
}
</table>
</body>
</html>
Step 18 − Run the application and you will receive the following output.
Step 1 − Install Entity Framework, right-click on your project and select NuGet Package
Manager → Manage NuGet Packages for Solution
Search for Entity framework in the search box.
Select the Entity Framework and click ‘Install’ button. It will open the Preview dialog.
Click Ok to continue.
Add DBContext
Add another class to the Employee Model created earlier, which will communicate with Entity
Framework to retrieve and save the data using the following code.
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Data.Entity;
usingSystem.Linq;
usingSystem.Web;
namespaceMVCSimpleApp.Models{
publicclassEmployee{
publicint ID {get;set;}
publicstringName{get;set;}
publicDateTimeJoiningDate{get;set;}
publicintAge{get;set;}
}
publicclassEmpDBContext:DbContext{
publicEmpDBContext()
{}
publicDbSet<Employee>Employees{get;set;}
}
}
As seen above, EmpDBContext is derived from an EF class known as DbContext. In this class,
we have one property with the name DbSet, which basically represents the entity you want to
query and save.
Connection String
Specify the connection string under <configuration> tag for our database in the Web.config file.
<connectionStrings>
<addname="EmpDBContext"connectionString="Data
Source = (LocalDb)\v14.0;AttachDbFilename =
|DataDirectory|\EmpDB.mdf;Initial
Catalog = EmployeeDB;Integrated Security = SSPI;"
providerName="System.Data.SqlClient"/>
</connectionStrings>
Update the EmployeeController.cs file so that you can actually save and retrieve data from the
database
Create a private EmpDBContext class object and then update the Index, Create and Edit action
methods
usingMVCSimpleApp.Models;
usingSystem.Linq;
usingSystem.Web.Mvc;
namespaceMVCSimpleApp.Controllers{
publicclassEmployeeController:Controller{
privateEmpDBContext db =newEmpDBContext();
// GET: Employee
publicActionResultIndex(){
var employees =from e in db.Employees
orderby e.ID
select e;
returnView(employees);
}
// GET: Employee/Create
publicActionResultCreate(){
returnView();
}
// POST: Employee/Create
[HttpPost]
publicActionResultCreate(Employee emp){
try{
db.Employees.Add(emp);
db.SaveChanges();
returnRedirectToAction("Index");
}catch{
returnView();
}
}
// GET: Employee/Edit/5
publicActionResultEdit(int id){
var employee = db.Employees.Single(m => m.ID == id);
returnView(employee);
}
// POST: Employee/Edit/5
[HttpPost]
publicActionResultEdit(int id,FormCollection collection){
try{
var employee = db.Employees.Single(m => m.ID == id);
if(TryUpdateModel(employee)){
//To Do:- database code
db.SaveChanges();
returnRedirectToAction("Index");
}
returnView(employee);
}catch{
returnView();
}
}
}
}
Now go to the SQL Server Object Explorer and check the database that was created
Expand the database and see that it has one table which contains all the fields in Employee
model class.
To see the data in this table, right-click on the Employees table and select View Data.
You will see that we have no records in the table
Refresh the browser to see the updated data from the database.
Add one record from the browser by clicking the ‘Create New’ link. It will display the Create
view.
Now let’s go the SQL Server Object Explorer and refresh the database. Right-click on the
Employees table and select the View data menu option. You will see that the record is added in
the database.
3.26 PROJECTS UNDERTAKEN
During my industrial training in Tech-Savvy Digital Agency, I was Assign some projects which
are:
Ecommerce Platform
Overview: This application is a consumer goods e-commerce retail platform that connect seller
with consumer
Modules: Below are the list of modules created for the application
One-page Checkout
Overview: This application is design in order to convince website visitor to become customers
of the service company
Modules: Below are the list of modules created for the application
4.1 SUMMARY
The main activity I engaged in during this exercise was Software Development. The applications
I built were mostly Web based. Hence, I made use of Interface design Software, Data technology
, development environment, data protocols, database management, version control, Testing
and some other software tools such as Microsoft Visual Studio, SQL Server Management Studio,
Adobe Creative Suite etc. Application development requires special languages hence, I made
use of languages like C sharp (Asp.net Model View Controller), Extensible Markup Language
(XML) JavaScript, JQuery, CSS, and ASP.NET etc. With all these tools, I crafted beautiful
responsive and attractive web pages, added functionality and behavior to them, wrote our client
and server side codes, created databases, and connected webpages to database and deployed
them to web server.
To a greater extent I successfully accomplished the duties and responsibilities assigned. Being in
the Software development department responsibilities included: day to day work and coding,
planning project, sketching user interface, preparing reports and performing an online research
about a particular task e.g. Creating of Controller in Asp.net MVC, View in Asp.net MVC,
Creating of model, Connection String and Working with SQL Server LocalDB, Accessing
Model's Data from a Controller, Examining the Edit Methods and Edit View, Adding Search,
Adding a New Field, Adding Validation, Examining the Details and Delete Methods.
During field attachment I accumulated a lot of knowledge and skills which includes.
The industrial training created an opportunity for me to broaden my horizon and has
exposed me to the hidden secrets of developing an enterprise application. In addition, it
has also improved my confidence.
With the current curriculum for Undergraduate Bachelor of Computer Science program by
Ladoke Akintola University of Technology Ogbomoso. In its design goals which include
enabling students with computer skills necessary for employment and career opportunities in
today’s ICT industries and business organization.
Illustration of relevance of computer science curriculum to field work with few sampled course
code
COURSE CODE AND TITLE USE OF KNOWLEDGE FROM CLASS TO FIELD
WORK
CSE 312: Data structures and Algorithms This enabled easy developing of problem solving
systems
CSE 314: Fundamental of software engineering This enabled successful web development sessions
CSE 305: Database design and management
CSE 411: User design interface
Pre-degree Information Communication The skills learnt in this courses such as Microsoft Word
Technology and Excel were used to prepare professionally looking
CSE 100: Introduction to computer and standard documents at work, including this field
attachment report
Transportation to and from the office was very stressful due to Lagos traffic.
Frequent expiry of the company’s data plan prevented me from accessing the internet at
certain times which then made me slow at completing my tasks.
Power outage was a major problem. Whenever the server went off, i couldn’t continue.
The field attachment was of great importance, some of the benefits include
5.1 CONCLUSIONS
The Siwes period revealed that curriculum in our university lacks sufficient input from
employers of labour, the world values people who have knowledge and know how to put that
knowledge into practice and not the opposite. Graduates from Higher Institutions won’t fall into
the needed category unless they have been prepared to implement whatever they have learnt in
school in real-world situations.
The Student Industrial Work Experience Scheme is indeed a great avenue for students to
develop skills needed in the society whether they are to become entrepreneurs or employees.
Engaging in this program has really exposed me to the work environment I will likely meet upon
graduation. It has also given me the opportunity to apply the knowledge gained from school and
even improve on it.It offered me the opportunity to essentially customize my placement in order
to gain valuable work experience in my areas of interest.
I gained a wide range of experience from the various project undertaken such as building
an ASP.NET Website, Working with ASP.NET server Controls, Databases, Displaying and
Updating of Data, Security in ASP.NET Website.
I also had the opportunity to network with potential future employers and gain insight into the
types of employees they look for. This made me realize the greatest value of the students
industrial work experience which is providing a unique and exciting experience that is
unparalleled in the classroom and to coordinate job experience with academic. All the experience
gained help to fulfil the objectives of SIWES
5.2 RECOMMENDATIONS
Considering the benefits of engaging in the SIWES, I recommend an active participation in this
exercise by all students who are due for it.
To students who really want to make the best of their Industrial Training, I recommend the
following. Also, I wish to recommend the following to firms who truly wish to assist students
during the training period:
The University should urgently restructure the curricula offerings to meet the
requirements of the lab our market
The University should keep good records of its graduates for feedback purposes; while
academic departments should liaise with employers for information on their employed
ex- students
The institution should ensure regular visitation of their student on industrial attachment to
monitor their welfare and improvement status.
Time schedule should be given to the whole higher institutions in Nigeria for an
acceptable start off date or it could be done in batches.
Federal Government should refer to Decree No. 47 Section 7A (1) (b); section 7A (2) and
fine any ministry, company or parastatal that fail to offer students place for the
attachment
The Federal Government should make adequate provisions in the annual budget for
proper funding of SIWES in view of the potentials of the scheme to enhance the quality
of the pool of technical skills available in the economy
The Federal Government should provide industries and organizations with incentives to
encourage and request urgently for their cooperation and contribution to the programme.
Also the federal government should release the allowances meant for this exercise in
good time in order to alleviate the financial predicament of student.
ITF should liaise with some companies where they will take up students for industrial
training. This will help students who find it difficult to find attachments or who end up in
companies where they do nothing.
The Industrial Training Fund should formulate policies and guidelines on SIWES
programme for enhancement to all SIWES participating bodies, Institution and
companies involved in the scheme.
REFERENCES
Asikadi, E. (2003). Restructuring SIWES to meet the National Development Plan in Education
System: National Conference of National Association for Research Development Asaba;
2003 pp1 & 2
High Tech Synergy Limited. (2006, March). High Tech Synergy Organizational Profile. 1-4.
Lagos: High Tech Synergy Limited.
High Tech Synergy Limited. (2009, April). High Tech Synergy Orientation Program-mission,
vision and core values. Lagos: High Tech Synergy.
High Tech Synergy Limited. (2015, April). High Tech Synergy Organogram. Lagos: High Tech
Synergy Limited.
Igbinoba M. O. (2002). Bridging the gap between education and the industry. Business
Education Journal (ABEN), IV (1)
Makerere University Council. (2011). Guidelines for Field Attachment. Retrieved June 5,
2016.from Makerere University Policies Website: http://policies.mak.ac.ug/sites/default/f
iles/policies/guidelines_for_field_attachment.pdf
NCHE. (2013, December). Curriculum for Bachelor of Computer Science (CSC) Degree
Program. Retrieved August 13, 2016, from https://courses.mak.ac.ug/programmes/bachel
or-science-computer-science