Project Report (Project Semester Jan-June 2022) Internship at Aruba Networks Internship Period (8th February – 5th August 2022) Submitted by Shreyansh Kabra 18BCON091 Under the Guidance of Mr. Satyajeet Sharma Industry Guide: Mr. Mohan Raman Designation: Assistant Professor Designation: Customer Advocacy Engineer Department of Computer Science Engineering JECRC UNIVERSITY, JAIPUR 1 OFFER LETTER 2 Table of Contents OFFER LETTER ........................................................................................................................................ 2 About Aruba Networks ........................................................................................................................... 5 Abstract ................................................................................................................................................. 7 Introduction ........................................................................................................................................... 8 Technology Used ...................................................................................................................................11 1. Express.js............................................................................................................................................... 12 2. JavaScript .............................................................................................................................................. 13 3. React.js.................................................................................................................................................. 15 4. Node.js .................................................................................................................................................. 17 5. Visual Studio Code ................................................................................................................................. 19 6. Git ......................................................................................................................................................... 21 7. Databases .............................................................................................................................................. 24 8. Linux (RedHat7) ..................................................................................................................................... 25 Findings ................................................................................................................................................27 Contribution ..........................................................................................................................................29 Learnings ..............................................................................................................................................30 3 Table of Figures Figure 1 Full Stack Development ......................................................................................................................8 Figure 2 Frontend ...............................................................................................................................................9 Figure 4 Backend .............................................................................................................................................10 Figure 5 Express.js ...........................................................................................................................................12 Figure 6 Javascript ...........................................................................................................................................13 Figure 7 React.js ..............................................................................................................................................15 Figure 8 Node.js ...............................................................................................................................................17 Figure 9 VS Code .............................................................................................................................................19 Figure 10 GIT...................................................................................................................................................21 Figure 11 GIT Operations ................................................................................................................................22 Figure 12 Linux ................................................................................................................................................25 Index of Tables Table Number Table Name Page Number 1 Acquisitions 5-6 2 Technologies Used 12 3 SQL vs NoSQL 25 4 About Aruba Networks Aruba Networks, formerly known as Aruba Wireless Networks, is a Santa Clara, California-based wireless networking subsidiary of Hewlett Packard Enterprise company. The company was founded in Sunnyvale, California in 2002 by Keerti Melkote and Pankaj Manglik. On March 2, 2015, Hewlett-Packard announced it would acquire Aruba Networks for approximately USD 3 billion. On May 19, 2015, HP completed the acquisition. As of November 1, 2015, the company operates as a subsidiary of Hewlett Packard Enterprise company. Antonio Neri is the President and Chief Executive Officer of Hewlett Packard Enterprise – the global edge-to-cloud platform-as-a-service company – responsible for developing and delivering enterprise technology solutions and services that help organizations accelerate outcomes by unlocking value from all their data, everywhere. History Date of Company Acquired Silver Peak Systems Cape Networks Wide Area Networks (WANs) 21, 2020 March 27, 2018 1, 2017 Rasa Networks Aruba September February Niara Inc. Networks (acquired by HPE) Business Acquisition May 9, 2016 May 19, 2015 Network Security Network Security Network Performance Management and Analytics Wireless Networking 5 Meridian Apps May 16, 2013 December 8, Ayenda Systems 2011 Amigopod Pty Ltd. Assets and Technology Azalea Networks AirWave Wireless Network Chemistry Location Services Network Access Security December Network 14, 2010 Solutions September 2, Outdoor 2010 Technology January 9, 2008 July 23, 2007 Authentication Mesh Wireless Wi-Fi Hotspot Wi-Fi Security Table 1: Acquisition 6 Abstract This report is aimed at explaining key areas of my training under the Internship undertaken at Aruba Networks. The training consists of full-stack web development comprising both front-end and back-end. Website design & web development is about establishing your identity, developing/enhancing an existing identity, producing a periodical online publication, producing an entertainment site, or exchanging data with your partners/clients, your website must do something for its audience. During this period, I got hands-on training with various technologies and languages used in full-stack development by the company like HTML, CSS, Bootstrap, JavaScript, Node.js, Express.js, React.js, Postman, GIT, VS Code, Routing, Wireless Networking, Service Now, AWS, UXI and many more, some of them are still undergoing. After completing this training, I’ll be involved in projects that will help me improve my skills and help me with the growth of my career in the field. 7 Introduction Full-stack Development It refers to the development of both front-end (client-side) and back-end (server-side) portions of web applications. Full-stack web developers can design complete web applications and websites. They work on the frontend, backend, database, and debugging of web applications or websites. Figure 1 Full Stack Development Technology related to full-stack development: Front end: Front end: It is the visible part of the website or web application that is responsible for user experience. The user directly interacts with the front-end portion of the web application or website. The front-end portion is built by using some languages which are discussed below: HTML: HTML stands for HyperText Markup Language. It is used to design the front-end portion of web pages using a markup language. HTML is the combination of Hypertext and Markup language. Hypertext defines the link between the web pages. The markup language is used to define the text documentation within the tag which defines the structure of web pages. CSS: Cascading Style Sheets, fondly referred to as CSS, is a simply designed language intended to simplify the process of making web pages presentable. CSS allows you to apply styles to web pages. More importantly, CSS enables you to do this independent of the HTML that makes up each web page. 8 JavaScript: JavaScript is a famous scripting language used to create the magic on the sites to make the site interactive for the user. It is used to enhance the functionality of a website to run cool games and web-based software. Figure 2 Frontend Front End Frameworks and Libraries: AngularJS: Angular.js is a JavaScript open-source front-end framework that is mainly used to develop single-page web applications (SPAs). It is a continuously growing and expanding framework which provides better ways for developing web applications. It changes the static HTML to dynamic HTML. It is an open-source project which can be freely used and changed by anyone. It extends HTML attributes with Directives, and data is bound with HTML. React.js: React is a declarative, efficient, and flexible JavaScript library for building user interfaces. ReactJS is an open-source, component-based front-end library responsible only for the view layer of the application. It is maintained by Facebook. Bootstrap: Bootstrap is a free and open-source tool collection for creating responsive websites and web applications. It is the most popular HTML, CSS, and JavaScript framework for developing responsive, mobile-first websites. jQuery: jQuery is an open-source JavaScript library that simplifies the interactions between an HTML/CSS document, or more precisely the Document Object Model (DOM), and JavaScript. Back end: It refers to the server-side development of a web application or website with a primary focus on how the website works. It is responsible for managing the database through queries and APIs by client-side commands. 9 The back-end portion is built by using some languages which are discussed below: PHP: PHP is a server-side scripting language designed specifically for web development. Since PHP code is executed on the server-side, it is called a server-side scripting language. C++: It is a general-purpose programming language and is widely nowadays for competitive programming. It is also used as backend language. Java: Java is one of the most popular and widely used programming languages and platforms. It is highly scalable. Java components are easily available. Python: Python is a programming language that lets you work quickly and integrate systems more efficiently. JavaScript: JavaScript can be used as both (front end and back end) programming languages. Back End Frameworks and Libraries: Node.js: Node.js is an open-source and cross-platform runtime environment for executing JavaScript code outside of a browser. We often use Node.js for building back-end services like APIs like Web App or Mobile App. Database: A database is the collection of inter-related data which helps in the efficient retrieval, insertion, and deletion of data from the database and organizes the data in the form of tables, views, schemas, reports, etc. MongoDB: MongoDB, the most popular NoSQL database, is an open-source documentoriented database. The term ‘NoSQL’ means ‘non-relational’. It means that MongoDB isn’t based on the table-like relational database structure but provides an altogether different mechanism for the storage and retrieval of data. SQL: Structured Query Language is a standard Database language that is used to create, maintain, and retrieve the relational database. Figure 3 Backend 10 Technology Used Technologies Used Reason Express.js Node.js Framework React.js Frontend/UI Part Node.js Run time Environment for Server JavaScript Frontend & Backend Git Version Control and Repository Linux (RedHat7) Operating System VS Code Code Editor Databases Store user data Table 2: Technologies Used 11 1. Express.js Express.js is a Node.js framework that is used for designing and building web applications quickly and easily. In our project, we are using express for developing middleware and for structuring the web application in such a way that it can handle multiple HTTP requests. Express is a minimal and flexible Node.js web application framework that provides a robust set of features to develop web and mobile applications. It facilitates the rapid development of Nodebased Web applications. Following are some of the core features of the Express framework − Allows to set up middle-wares to respond to HTTP Requests. Defines a routing table that is used to perform different actions based on HTTP Method and URL. Allows to dynamically render HTML Pages based on passing arguments to templates. A lot of information related to HTTP requests and responses including cookies, sessions, URLs, etc. Figure 4 Express.js 12 2. JavaScript Figure 5 Javascript JavaScript is a lightweight, interpreted programming language. It is designed for creating network-centric applications. It is complementary to and integrated with Java. JavaScript is very easy to implement because it is integrated with HTML. It is open and cross-platform. In our project, we have been using JavaScript for all the basic programming. We are using it on both the client and server sides. We are using ES6 which allows us to handle a lot of things like writing functions, array, and a lot of other things quite easily. JavaScript is one of the most widely used programming languages (Front-end as well as Backend). It has its presence in almost every area of software development. I'm going to list a few of them here: Client-side validation - This is important to verify any user input before submitting it to the server and JavaScript plays an important role in validating those inputs at the frontend itself. Manipulating HTML Pages - JavaScript helps in manipulating HTML pages on the fly. This helps in adding and deleting any HTML tag very easily using JavaScript and modifying your HTML to change its look and feel based on different devices and requirements. User Notifications - You can use JavaScript to raise dynamic pop-ups on the webpages to give different types of notifications to your website visitors. 13 Back-end Data Loading - JavaScript provides Ajax library which helps in loading backend data while you are doing some other processing. This gives an amazing experience to your website visitors. Presentations - JavaScript also provides the facility of creating presentations that give the website a look and feel. Server Applications - Node JS is built on Chrome's JavaScript runtime for building fast and scalable network applications. This is an event-based library that helps in developing very sophisticated server applications including Web Servers. Advantages of JavaScript The merits of using JavaScript are − Less server interaction − You can validate user input before sending the page off to the server. This saves server traffic, which means less load on your server. Immediate feedback to the visitors − They don't have to wait for a page reload to see if they have forgotten to enter something. Increased interactivity − You can create interfaces that react when the user hovers over them with a mouse or activates them via the keyboard. Richer interfaces − You can use JavaScript to include such items as drag-and-drop components and sliders to give a Rich Interface to your site visitors. 14 3. React.js Figure 6 React.js React.js is a very important part of our project. It is being used to develop the user interface for our website. A good UI is responsible to connect your visitors to your website with aesthetically pleasing design elements. UI design also gives people clear directions on how to navigate your website and search through each page of information while displaying relevant calls to action so that decisions are simple. ReactJS is a JavaScript library used for building reusable UI components. According to React official documentation, the following is the definition − React is a library for building composable user interfaces. It encourages the creation of reusable UI components, which present data that changes over time. Lots of people use React as the V in MVC. React abstracts away the DOM from you, offering a simpler programming model and better performance. React can also render on the server using Node, and it can power native apps using React Native. React implements one-way reactive data flow, which reduces the boilerplate and is easier to reason about than traditional data binding. React Features JSX − JSX is JavaScript syntax extension. It isn't necessary to use JSX in React development, but it is recommended. Components − React is all about components. You need to think of everything as a component. This will help you maintain the code when working on larger-scale projects. Unidirectional data flow and Flux − React implements one-way data flow which makes it easy to reason about your app. Flux is a pattern that helps keep your data unidirectional. 15 React Advantages Uses virtual DOM which is a JavaScript object. This will improve apps performance since JavaScript virtual DOM is faster than the regular DOM. Can be used on the client and server-side as well as with other frameworks. Component and data patterns improve readability, which helps to maintain larger apps. React Components When creating React applications, you use JSX to define the HTML content of your webpage directly in JavaScript. However, writing all the HTML out as one giant JSX expression doesn’t provide many advantages over .html files in the first place. Instead, the React library encourages and enables you to describe your web page in terms of components, instead of just HTML elements. In this context, a component is a “piece” of a web page. For example, in a social media application, each “status post” on a timeline might be a different component, the “like” button may be its component, the “what are you thinking about?” form would be a component, the page navigation would be a component, and so forth. Thus, you can almost think of a component as a semantic abstraction of an <danv> element—a “chunk” of the page. But like with <div>s, a component can be seen as made of other components—you might have a “Timeline” component that is made up of many “StatusPost” components, and each StatusPost component may include a “ReactionButton” component. Thinking about a page in terms of components instead of HTML elements can make it much easier to design and reason about your page—you don’t need to worry about the code syntax or the specific element to use, you can just think of your page in terms of its overall layout and content—what needs to be on the page, and how that content is organized—the same way you might mock up a web page in a graphic design program. React enables you to implement your page in terms of explicit components by providing a way for you to define your XML elements. Thus, you can define an <Tanmeline> element, which has multiple <StatusPost> elements as children. Components will be able to be included directly in your JSX, made up of and mixed in with standard HTML elements. 16 4. Node.js Node.js is another important technology that is being used in our project. We are using it for creating our backend side code so that our client can request from the server and this server can respond to the client. Figure 7 Node.js Node.js is an open-source, cross-platform runtime environment for developing server-side and networking applications. Node.js applications are written in JavaScript and can be run within the Node.js runtime on OS X, Microsoft Windows, and Linux. Node.js also provides a rich library of various JavaScript modules which simplifies the development of web applications using Node.js to a great extent. Node.js = Runtime Environment + JavaScript Library Features of Node.js Asynchronous and Event Driven − All APIs of Node.js library are asynchronous, that is, nonblocking. It essentially means a Node .js-based server never waits for an API to return data. The server moves to the next API after calling it and a notification mechanism of Events of Node.js helps the server to get a response from the previous API call. Very Fast − Being built on Google Chrome's V8 JavaScript Engine, the Node.js library is very fast in code execution. Single Threaded but Highly Scalable − Node.js uses a single-threaded model with event looping. The event mechanism helps the server to respond in a non-blocking way and makes the server highly scalable as opposed to traditional servers which create limited threads to handle requests. Node.js uses a single-threaded program and the same program can provide service to a much larger number of requests than traditional servers like Apache HTTP Server. No Buffering − Node.js applications never buffer any data. These applications simply output the data in chunks. 17 Where to Use Node.js? I/O bound Applications Data Streaming Applications Data Intensive Real-time Applications (DIRT) JSON APIs based Applications Single Page Applications 18 5. Visual Studio Code We are using VS Code for writing code for our website. VS Code helps us manage our code in a structured way, also it provides a lot of extensions so that our code becomes cleaner and easier to maintain. Figure 8 VS Code Visual Studio is an Integrated Development Environment (IDE) developed by Microsoft to develop GUI (Graphical User Interface), console, Web applications, web apps, mobile apps, cloud, web services, etc. With the help of this IDE, you can create managed code as well as native code. It uses the various platforms of Microsoft software development software like Windows store, Microsoft Silverlight, Windows API, etc. It is not a language-specific IDE as you can use this to write code in C#, C++, VB (Visual Basic), Python, JavaScript, and many more languages. It provides support for 36 different programming languages. It is available for Windows as well as for macOS. Evolution of Visual Studio: The first version of VS (Visual Studio) was released in 1997, named Visual Studio 97 having version number 5.0. The latest version of Visual Studio is 15.0 which was released on March 7, 2017. It is also termed Visual Studio 2017. The supported .Net Framework Versions in the latest Visual Studio are 3.5 to 4.7. Java was supported in old versions of Visual Studio, but the latest version doesn’t provide any support for Java language. There are 3 editions of Microsoft Visual Studio as follows: Community: It is a free version which is announced in 2014. All other editions are paid. This contains the features like Professional edition. Using this edition, any individual developer can develop their own free or paid apps like .Net applications, Web applications, and many more. Its main purpose is to provide the Ecosystem (Access to thousands of extensions) and Languages (You can code in C#, VB, F#, C++, HTML, JavaScript, Python, etc.) support. 19 Professional: It is the commercial edition of Visual Studio. It comes in Visual Studio 2010 and later versions. It provides the support for XML and XSLT editing and includes tools like Server Explorer and integration with Microsoft SQL Server. Microsoft provides a free trial of this edition and after the trial period, users must pay to continue using it. Enterprise: It is an integrated, end-to-end solution for teams of any size with demanding quality and scale needs. Microsoft provides a 90-days free trial of this edition and after the trial period, users must pay to continue using it. 20 6. Git Git is software for tracking changes in any set of files, usually used for coordinating work among programmers collaboratively developing source code during software development. Its goals include speed, data integrity, and support for distributed, non-linear workflows (thousands of parallel branches running on different systems). Figure 9 GIT Advantages of Git: Free and open source: Git is released under GPL’s open-source license. It is available freely over the internet. You can use Git to manage property projects without paying a single penny. As it is open-source, you can download its source code and also perform changes according to your requirements. Implicit backup: The chances of losing data are very rare when there are multiple copies of it. Data present on any client-side mirrors the repository, hence it can be used in the event of a crash or disk corruption. Security: Git uses a common cryptographic hash function called secure hash function (SHA1), to name and identify objects within its database. Every file and commit is checksummed and retrieved by its checksum at the time of checkout. It implies that it is impossible to change files, dates, commit messages, and any other data from the Git database without knowing Git. Easier branching: CVCS uses a cheap copy mechanism. If we create a new branch, it will copy all the codes to the new branch, so it is time-consuming and not efficient. Also, deletion and merging of branches in CVCS are complicated and time-consuming. But branch management with Git is very simple. It takes only a few seconds to create, delete, and merge branches. 21 Figure 10 GIT Operations Commits Commit holds the current state of the repository. A commit is also named by the SHA1 hash. You can consider a commit object as a node of the linked list. Every commit object has a pointer to the parent commit object. From a given commit, you can traverse back by looking at the parent pointer to view the history of the commit. If a commit has multiple parent commits, then that commit has been created by merging two branches. Branches Branches are used to create another line of development. By default, Git has a master branch, which is the same as the trunk in Subversion. Usually, a branch is created to work on a new feature. Once the feature is completed, it is merged back with the master branch, and we delete the branch. Every branch is referenced by HEAD, which points to the latest commit in the branch. Whenever you make a commit, HEAD is updated with the latest commit. Tags Tag assigns a meaningful name with a specific version in the repository. Tags are very similar to branches, but the difference is that tags are immutable. It means, the tag is a branch, which nobody intends to modify. Once a tag is created for a particular commit, even if you create a new commit, it will not be updated. Usually, developers create tags for product releases. Clone 22 Clone operation creates the instance of the repository. Clone operation not only checks out the working copy but also mirrors the complete repository. Users can perform many operations with this local repository. The only time networking gets involved is when the repository instances are being synchronized. Pull Pull operation copies the changes from a remote repository instance to a local one. The pull operation is used for synchronization between two repository instances. This is the same as the update operation in Subversion. Push Push operation copies change from a local repository instance to a remote one. This is used to store the changes permanently in the Git repository. This is the same as the commit operation in Subversion. 23 7. Databases Storing data is one of the most essential parts of any project. How we store our data, and how much time our database takes to send back the data are important. In General, there are two types of databases used for storing different types of data. These are: a. SQL b. NoSQL SQL NoSQL RELATIONAL DATABASE MANAGEMENT Non-relational or distributed database SYSTEM (RDBMS) system. These databases have fixed or static or predefined schema They have a dynamic schema These databases are not suited for hierarchical data These databases are best suited for storage. hierarchical data storage. These databases are best suited for complex queries Vertically Scalable These databases are not so good for complex queries Horizontally scalable Follows CAP (consistency, availability, Follows ACID property partition tolerance) Table 3: SQL vs NoSQL 24 8. Linux (RedHat7) Figure 11 Linux Features of Linux a. Free and Open Source Linux or GNU/Linux (if you like) is free and open-source; you can see the source code used to create Linux (kernel). You can check the code to locate bugs, explore security vulnerabilities, or simply study what that code is doing on your machine(s). Additionally, you may easily develop and install your programs into a Linux operating system because of the numerous available programming interfaces you need. With all the above features, you can tailor a Linux operating system at its most basic levels, to suit your server needs, unlike Windows. b. Stability and Reliability Linux is Unix-based, and Unix was originally designed to provide an environment that’s powerful, stable, and reliable yet easy to use. Linux systems are widely known for their stability and reliability, many Linux servers on the Internet have been running for years without failure or even being restarted. c. Security 25 Linux is, without doubt, the most secure kernel out there, making Linux-based operating systems secure and suitable for servers. To be useful, a server needs to be able to accept requests for services from remote clients, and a server is always vulnerable by permitting some access to its ports. d. Flexibility Linux is so powerful and flexible. You can tune it to meet your server needs: it allows you to do whatever you want (if possible). You can install a GUI (graphical user interface) or simply operate you operate your server via a terminal only. e. Hardware Support Linux has rock-solid support for a mix of computer architectures, on both modern and moderately old hardware. This is one of the most significant factors that make Linux better than Windows for servers, that is if you have a small budget for hardware acquisition. Basic Linux Commands • ls – List directory contents. • cd /var/log – Change the current directory. • grep – Find text in a file. • su / sudo command – Some commands need elevated rights to run on a Linux system. • pwd – Print Working Directory. • mv – Move a file. • cp – Copy a file. 26 Findings A Full-stack developer is a web developer or engineer who works with both the front and back ends of a website or application. In this sense, they provide end-to-end service and can be involved in projects that involve databases and building user-facing websites. The primary responsibility of a Full Stack Developer includes designing user interactions on websites, developing servers and databases for website functionality, and coding for mobile platforms. Responsibilities include: ● Developing front-end website architecture. ● Designing user interactions on web pages. ● Developing back-end website applications. ● Creating servers and databases for functionality. ● Ensuring cross-platform optimization for mobile phones. ● Ensuring responsiveness of applications. ● Working alongside graphic designers for web design features. ● Seeing through a project from conception to finished product. ● Designing and developing APIs. ●Meeting both technical and consumer needs. ● Staying abreast of developments in web applications and programming languages. ServiceNow is an American software company based in Santa Clara, California that develops a cloud computing platform to help companies manage digital workflows for enterprise operations. ServiceNow is a platform-as-a-service provider, providing technical management support, such as IT service management, to the IT operations of large corporations, including providing help desk functionality. Service Now is an ITSM tool. Information technology service management (ITSM) is the activities that are performed by an organization to design, build, deliver, operate and control information technology (IT) services offered to customers. Differing from more technology-oriented IT management approaches like network management and IT systems management, IT service management is characterized by adopting a process approach towards 27 management, focusing on customer needs and IT services for customers rather than IT systems, and stressing continual improvement. Aruba UXI agent for Zebra complements UXI hardware sensors by providing in-depth analysis of roaming and voice call quality besides providing a comprehensive network and application performance statistics. Aruba UXI agent for Zebra is the endpoint software agent deployed on Zebra Android-based devices, the agent can be installed from Google Play or using MDM and can be activated with a license key from Aruba. The Aruba UXI agent for Zebra works in tandem with the Zebra Wireless Insights API to provide in-depth data on roaming performance and voice analysis, these insights are displayed on AIOps powered UXI dashboard. The UXI agent continuously tests network and application performance even when Zebra devices are not being actively used. It carries out this task by performing low-impact synthetic application testing and passive roaming and voice analysis. The UXI agent for Zebra supports Zebra devices running on appropriate OS versions/lifeguard updates. Aruba UXI dashboard is a cloud-based interface that presents network performance data captured by UXI Sensors in an easy-to-understand format. Based on a traffic light theme, the dashboard helps the customers to diagnose network issues in just a single glance. 28 Contribution During the past 2 months of the internship, I have learned many new backend technologies and tried to understand the code flow and code review process of the project that I am working on. There were some minor bugs in the code causing logically dead code and I fixed them using python. I learned to write a shell script and how to run that script in the development environment. I have understood the code flow and wrote some APIs for the same. I have written some conditions in the existing code to implement the changes that were required. I wrote code in Python using regex and a modular approach for network automation to separate certain configurations from a config file. I wrote code to convert configuration lines into JSON objects so that they can directly be used by access points. I worked with my team to host a virtual fun event in the company celebrating the birthdays of other employees and having a good time during which we created a best of 2021 meme video. 29 Learnings After the completion of this internship, I expect to learn the Ins and Outs of Full-stack Development, Software Development and believe to be able to build Industry build applications that are robust and optimized. But more than that what I expect is to learn is teamwork, discipline, and many more things that are part of HPE’s work culture. Till now this internship has been an excellent and rewarding experience for me and I hope I could continue this way. I can conclude that there has been a lot I've been learning from my work at HPE. The technical aspects of the work I've done are not flawless and could be improved provided enough time. Following are the learning outcomes: Structure and implement HTML/CSS. Apply intermediate and advanced web development practices. Implement basic JavaScript. Create visualizations by UI/UX theories. Develop a fully functioning website and deploy it on a web server. Find and use code packages based on their documentation to produce working results in a project. Create web pages that function using external data. Architect solutions to programming problems by combining visual components and classes. Develop JavaScript applications that transition between states. Identify mobile strategies and design for multiple operating systems. Distinguishing trends in multi-device implementation. Create visualizations by UI/UX theories. Derive information from data and implement data into applications. Authenticate, store, and structure user data. 30 Develop fully working applications that can be used on cross-platforms. Disambiguate the different structures that a NoSQL database may represent. Implement a RESTful backend API for storing and retrieving data via AJAX calls. Use web sockets to allow multiple synchronous access to a shared dataset. Secure a database from nefarious incursions. Resolving tickets in ServiceNow. Using Glide API’s in ServiceNow. Using Linux CLI. GIT Bash Launching websites using Heroku. Creating and maintaining IAM User and Groups in AWS Dealing with Security Groups in AWS. Managing EC2 instances in AWS. Using the Oauth2.0 secure login method. Code Sandbox, Postman, Visual Studio, Atom, and various platforms knowledge. Billing Management system AWS 31