Full stack web development with JavaScript, Study Guides, Projects, Research of Web Application Development

Full stack Web development SIWIES Report and research which outlined the use of JavaScript and The MERN stack as technologies use in building robust web software applications.

Typology: Study Guides, Projects, Research

2020/2021

Uploaded on 06/30/2021

Kceesnazzy
Kceesnazzy 🇳🇬

1 document

1 / 52

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
STUDENT INDUSTRIAL WORK EXPERIENCE SCHEME (S.I.W.E.S)
1.1 About SIWES
Students industrial work experience scheme (S.I.W.E.S) is a scheme designed to give
students the necessary practical skill in addition to the theories and practical which they
receive in school. It is an essential and mandatory program organized by the Industrial
Training Fund (ITF) through the National Board of Technical Education (N.B.T.E), National
Universities Commission (NUC), and National Commission for Colleges of Education
(NCCE) for students in technical institutions, universities and colleges of education
respectively.
The scheme which was initiated in 1973 by the federal government was designed to
expose and prepare students for the industrial work institutions they are likely to meet after
graduation. It creates an opportunity for students to experience their field of work as
employees and for their employers to have a feel of the institution’s product. The scheme is
also meant to familiarize students with work method and expose them to needed experience
in handling real life problems.
1.2 Bodies Involved in SIWES
The main bodies involved in Student Industrial Work Experience Scheme are:
The tertiary institutions and the Federal Government through the Industrial Training Fund
(ITF). Other supervising agencies include:
1. National University Commission (NUC)
2. National Board for Technical Education (NBTC)
3. National Council for collages for Education (NCCE)
4. Industry/Employers (NECA, NACCIMA, MAN, Government Establishments)
1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34

Partial preview of the text

Download Full stack web development with JavaScript and more Study Guides, Projects, Research Web Application Development in PDF only on Docsity!

STUDENT INDUSTRIAL WORK EXPERIENCE SCHEME (S.I.W.E.S)

1.1 About SIWES

Students industrial work experience scheme (S.I.W.E.S) is a scheme designed to give students the necessary practical skill in addition to the theories and practical which they receive in school. It is an essential and mandatory program organized by the Industrial Training Fund (ITF) through the National Board of Technical Education (N.B.T.E), National Universities Commission (NUC), and National Commission for Colleges of Education (NCCE) for students in technical institutions, universities and colleges of education respectively. The scheme which was initiated in 1973 by the federal government was designed to expose and prepare students for the industrial work institutions they are likely to meet after graduation. It creates an opportunity for students to experience their field of work as employees and for their employers to have a feel of the institution’s product. The scheme is also meant to familiarize students with work method and expose them to needed experience in handling real life problems.

1.2 Bodies Involved in SIWES

The main bodies involved in Student Industrial Work Experience Scheme are: The tertiary institutions and the Federal Government through the Industrial Training Fund (ITF). Other supervising agencies include:

  1. National University Commission (NUC)
  2. National Board for Technical Education (NBTC)
  3. National Council for collages for Education (NCCE)
  4. Industry/Employers (NECA, NACCIMA, MAN, Government Establishments)
  1. Tertiary Institutions (Universities, Polytechnics, Colleges of Education)
  2. Student trainees (Engineering, Science, Technology, NCE Technical) The functions of these agencies above are to:  Ensure adequate funding of the scheme.  Establishment SIWES and accredit SIWES unit in the approved institutions as well as appointing SIWES coordinators and supporting staff.  Ensure adequate funding of the scheme.  Establishment SIWES and accredit SIWES unit in the approved institutions as well as appointing SIWES coordinators and supporting staff.  Vet and process students Log books and forward same to ITF area office.  Ensure payment of all allowances for the students and supervisors.

1.3 Nature and Scope of SIWES

This is based on the number of weeks or months that student is expected to stay for its attachment. The minimum duration for SIWES should normally be six months, twenty-four weeks (24) weeks for University Engineers and Technologist. The cumulative total duration of attachment over the entire period of the course should preferably be not shorter than 240hrs full time which will take place during term-time or long vocation. Induction sessions which is conducted by teaching departments to install the concepts of key skills (skills for learning, employment and life), work place safety and professional expectations, legalities and ethics. 1.4 Goals and objectives of the SIWES program  Providing an avenue for students in institution of higher learning to acquire industrial skill and experience in their course of study.

enhance personal attributes such as critical thinking, creativity, initiative, resourcefulness, leadership, time management, presentation skills and interpersonal skills, amongst others.

CHAPTER 2

2.1 History and background of the Company GLOBALSEAM TECHNOLOGY LIMITED is a leading Software Technology and IT firm, with an objective to improve and accelerate clients business and operational capacity through the provision of current, intelligent and complete ICT based technologies/solutions aimed at increasing and sustaining all our client’s business productivity and efficiency with a view to meeting their needs and expectations, in today’s changing and competitive global economy. GLOBALSEAM TECHNOLOGY LIMITED delivers unmatched business value to clients/customers through a combination of process excellence, quality frameworks and technology innovation. With years of experience we provide diverse enterprise resource planning software solutions to a large portfolio of customers in various sectors of the economy such as: Finance and Banking, Retail Sales, Manufacturing, Engineering, Education, Hospitality and so on. Our focus is to deliver total and concise solutions to customers, leveraging on our deep industry, technology and product expertise, along with our strategic global partnerships and alliances. GLOBALSEAM TECHNOLOGY LIMITED has been registered with the Corporate Affairs Commission (C.A.C) since 5th December 1996, but started operation fully in September, 2003 under the name Bestamos Ventures with an objective to develop Indigenous Business/ Management Software with integrity, professionalism and provide solutions to firms by helping them embrace the wonderful wind which organizations enjoy using Management Information System (MIS) brought about by the advent of Information Technology. It is now over one and a half decade since we have been in the business of IT development and our passion for software technology keeps driving us to develop and improve customized application. Also, we are open to client’s innovative concepts and approach. Our long years of experience in dealing with some challenges have made us realize that there is a practical

we successfully eliminated all bugs and logical errors that can be found in the existing software. This puts our clients in a vantage position by implementing the automation of all their Assets and Stock Broking operation. 9 GLOBAL INVENTORY SYSTEM (Real-time Inventory Control feature and Warehouse System) 10 GENIUS (Hotel Management Software)

CHAPTER 3

3.1 FULL STACK DEVELOPMENT What Is Full Stack Development? A generalist that has broad skills across all aspects of product engineering is usually called a full stack developer. According to qualitative research made by Globalseam Technologies, other stacks of web technologies has not bridged the gap between frontend or offered any default front-end solutions for their various stacks. The reason for that is that the frontend part of the system is much more versatile. Developers can use a variety of frameworks for front-end regardless of the chosen stack, each created for their own use cases in mind. As you know JavaScript and its frameworks rules the world in terms of frontend technologies, you ought to have fully understood JavaScript before you can attempt any JavaScript frontend framework. What Is Full Stack JavaScript : One JavaScript, Different Technology Stacks When talking about full stack JavaScript the first thing that comes to mind is the MEAN stack. It is a technology bundle that includes MongoDB, Express, AngularJS, and Node.js. However, with the rapid growth of this approach, more alternative options for full stack JavaScript development are added. While server-side JavaScript programming with Node.js and Express web framework is the most common technology choice, other Node.js-based tools, such as Meteor, Sails.js, Koa, restify, or Keystone.js, might be used as well. The choice of possible frameworks for the frontend JavaScript is even greater. Aside from traditional AngularJS or AngularJS 2.0 frameworks, numerous libraries, such as React, Vue.js, Knockout.js, or Backbone.js, are typically used, depending on the project specifics. As for the database, almost any MongoDB alternative can be used: MySQL, PostgreSQL, Apache CouchDB or Apache Cassandra.

Engines are complicated. But the basics are easy. Engine (embedded if it’s a browser) reads (“parses”) the script, then it converts (“compiles”) the script to the machine language which runs, pretty fast. The engine applies optimizations at each step of the process. It even watches the compiled script as it runs, analyzes the data that flows through it, and further optimizes the machine code based on that knowledge. What can in-browser JavaScript do? Modern JavaScript is a “safe” programming language. It does not provide low-level access to memory or CPU, because it was initially created for browsers which do not require it. JavaScript’s capabilities greatly depend on the environment it’s running in. For instance, Node.js supports functions that allow JavaScript to read/write arbitrary files, perform network requests, etc. In-browser JavaScript can do everything related to webpage manipulation, interaction with the user, and the webserver. For instance, in-browser JavaScript is able to:

  1. Add new HTML to the page, change the existing content, modify styles.
  2. React to user actions, run on mouse clicks, pointer movements, key presses.
  3. Send requests over the network to remote servers, download and upload files (so- called AJAX and COMET technologies).
  4. Get and set cookies, ask questions to the visitor, show messages.
  5. Remember the data on the client-side (“local storage”). What CAN’T in-browser JavaScript do? JavaScript’s abilities in the browser are limited for the sake of the user’s safety. The aim is to prevent an evil webpage from accessing private information or harming the user’s data. Examples of such restrictions include:

JavaScript on a webpage may not read/write arbitrary files on the hard disk, copy them or execute programs. It has no direct access to OS system functions. Modern browsers allow it to work with files, but the access is limited and only provided if the user does certain actions, like “dropping” a file into a browser window or selecting it via an tag. There are ways to interact with camera/microphone and other devices, but they require a user’s explicit permission. So, a JavaScript-enabled page may not sneakily enable a web- camera, observe the surroundings and send the information to the NSA. Different tabs/windows generally do not know about each other. Sometimes they do, for example when one window uses JavaScript to open the other one. But even in this case, JavaScript from one page may not access the other if they come from different sites (from a different domain, protocol or port). This is called the “Same Origin Policy”. To work around that, both pages must agree for data exchange and contain a special JavaScript code that handles it. This limitation is, again, for the user’s safety. A page from http://anysite.com which a user has opened must not be able to access another browser tab with the URL http://gmail.com and steal information from there. JavaScript can easily communicate over the net to the server where the current page came from. But its ability to receive data from other sites/domains is crippled. Though possible, it requires explicit agreement (expressed in HTTP headers) from the remote side. Once again, that’s a safety limitation. Such limits do not exist if JavaScript is used outside of the browser, for example on a server. Modern browsers also allow plugin/extensions which may ask for extended permissions. What makes JavaScript unique? There are at least three great things about JavaScript:

This is a shift away from mainstream models that run larger, more complex processes and run several threads concurrently, with each thread waiting for its appropriate response before moving on. 3.3 OVERVIEW OF JAVASCRIPT AS A LANGUAGE In this section we are going to talk about some basic concept of the Javascript and some core building blocks that JavaScript provides 3.3.1 String and variables A JavaScript identifier must start with a letter, underscore (_), or dollar sign ($). Subsequent characters can also be digits (0–9). Because JavaScript is case sensitive, letters include the characters "A" through "Z" (uppercase) as well as "a" through "z" (lowercase). The value passed as the first parameter is converted to a boolean value, if necessary. If the value is omitted or is 0, -0, null, false, NaN, undefined, or the empty string (""), the object has an initial value of false. All other values, including any object, an empty array ([]), or the string "false", create an object with an initial value of true. Here are examples where we use string and variables together. // Create a variable to store the city let city = 'Philadelphia' // Create a variable to store the state let state = 'Pennsylvania' // Create a variable to combine the city and state let location = city + ', ' + state // Print the combined location to the terminal console.log(location)

Constant variable when we use let we can reassign it another value later on in our script, but what of if we want to initialize a variable whose value will never get changed we use const. here if we try to change the value of isRaining it will fail. const isRaining = true isRaining = false console.log(isRaining) Variables with Var Although creating a variable with var and const/let seam similar but there are some minor differences var name = 'Andrew' name = 'Vikram' console.log(name) Variables created with var are only functioned scoped. This means that code blocks created by if statement or for loops won’t create a new scope. if (true) { var name = 'Andrew' let age = 26 } console.log(name) // Will print: Andrew console.log(age) // Will print: ReferenceError Another is that variables created with var cannot be redeclared. var name = 'Andrew' var name = 'Mike' console.log(name) // Will print: Mike Variables created with var can be accessed before they are declared. This hoisting of variables can cause unexpected behaviours in your codes. See below two examples var name = 'Andrew' var name = 'Mike' console.log(name) // Will print: Mike var age

Any object of which the value is not undefined or null, including a Boolean object whose value is false, evaluates to true when passed to a conditional statement. For example, the condition in the following if statement evaluates to true: Operator Syntax Description Logical AND (&&) expr1 && expr2 If expr1 can be converted to true, returns expr2; else, returns expr1. Logical OR (||) expr1 || expr2 If expr1 can be converted to true, returns expr1; else, returns expr2. Logical NOT (!) !expr Returns false if its single operand can be converted to true; otherwise, returns true. Comparison Operators == — Equal to === — Equal value and equal type != — Not equal !== — Not equal value or not equal type

— Greater than < — Less than = — Greater than or equal to 3.3.5 Functions in JavaScript

A JavaScript function is a block of code designed to perform a particular task. A JavaScript function is executed when "something" invokes it (calls it). JavaScript Function Syntax A JavaScript function is defined with the function keyword, followed by a name, followed by parentheses (). Function names can contain letters, digits, underscores, and dollar signs (same rules as variables). The parentheses may include parameter names separated by commas: (parameter1, parameter2, ...). The code to be executed, by the function, is placed inside curly brackets: {} Function parameters are listed inside the parentheses () in the function definition. Function arguments are the values received by the function when it is invoked. Inside the function, the arguments (the parameters) behave as local variables. The code inside the function will execute when "something" invokes (calls) the function. 3.3.6 Scope in JavaScript JavaScript Function Scope Scope determines the accessibility (visibility) of variables In JavaScript there are two types of scope:  Local scope  Global scope JavaScript has function scope: Each function creates a new scope. Scope determines the accessibility (visibility) of these variables. Variables defined inside a function are not accessible (visible) from outside the function.

This code example will declare a global variable carName, even if the value is assigned inside a function. Example myFunction(); // code here can use carName function myFunction() { carName = "Volvo";} Strict Mode All modern browsers support running JavaScript in "Strict Mode". In "Strict Mode", undeclared variables are not automatically global. The Lifetime of JavaScript Variables The lifetime of a JavaScript variable starts when it is declared. Local variables are deleted when the function is completed. In a web browser, global variables are deleted when you close the browser window (or tab). Function Arguments Function arguments (parameters) work as local variables inside functions. 3.3.8 Undefined and null Undefined : undefined is a property of the global object. That is, it is a variable in global scope. The initial value of undefined is the primitive value undefined. A variable that has not been assigned a value is of type undefined. A method or statement also returns undefined if the variable that is being evaluated does not have an assigned value. A function returns undefined if a value was not returned. Null : The value null is written with a literal: null. null is not an identifier for a property of the global object, like undefined can be. Instead, null expresses a lack of identification, indicating

that a variable points to no object. In APIs, null is often retrieved in a place where an object can be expected but no object is relevant. 3.3.9 JavaScript loops Loops let you run a block of code a certain number of times. Loops // logs ’try 0 ’ , ’try 1 ’ , ... , ’try 4 ’ for ( var i = 0 ; i < 5 ; i ++) { console. log ( ' try ' + i); } Note that in Loops even though we use the keyword var before the variable name i, this does not “scope” the variable i to the loop block. for (before loop; condition for loop; execute after loop) { // what to do during the loop } for — The most common way to create a loop in JavaScript while — Sets up conditions under which aloop executes do while — Similar to the while loop, however, it executes at least once and performs a check at the end to see if the condition is met to execute again break — Used to stop and exit the cycle at certain conditions continue — Skip parts of the cycle if certain conditions are met if - else statements if (condition) { // what to do if condition is met } else { // what to do if condition is not met } 3.3.10 JavaScript Objects Real Life Objects, Properties, and Methods