<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>programming Archives - Isoftke Software Solutions</title>
	<atom:link href="https://isoftke.co.ke/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>https://isoftke.co.ke/category/programming/</link>
	<description>Software Company In Kenya</description>
	<lastBuildDate>Thu, 27 Jun 2024 21:36:52 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://isoftke.co.ke/wp-content/uploads/2024/06/cropped-logo-32x32.jpeg</url>
	<title>programming Archives - Isoftke Software Solutions</title>
	<link>https://isoftke.co.ke/category/programming/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>How to Overcome the 7 Most Common Mistakes of Junior Software Developers</title>
		<link>https://isoftke.co.ke/how-to-overcome-the-8-most-common-mistakes-of-junior-software-developers/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 17 Oct 2023 09:08:16 +0000</pubDate>
				<category><![CDATA[programming]]></category>
		<guid isPermaLink="false">http://isoftke.co.ke/demo/?p=8238</guid>

					<description><![CDATA[<p>How to Overcome the 7 Most Common Mistakes of Junior Software Developers As a junior software developer, it&#8217;s normal to make mistakes in the process of learning and growing in your career. However, recognizing and correcting these mistakes early on can make a significant impact on your professional growth and success. How to Overcome the [&#8230;]</p>
<p>The post <a href="https://isoftke.co.ke/how-to-overcome-the-8-most-common-mistakes-of-junior-software-developers/">How to Overcome the 7 Most Common Mistakes of Junior Software Developers</a> appeared first on <a href="https://isoftke.co.ke">Isoftke Software Solutions</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>How to Overcome the 7 Most Common Mistakes of Junior Software Developers</strong></p>
<p><span style="color: #000000;">As a junior software developer, it&#8217;s normal to make mistakes in the process of learning and <a href="http://isoftke.co.ke/demo/how-to-motivate-yourself-as-a-developer/">growing</a> in your career. However, recognizing and correcting these mistakes early on can make a significant impact on your professional growth and success.</span></p>
<h2><strong>How to Overcome the 7 Most Common Mistakes of Junior Software Developers</strong></h2>
<p><span style="color: #000000;"> In this article, we&#8217;ll discuss 7 most common mistakes made by junior software developers and offer real-world examples and tips for avoiding them. Whether you&#8217;re just starting out in your career or have been working for a few years, this guide will help you avoid common pitfalls and become a more <a href="http://isoftke.co.ke/demo/10-tips-to-get-a-head-start-in-software-engineering/">effective software developer.</a></span></p>
<h3><span style="color: #000000;">1. Not asking for help</span></h3>
<p><span style="color: #000000;">One of the biggest mistakes that junior software developers make is not asking for help. They may feel intimidated or embarrassed to ask for help from more experienced developers, but this can lead to mistakes and slow down their progress.</span></p>
<p><span style="color: #000000;">For example, a junior developer may struggle with a complex problem for hours, when a more experienced developer could solve it in minutes. Asking for help not only saves time, but it also provides an opportunity to learn from someone who has more experience and knowledge.</span></p>
<p><span style="color: #000000;">To avoid this mistake, it is important to cultivate a culture of collaboration and open communication in your team. This will make it easier for junior developers to ask for help without feeling embarrassed</span></p>
<h3><span style="color: #000000;">2. Not Understanding the Business Requirements</span></h3>
<p><span style="color: #000000;">One of the biggest mistakes that junior software developers make is not fully understanding the business requirements of the project they&#8217;re working on. This can lead to building a solution that doesn&#8217;t meet the needs of the business, resulting in wasted time and resources.</span></p>
<p><span style="color: #000000;">For example, a junior software developer was tasked with building a new feature for a website that sells clothing. They were so focused on the technical aspects of the project that they didn&#8217;t take the time to understand the business requirements. As a result, they built a feature that made it difficult for customers to purchase items, which led to a significant decrease in sales for the company.</span></p>
<p><span style="color: #000000;">To avoid this mistake, junior software developers should take the time to fully understand the business requirements of each project. This includes talking to stakeholders, reviewing project documentation, and asking questions.</span></p>
<h3><span style="color: #000000;">3. Not Documenting Code</span></h3>
<p><span style="color: #000000;">Another common mistake that junior software developers make is not properly documenting their code. This can lead to confusion for other team members and make it difficult for them to understand and maintain the code.</span></p>
<p><span style="color: #000000;">For example, a junior software developer was working on a project with a tight deadline. They didn&#8217;t take the time to properly document their code, and as a result, other team members had a difficult time understanding how the code worked. This resulted in missed deadlines and frustrated team members.</span></p>
<p><span style="color: #000000;">To avoid this mistake, junior software developers should always take the time to properly document their code. This includes adding comments, using descriptive variable names, and following a consistent code style.</span></p>
<h3><span style="color: #000000;">4. Not Testing Code Thoroughly</span></h3>
<p><span style="color: #000000;">Testing code thoroughly is an important part of the software development process, but it&#8217;s a step that many junior software developers overlook. This can result in bugs and other issues that can negatively impact the user experience.</span></p>
<p><span style="color: #000000;">For example, a junior software developer was working on a project to build a new feature for a mobile app. They didn&#8217;t thoroughly test the code, and as a result, the feature was buggy and caused the app to crash frequently. This led to negative reviews and decreased usage of the app.</span></p>
<p><span style="color: #000000;">To avoid this mistake, junior software developers should always thoroughly test their code before releasing it. This includes testing on multiple devices and platforms and using automated testing tools.</span></p>
<h3><span style="color: #000000;">5. Not Staying Up-to-Date with Technology</span></h3>
<p><span style="color: #000000;">Technology is constantly evolving, and it&#8217;s important for junior software developers to stay up-to-date with the latest developments in their field. Not doing so can result in outdated skills and difficulty adapting to new technologies.</span></p>
<p><span style="color: #000000;">For example, a junior software developer was experienced in building web applications using a certain framework. However, they didn&#8217;t stay up-to-date with the latest developments in the field and were unable to transition to new technologies. As a result, they were passed over for new projects and eventually left behind by their peers.</span></p>
<p><span style="color: #000000;">To avoid this mistake, junior software developers should make a conscious effort to stay up-to-date with the latest technologies. This includes attending industry conferences, participating in online courses and forums, and reading technical blogs and articles.</span></p>
<h3><span style="color: #000000;">6. Not following coding standards</span></h3>
<p><span style="color: #000000;"><a href="https://cleancoders.com/episode/clean-code-episode-5">Coding standards</a> are a set of guidelines that help ensure that code is written consistently and is easy to maintain. Junior developers may overlook the importance of coding standards and write code that is difficult to read and maintain.</span></p>
<p><span style="color: #000000;">For example, a junior developer may use inconsistent naming conventions, making it difficult for others to understand their code. This can lead to frustration and delays as other developers struggle to make sense of the code.</span></p>
<p><span style="color: #000000;">To avoid this mistake, it is important to follow established coding standards and write code that is easy to read and maintain. This will help ensure that your code is consistent with the rest of the project and is easy for others to understand.</span></p>
<h3><span style="color: #000000;">7. Not using version control</span></h3>
<p><span style="color: #000000;"><a href="https://github.com/">Version contro</a>l is a crucial tool for software development, but it is often overlooked by junior developers. They may think that version control is only necessary for large projects, but this is not the case.</span></p>
<p><span style="color: #000000;">For example, a junior developer may work on a small project without using version control, only to realize later that they need to revert to a previous version. Without version control, this can be a challenging and time-consuming process.</span></p>
<p><span style="color: #000000;">To avoid this mistake, it is important to <a href="http://isoftke.co.ke/demo/setting-up-git-and-github/">use version contro</a>l for all software development projects, regardless of their size. This will help you keep track of changes to your code and make it easier to revert to previous versions if necessary.</span></p>
<h3><span style="color: #000000;">Conclusion</span></h3>
<p><span style="color: #000000;">In conclusion, being a Junior Software Developer comes with its own set of challenges and mistakes. However, by being aware of these common mistakes and taking steps to avoid them, you can quickly overcome them and improve your skills and performance. It&#8217;s important to remember that making mistakes is a natural part of the learning process, so don&#8217;t be discouraged if you do make one. Instead, use it as an opportunity to learn and grow as a software developer.</span></p>
<p><span style="color: #000000;">Another way to overcome these mistakes is by seeking guidance and <a href="http://isoftke.co.ke/demo/the-value-of-having-a-mentor/">mentorship</a> from experienced developers. They can provide valuable insight and advice on how to avoid common pitfalls and become a better software developer. Furthermore, continuing to educate yourself and stay up-to-date with the latest technologies and best practices can also help you overcome these mistakes and achieve success in your career.</span></p>
<p><span style="color: #000000;">In conclusion, with a bit of effort, persistence, and a willingness to learn, you can overcome these common mistakes and achieve success as a Junior Software Developer</span></p>
<p>The post <a href="https://isoftke.co.ke/how-to-overcome-the-8-most-common-mistakes-of-junior-software-developers/">How to Overcome the 7 Most Common Mistakes of Junior Software Developers</a> appeared first on <a href="https://isoftke.co.ke">Isoftke Software Solutions</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>6 JavaScript frameworks you should try learning in 2023</title>
		<link>https://isoftke.co.ke/6-javascript-frameworks-you-should-try-learning-in-2023/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Wed, 18 Jan 2023 16:03:34 +0000</pubDate>
				<category><![CDATA[programming]]></category>
		<guid isPermaLink="false">http://isoftke.co.ke/demo/?p=8107</guid>

					<description><![CDATA[<p>6 JavaScript frameworks you should try learning in 2023 In this blog today we are featuring the top JavaScript frameworks you should try learning in 2023 to speed up your development process. What is JavaScript? JavaScript is a programming language that it&#8217;s primary use is to create interactive and dynamic websites. It is a client-side [&#8230;]</p>
<p>The post <a href="https://isoftke.co.ke/6-javascript-frameworks-you-should-try-learning-in-2023/">6 JavaScript frameworks you should try learning in 2023</a> appeared first on <a href="https://isoftke.co.ke">Isoftke Software Solutions</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;"><b>6 JavaScript frameworks you should try learning in 2023</b></span></span></span></p>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">In this blog today we are featuring the top JavaScript frameworks you should try learning in 2023 to speed up your development <a href="http://isoftke.co.ke/demo/how-to-get-ahead-in-the-software-development-industry/">process.</a></span></span></span></p>
<h2><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: x-large;"><b>What is JavaScript?</b></span></span></span></h2>
<p><span><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;"><span style="color: #000000;"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript">JavaScript</a> is a programming language that it&#8217;s primary use is to create interactive and dynamic <a href="http://isoftke.co.ke/demo/getting-started-on-web-programming-by-building-a-landing-page/">websites</a>. It is a client-side language, which means that the code execution is done by the web browser on the user&#8217;s device, rather than on the server. Some of the main uses of JavaScript include:</span></span></span></span></p>
<ol>
<li><span><span style="color: #000000; font-family: Liberation Serif, serif; font-size: medium;">Creating interactive forms. One of the use of JavaScript is to validate user input, display error messages, and perform other tasks relating to forms.</span></span></li>
<li><span><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;"><span style="color: #000000;">Creating dynamic content.Another use is to update the content of a website without the need for a page refresh.</span></span></span></span></li>
<li><span><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;"><span style="color: #000000;">Creating animations and effects. Another use is  to create animations and effects, such as scrolling effects, hover effects, and more.</span></span></span></span></li>
<li><span><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;"><span style="color: #000000;">Creating responsive design. Another use is  to create responsive design, which adapts to different screen sizes and devices.</span></span></span></span></li>
<li><span><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;"><span style="color: #000000;">Creating interactive maps and charts. Another use is  to create interactive maps and charts, which displays data in a more engaging and meaningful way.</span></span></span></span></li>
</ol>
<p><span><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;"><span style="color: #000000;">JavaScript is a versatile language and it&#8217;s used in various areas like creating a web-app, mobile app, IoT, AI, ML, etc. It&#8217;s also used in creating cross-platform desktop applications, and games.</span></span></span></span></p>
<h2><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;"><span style="color: #000000; font-family: Liberation Serif, serif; font-size: large;">JavaScript</span><b style="color: #000000; font-family: 'Liberation Serif', serif; font-size: large;"> Frameworks</b></span></span></span></h2>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">JavaScript frameworks are pre-written JavaScript libraries that provide a structure for developing web applications. They are designed to make the development process faster and more efficient by providing a set of reusable components and functionalities. Some of the main uses of JavaScript frameworks include:</span></span></span></p>
<ol>
<li><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">Structure and organization. Frameworks provide a clear structure for organizing your code, which makes it easier to maintain and scale your applications.</span></span></span></li>
<li><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">Reusable components. Frameworks provide a set of reusable components, such as buttons, forms, and navigation menus, which can be easily integrated into your application.</span></span></span></li>
<li><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">Cross-browser compatibility. Frameworks often include features that help ensure cross-browser compatibility, which means that your application will work seamlessly across different web browsers.</span></span></span></li>
<li><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">Performance optimization. Frameworks often include features that help optimize the performance of your application, such as code minification and caching.</span></span></span></li>
<li><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">Testing and debugging. Frameworks often include tools for testing and debugging your application, which makes it easier to identify and fix issues.</span></span></span></li>
<li><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">Community support. Popular frameworks have a large community and active contributors that are constantly working on improving the framework and providing support.</span></span></span></li>
</ol>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">Using a framework can also help you to follow best practices and conventions, which can make it easier for other developers to understand and work with your code.</span></span></span></p>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;"><span style="font-size: large;"><b>Note</b></span>: Before leaning any framework I recommend you go through <a href="http://isoftke.co.ke/demo/learn-these-before-learning-react/">this</a> article to build up your foundation</span></span></span></p>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: x-large;"><b>6 JavaScript frameworks you should try learning in 2023</b></span></span></span></p>
<h3><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;"><b>1. React.</b></span></span></span></h3>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;"><span><a href="https://reactjs.org/">React.js</a> (also known as React or ReactJS) is a JavaScript library for building user interfaces. It was developed and is maintained by Facebook and is widely used for building complex, large-scale web applications.</span></span></span></span></p>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">One of the main features of React is its ability to manage the state and render components efficiently. React uses a virtual DOM (Document Object Model) that optimizes the process of updating the view when the <a href="http://isoftke.co.ke/demo/a-practical-guide-on-using-react-use-state/">state changes.</a> This allows for faster updates and better performance in comparison to other libraries and frameworks.</span></span></span></p>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">React also uses a component-based architecture, which means that the user interface is divided into small, reusable components. This makes it easier to manage and organize the code, and allows for better reusability and maintainability.</span></span></span></p>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">React also offers a rich set of developer tools, such as the React Developer Tools browser extension, which makes it easier to inspect and debug your application.</span></span></span></p>
<h3><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;"><b>2. Angular.</b></span></span></span></h3>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;"><span><a href="https://angular.io/">Angular</a> is a JavaScript framework for building web applications. It is developed and maintained by Google and is commonly application is for building single-page applications (SPAs) that can run in web browsers. Angular provides a set of tools and features for building complex web applications, such as dependency injection, a powerful template system, and a rich set of directives for manipulating the DOM. It follows the Model-View-Controller (MVC) architectural pattern and uses TypeScript, a typed superset of JavaScript, as its primary programming language.</span></span></span></span></p>
<h3><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;"><b>3. Vue.js</b></span></span></span></h3>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;"><span><a href="https://vuejs.org/">Vue.js</a> is a JavaScript framework for building user interfaces. It is similar to Angular in that it can be used for building web applications, but it is generally a more lightweight and easy to learn than Angular. Vue.js uses a template syntax that allows developers to declaratively render data to the DOM. It also provides a set of directives for manipulating the DOM, a centralized store for managing the state of the application, and a set of lifecycle hooks for controlling the behavior of components at different stages of their existence. Vue.js is a popular choice for building progressive web applications and is often compared favorably to React, another popular JavaScript library for building user interfaces.</span></span></span></span></p>
<h3><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;"><b>4. Svelte</b></span></span></span></h3>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;"><a href="https://svelte.dev/">Svelte</a> is a JavaScript framework for building web applications. It differs from other frameworks and libraries like React and Angular in that it does not use a virtual DOM (Document Object Model). Instead, Svelte compiles components at build time, resulting in efficient and performant code. Svelte also has a small footprint and is easy to learn and use, making it a popular choice for building web apps.</span></span></span></p>
<h3><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;"><b>5. Ember.js</b></span></span></span></h3>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;"><a href="https://emberjs.com/">Ember.js</a> is a JavaScript framework for building web applications. It provides a set of features for building ambitious web applications such as a powerful router, a template system, and a set of conventions for structuring your application code. Ember uses the Model-View-Controller (MVC) pattern to structure your application, making it easy to manage complex state and interactions between different parts of your application. It also has a large and active community that contributes to the development of the framework and provides support for other developers.</span></span></span></p>
<h3><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;"><b>6. Next.js</b></span></span></span></h3>
<p><span style="color: #000000; font-family: Liberation Serif, serif; font-size: medium;"><a href="https://nextjs.org/">Next.js</a> is a JavaScript framework for building server-side React applications. It is built on top of React and provides a set of features for building efficient and scalable web applications, such as automatic code splitting, server-side rendering, and static site generation. Next.js allows developers to easily build performance and SEO-friendly React applications with a small learning curve. It is open-source and actively maintenance by the community</span></p>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;"><b>Conclusion</b></span></span></span></p>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">In conclusion, there are many JavaScript frameworks that are worth learning in 2023. Some of the most popular ones include Angular, React, Vue, Ember, Backbone, and Svelte. Each of these frameworks has its own strengths and weaknesses, and the best one for a particular project will depend on the specific <a href="http://isoftke.co.ke/demo/6-important-tools-i-use-everyday-as-a-developer/">requirements</a> and needs of that project. However, by learning one or more of these frameworks, developers can gain valuable skills and experience that will help them stay competitive in the constantly-evolving world of <a href="http://isoftke.co.ke/demo/path-to-being-a-full-stack-developer/">web developmen</a>t.</span></span></span></p>
<p>The post <a href="https://isoftke.co.ke/6-javascript-frameworks-you-should-try-learning-in-2023/">6 JavaScript frameworks you should try learning in 2023</a> appeared first on <a href="https://isoftke.co.ke">Isoftke Software Solutions</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to set up react-redux : A beginners guide</title>
		<link>https://isoftke.co.ke/how-to-set-up-react-redux-a-beginners-guide/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Fri, 13 Jan 2023 06:32:49 +0000</pubDate>
				<category><![CDATA[programming]]></category>
		<guid isPermaLink="false">http://isoftke.co.ke/demo/?p=8095</guid>

					<description><![CDATA[<p>How to set up react-redux : A beginners guide Introduction In this guide today, we will walk you through the process of setting up the popular library react-redux in a React application. We will cover all the basic concepts and configurations needed to get started with using react-redux to manage the state of your application. [&#8230;]</p>
<p>The post <a href="https://isoftke.co.ke/how-to-set-up-react-redux-a-beginners-guide/">How to set up react-redux : A beginners guide</a> appeared first on <a href="https://isoftke.co.ke">Isoftke Software Solutions</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;"><b><span>How to set up react-redux : A beginners guide</span></b></span></span></span></p>
<h2>Introduction</h2>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">In this guide today, we will walk you through the process of setting up the popular library<a href="https://react-redux.js.org/"> react-redux</a> in a React application. We will cover all the basic concepts and configurations needed to get started with using react-redux to manage the <a href="http://isoftke.co.ke/demo/a-practical-guide-on-using-react-use-state/">state</a> of your application. By the end of this guide, you will have a solid understanding of how to set up and use react-redux in your <a href="http://isoftke.co.ke/demo/how-to-deploy-your-react-app-to-git-hub-pages/">React projects</a>. Let&#8217;s get started!</span></span></span></p>
<h2 class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">Prerequisites</span></span></span></h2>
<ul>
<li><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">Basic knowledge of React: As react-redux is an extension for react, it&#8217;s important to have a basic understanding of React concepts such as components, state, and JSX.</span></span></span></li>
<li><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">Familiarity with <a href="https://redux.js.org/">Redux</a>. react-redux is a library that allows you to use the Redux library with React. So it&#8217;s important to have a basic understanding of the principles of Redux such as the store, actions, and reducers.</span></span></li>
<li><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">Node.js and npm (Node Package Manager). R</span>eact-redux is a npm package, so you&#8217;ll need Node.js and npm installed on your computer to use it.</span></li>
<li><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">A code editor. You&#8217;ll need a code editor to write your React and react-redux code.</span></span></li>
<li><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">Basic knowledge of functional programming. React-redux is based on functional programming. So it&#8217;s helpful to have a basic understanding of concepts like pure functions and immutability.</span></span></li>
</ul>
<h2 class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">What is react-redux</span></span></h2>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">React-redux is a library that connects React with the Redux library. It provides a way for React components to access the state managed by Redux, and to dispatch actions to modify that state.  </span></span></span></p>
<h3>Real world Application</h3>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;"><span style="font-size: medium;">A common use case for Redux in a React application is managing a<a href="https://www.bigcommerce.com/ecommerce-answers/whats-shopping-cart/"> shopping cart.</a> In this example, the state of the application would include the items currently in the cart, the total price of those items, and any discounts.</span></span></span></span></p>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">When a user adds an item to their cart. An action dispatches with the type &#8220;ADD_TO_CART&#8221; and the payload would contain the item the user adds. The Redux store would then handle this action by updating the state to include the new item and recalculating the total price.</span></span></p>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">When the user removes an item from their cart, another action dispatches with the type &#8220;REMOVE_FROM_CART&#8221; and the payload would contain the item that was removed. The store would then update the state by removing that item and recalculating the total price.</span></span></p>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">React components that display the contents of the cart and the total price would interacts with the store using the </span></span><span><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><code class="western">connect</code></span></span></span><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"> function from react-redux. This would allow them to access the current state of the cart and re-render when the state changes.</span></span></p>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">By keeping the state of the shopping cart in a centralized store and using actions to update that state,keeping the application logic separate from the presentation of the data, making it easier to understand, debug and test.</span></span></p>
<h2>How to set up react-redux: A beginners guide</h2>
<p><span style="color: #000000;">Here is a step by step guide on setting up a react-redux project</span></p>
<ol>
<li><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">First, you will need to have Node.js and npm (Node Package Manager) installed on your computer.</span></span></span></li>
<li><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">Next, create a new directory for your project and navigate into it in the command line.</span></span></li>
<li><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">Use npm to create a new React project by running the following command: </span></span><span><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><code class="western">npx<br />
create-react-app my-app</code></span></span></span></li>
<li><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">Once the project is created, navigate into the project directory: </span></span><span><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><code class="western">cd<br />
my-app</code></span></span></span></li>
<li><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">Now you will need to install the Redux and React-Redux libraries by running the following command: </span></span><span><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><code class="western">npm<br />
install --save redux react-redux</code></span></span></span></li>
<li><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">Create a new directory in the src folder called &#8216;redux&#8217; and inside the &#8216;redux&#8217; folder create the following three files:</span></span></li>
</ol>
<ul>
<li><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">actions.js</span></span></li>
<li><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">reducers.js</span></span></li>
<li><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">store.js</span></span></li>
</ul>
<h4>actions.js</h4>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">In actions.js, you can define your action creators. For example:</span></span></span></p>
<div class="hcb_wrap">
<pre class="prism undefined-numbers lang-js" data-lang="JavaScript"><code>export const increment = () =&gt; {
return {
type: 'INCREMENT'
}
}
export const decrement = () =&gt; {
return {
type: 'DECREMENT'
}
}</code></pre>
</div>
<ol></ol>
<h4>reducers.js</h4>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">In reducers.js, you can define your reducer. For example:</span></span></span></p>
<div class="hcb_wrap">
<pre class="prism undefined-numbers lang-js" data-lang="JavaScript"><code>const initialState = {
count: 0
}
const reducer = (state = initialState, action) =&gt; {
switch(action.type) {
case 'INCREMENT':
return {
count: state.count + 1
}
case 'DECREMENT':
return {
count: state.count - 1
}
default:
return state
}
}
export default reducer
</code></pre>
</div>
<h4>store.js</h4>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">In store.js, you will create a store using the createStore() method from the redux library and pass in the reducer as an argument.</span></span></span></p>
<div class="hcb_wrap">
<pre class="prism undefined-numbers lang-js" data-lang="JavaScript"><code>import { createStore } from 'redux'
import reducer from './reducers'
const store = createStore(reducer)
export default store

</code></pre>
</div>
<h4>src/index.js</h4>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">In your <span><code class="western">src/index.js</code></span> file, wrap your root component in a <span><code class="western">&lt;Provider&gt;</code></span> component and pass in the store:</span></span></span></p>
<div class="hcb_wrap">
<pre class="prism undefined-numbers lang-js" data-lang="JavaScript">import React from 'react';
//import react dom
import ReactDOM from 'react-dom';
//import css
import './index.css';
//import app
import App from './App';
//import provider
import { Provider } from 'react-redux';
//import store
import store from './redux/store';
import reportWebVitals from './reportWebVitals';
ReactDOM.render(
&lt;Provider store={store}&gt;
&lt;App /&gt;
&lt;/Provider&gt;,
document.getElementById('root')
);
reportWebVitals();

<code></code></pre>
</div>
<h4>Component</h4>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">In your component file, you can use the <span><code class="western">connect</code></span> function from <span><code class="western">react-redux</code></span> to connect your component to the store and access the state and dispatch function as props:</span></span></span></p>
<div class="hcb_wrap">
<pre class="prism undefined-numbers lang-js" data-lang="JavaScript"><code>import { connect } from 'react-redux';
function App({ count, dispatch }) {
return (
&lt;div&gt;
&lt;h1&gt;Count: {count}&lt;/h1&gt;
&lt;button onClick={() =&gt; dispatch({ type: 'INCREMENT' })}&gt;Increment&lt;/button&gt;
&lt;button onClick={() =&gt; dispatch({ type: 'DECREMENT' })}&gt;Decrement&lt;/button&gt;
&lt;/div&gt;
);
}
const mapStateToProps = (state) =&gt; ({
count: state.count
});
export default connect(mapStateToProps)(App);

</code></pre>
</div>
<p><span style="color: #000000;">After successfully writing the codes you can run the application on the browser by typing <code>npm start</code> on the root folder of your project and then type <code>localhost:3000</code> on the browser to view your app.</span></p>
<p><span style="color: #000000;">Try pressing the <strong>increment</strong> and <strong>decrement</strong> button and see the magic.</span></p>
<p><img fetchpriority="high" decoding="async" src="/wp-content/uploads/2023/01/Screenshot-from-2023-01-12-22-49-38-300x172.png" alt="react-redux setup" width="300" height="172" class="alignnone size-medium wp-image-8098" /></p>
<h3>Conclusion</h3>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: medium;">This is just a basic example and there&#8217;s a lot more to learn about React and Redux. This is a good starting point to understand the basics of how they work together. You are free to do more research.</span></span></span></p>
<p>The post <a href="https://isoftke.co.ke/how-to-set-up-react-redux-a-beginners-guide/">How to set up react-redux : A beginners guide</a> appeared first on <a href="https://isoftke.co.ke">Isoftke Software Solutions</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>A Practical Guide On Using React Use State</title>
		<link>https://isoftke.co.ke/a-practical-guide-on-using-react-use-state/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sat, 07 Jan 2023 14:55:08 +0000</pubDate>
				<category><![CDATA[programming]]></category>
		<guid isPermaLink="false">http://isoftke.co.ke/demo/?p=8048</guid>

					<description><![CDATA[<p>A Practical Guide On Using React Use State React hooks are a new feature  in React 16.8 that allows developers to use state and other React features This can make it easier to write and understand React components, and can also improve code reuse and organization. Introduction To start using React hooks, you will need [&#8230;]</p>
<p>The post <a href="https://isoftke.co.ke/a-practical-guide-on-using-react-use-state/">A Practical Guide On Using React Use State</a> appeared first on <a href="https://isoftke.co.ke">Isoftke Software Solutions</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">A Practical Guide On Using React Use State</span></span></strong></p>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><a href="https://reactjs.org/docs/hooks-intro.html">React hooks</a> are a new feature  in React 16.8 that allows developers to use state and othe<a href="https://reactjs.org/">r React features </a>This can make it easier to write and understand React components, and can also improve code reuse and organization.</span></span></p>
<h3 class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">Introduction</span></span></h3>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">To start using React hooks, you will need to have a basic understanding of React itself. This includes concepts such as components, state, and props. If you are new to React,I recommend you to go through the official tutorials and<a href="https://reactjs.org/"> documentation</a> to familiarize yourself with these <a href="http://isoftke.co.ke/demo/learn-these-before-learning-react/">concepts.</a></span></span></p>
<h2 class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">What is react state?</span></span></h2>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">In React, </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">state</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"> is an object that represents the parts of a component&#8217;s data that can change. It is a way to store and manage component data within a component.</span></span></p>
<p><code class="western"><a href="https://reactjs.org/docs/state-and-lifecycle.html"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">state</span></span></a></code> <span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">should be used for values that change within a component, such as a toggle value or a form input value. </span></span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">state</span></span></code> <span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">should not be used for props that are passed to a component from its parent, as no modification should be made within a component</span></span></span></p>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">The most commonly used hook is the </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">useState</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"> hook, which allows you to add state to a functional component. To use this hook, you need to import it from the </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">react</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"> package, and then call it inside your component. Here is an example of a functional component that uses the </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">useState</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"> hook to add a count to its state:</span></span></p>
<div class="hcb_wrap">
<pre class="prism undefined-numbers lang-js" data-lang="JavaScript"><code>import React {useState} from react; 
function Example() { 
// Declare a new state variable, which we'll call "count" 
const [count, setCount] = useState(0); 
return ( 
&lt;div&gt; 
&lt;p&gt;You clicked {count} times&lt;/p&gt; 
&lt;button onClick={() =&gt; setCount(count + 1)}&gt; Click me &lt;/button&gt; 
&lt;/div&gt;
);
}</code></pre>
</div>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">In this example, we call the </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">useState</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"> hook  inside the </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">Example</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"> component, and it returns an array with two elements: the current value of the state (in this case, </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">count</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">), and a function that can be used to update the state (in this case, </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">setCount</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">). The initial value of the state (in this case, 0) is passed as an argument to the </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">useState</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"> hook when it is called.</span></span></p>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">There are many other React hooks that you can use, each of which provides a specific functionality. For example, the </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">useEffect</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"> hook allows you to perform side effects (such as fetching data or subscribing to an event) in functional components, and the </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">useContext</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"> hook allows you to easily consume context in a functional component. You can learn more about these and other React hooks in the official documentation.</span></span></p>
<h2 class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">A Practical Guide On Using React Use State</span></span></h2>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">There are many situations where you might use </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">state</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"> in a React component. Here are a few practical examples</span></span></p>
<h3 class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">1. Storing user input: </span></span></h3>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">You can use </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">state</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"> to store and manage values that a user enters into a form. For example, you might have a component with a form that includes a text input and a submit button. The component could use </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">state</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"> to store the value of the text input and clear the input after the form is submitted.</span></span></p>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">Here is a simple example of how you might use </span></span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">state</span></span></code> <span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">to store and manage user input in a functional React component:</span></span></span></p>
<div class="hcb_wrap">
<pre class="prism undefined-numbers lang-js" data-lang="JavaScript"><code>import React, { useState } from 'react'; 
const MyForm = () =&gt; { 
const [inputValue, setInputValue] = useState(''); 
// handle change function 
const handleChange = (event) =&gt; { setInputValue(event.target.value); } 
//handle submit function 
const handleSubmit = (event) =&gt; { event.preventDefault(); 
console.log(`You typed: ${inputValue}` ); 
setInputValue(''); 
} 
return ( 
&lt;form onSubmit={handleSubmit}&gt; 
&lt;label&gt; Name: &lt;input type="text" value={inputValue} onChange={handleChange} /&gt; &lt;/label&gt; 
&lt;button type="submit"&gt;Submit&lt;/button&gt; 
&lt;/form&gt; 
);
}</code></pre>
</div>
<h3 class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">Explanation</span></span></h3>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">This functional component uses the </span></span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">useState</span></span></span></code> <span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">hook to add state to the component. The </span></span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">useState</span></span></span></code> <span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">hook returns an array with two elements: the current state value and a function to update the value. In this example, we destructure the array into two variables: </span></span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">inputValue</span></span></span></code> <span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">and </span></span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">setInputValue</span></span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">.</span></span></span></p>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">The </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">handleChange</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"> function updates the value of </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">inputValue</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"> when the user types in the input. The </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">handleSubmit</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"> function is called when the form is submitted and logs the current value of </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">inputValue</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"> to the console. It also clears the input by calling </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">setInputValue</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"> with an empty string.</span></span></p>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">The component&#8217;s return value displays a form with a text input and a submit button. The input&#8217;s </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">value</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"> is set to the current value of </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">inputValue</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">, and the </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">onChange</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"> prop is set to the </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">handleChange</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"> function, which updates the value of </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">inputValue</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"> when the user types in the input. The form&#8217;s </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">onSubmit</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"> prop is set to the </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">handleSubmit</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"> function, which is called when the form is submitted.</span></span></p>
<h3 class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">2. <span style="font-size: large;">Managing a list of items:</span></span></span></h3>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">You can use </span></span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">state</span></span></span></code> <span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">to store and manage a list of items. For example, you might have a component that displays a list of items and allows the user to add  items . The component could use </span></span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">state</span></span></span></code> <span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">to store the list of items and update the list when the user adds or removes an item.</span></span></span></p>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">Here is an example of how you might use the </span></span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">useState</span></span></span></code> <span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">hook to store and manage a list of items in a functional React component:</span></span></span></p>
<div class="hcb_wrap">
<pre class="prism undefined-numbers lang-js" data-lang="JavaScript"><code>import React, { useState } from 'react';
const MyComponent = () =&gt; { 
const [items, setItems] = useState([]); 
//function to handle item change
const addItem = (event) =&gt; { event.preventDefault(); setItems([...items, event.target.item.value]); 
event.target.item.value = '';
 } 
return ( 
&lt;div&gt; 
&lt;form onSubmit={addItem}&gt; 
&lt;label&gt; Add item: &lt;input name="item" /&gt; &lt;/label&gt; 
&lt;button type="submit"&gt;Add&lt;/button&gt; 
&lt;/form&gt; 
&lt;ul&gt; {items.map((item, index) =&gt; ( &lt;li key={index}&gt;{item}&lt;/li&gt; ))} &lt;/ul&gt;
 &lt;/div&gt; 
); 
}</code></pre>
</div>
<h3 class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">Explanation</span></span></h3>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">This component has a state value called </span></span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">items</span></span></span></code> <span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">that is used to store the list of items. The </span></span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">useState</span></span></span></code> <span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">hook is used to add state to the component, and the initial value of </span></span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">items</span></span></span></code> <span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">is an empty array.</span></span></span></p>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">The component has a form with an input and a submit button. When one submits the form, the </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">addItem</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"> function is called. This function adds the value of the input to the list of items by calling </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">setItems</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"> with a new array that includes the current items and the new item. It also clears the input by resetting the input&#8217;s value to an empty string.</span></span></p>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">The component also includes a list that displays the items in the</span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">items</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"> array. The list is generated using the </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">map</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"> function, which iterates over the </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">items</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"> array and creates a list item for each item in the array. The</span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">key</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">prop is used to give each list item a unique key, which is necessary for React to properly update the list when one adds or removes an item.</span></span></p>
<h3 class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">3. <span style="font-size: large;">Toggling an element: </span></span></span></h3>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">You can use </span></span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">state</span></span></span></code> <span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">to store a boolean value that represents the visibility of an element. For example, you might have a button that toggles the visibility of a menu. The component could use </span></span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">state</span></span></span></code> <span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">to store the value of the menu&#8217;s visibility and update the value on a button click.</span></span></span></p>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">Here is an example of how you might use the </span></span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">useState</span></span></span></code> <span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">hook to toggle the visibility of an element in a functional React component:</span></span></span></p>
<div class="hcb_wrap">
<pre class="prism undefined-numbers lang-js" data-lang="JavaScript"><code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">import React, { useState } from 'react';

</span></span></span><span style="color: var(--hcb-color--text,#1f1e1e); font-family: var(--hcb-font-family,'Menlo','Consolas','Hiragino Kaku Gothic ProN','Hiragino Sans','Meiryo',sans-serif); font-size: var(--hcb-font-size,14px);"> </span><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">const MyComponent = () =&gt; {
</span></span></span><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">const [isVisible, setIsVisible] = useState(false);</span></span></span><span style="color: var(--hcb-color--text,#1f1e1e); font-family: var(--hcb-font-family,'Menlo','Consolas','Hiragino Kaku Gothic ProN','Hiragino Sans','Meiryo',sans-serif); font-size: var(--hcb-font-size,14px);"> </span><span style="color: #000000;"> 
<span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">return (</span></span></span><span style="color: var(--hcb-color--text,#1f1e1e); font-family: var(--hcb-font-family,'Menlo','Consolas','Hiragino Kaku Gothic ProN','Hiragino Sans','Meiryo',sans-serif); font-size: var(--hcb-font-size,14px);"> 
</span><span style="color: #000000;"> <span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">&lt;div&gt;</span></span></span><span style="color: var(--hcb-color--text,#1f1e1e); font-family: var(--hcb-font-family,'Menlo','Consolas','Hiragino Kaku Gothic ProN','Hiragino Sans','Meiryo',sans-serif); font-size: var(--hcb-font-size,14px);"> </span><span style="color: #000000;"> 
<span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">&lt;button onClick={() =&gt; setIsVisible(!isVisible)}&gt;Toggle visibility&lt;/button&gt;</span></span></span><span style="color: var(--hcb-color--text,#1f1e1e); font-family: var(--hcb-font-family,'Menlo','Consolas','Hiragino Kaku Gothic ProN','Hiragino Sans','Meiryo',sans-serif); font-size: var(--hcb-font-size,14px);"> 
</span><span style="color: #000000;"> <span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">{isVisible &amp;&amp; (</span></span></span><span style="color: var(--hcb-color--text,#1f1e1e); font-family: var(--hcb-font-family,'Menlo','Consolas','Hiragino Kaku Gothic ProN','Hiragino Sans','Meiryo',sans-serif); font-size: var(--hcb-font-size,14px);"> </span><span style="color: #000000;"> <span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">&lt;p&gt;I'm visible!&lt;/p&gt;</span></span></span><span style="color: var(--hcb-color--text,#1f1e1e); font-family: var(--hcb-font-family,'Menlo','Consolas','Hiragino Kaku Gothic ProN','Hiragino Sans','Meiryo',sans-serif); font-size: var(--hcb-font-size,14px);"> </span><span style="color: #000000;"> <span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">)}</span></span></span><span style="color: var(--hcb-color--text,#1f1e1e); font-family: var(--hcb-font-family,'Menlo','Consolas','Hiragino Kaku Gothic ProN','Hiragino Sans','Meiryo',sans-serif); font-size: var(--hcb-font-size,14px);"> </span><span style="color: #000000;"> <span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">&lt;/div&gt;</span></span></span><span style="color: var(--hcb-color--text,#1f1e1e); font-family: var(--hcb-font-family,'Menlo','Consolas','Hiragino Kaku Gothic ProN','Hiragino Sans','Meiryo',sans-serif); font-size: var(--hcb-font-size,14px);"> 
</span><span style="color: #000000;"> <span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">);
</span></span></span><span style="color: var(--hcb-color--text,#1f1e1e); font-family: var(--hcb-font-family,'Menlo','Consolas','Hiragino Kaku Gothic ProN','Hiragino Sans','Meiryo',sans-serif); font-size: var(--hcb-font-size,14px);"> </span><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">}</span></span></span></code></pre>
</div>
<h3 class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">Explanation</span></span></h3>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">This component has a state value  </span></span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">isVisible</span></span></span></code> <span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">that stores the visibility of an element. The </span></span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">useState</span></span></span></code> <span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">hook function is to add state to the component, and the initial value of </span></span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">isVisible</span></span></span></code> <span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">is </span></span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">false</span></span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"><span style="font-size: large;">.</span></span></span></p>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">The component&#8217;s return value includes a button that, on a click, calls the </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">setIsVisible</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"> function with the opposite of the current value of </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">isVisible</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">. This causes </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">isVisible</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"> to toggle between </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">true</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"> and </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">false</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">when one clicks the button.</span></span></p>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">The component also includes an element that displays only if </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">isVisible</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"> is </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">true</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">. This is done using a conditional render: the element is wrapped in a pair of curly braces, and the expression </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">isVisible<br />
&amp;&amp;<br />
(element)</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"> function is  to conditionally render the element. If </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">isVisible</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"> is </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">true</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">, the element renders if </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">isVisible</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;"> is </span></span><code class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">false</span></span></code><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">, the element will not render</span></span></p>
<h3 class="western"><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">Conclusion</span></span></h3>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">In summary, React hooks are a powerful and convenient way to add state and other features to functional components</span></span></p>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">By using React hooks, you can write cleaner and more reusable code</span></span></p>
<p><span style="color: #000000;"><span style="font-family: Liberation Serif, serif;">Take advantage of the latest features in <a href="http://isoftke.co.ke/demo/how-to-deploy-your-react-app-to-git-hub-pages/">React</a>.</span></span></p>
<p>The post <a href="https://isoftke.co.ke/a-practical-guide-on-using-react-use-state/">A Practical Guide On Using React Use State</a> appeared first on <a href="https://isoftke.co.ke">Isoftke Software Solutions</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Getting Started on web programming by building a Landing Page</title>
		<link>https://isoftke.co.ke/getting-started-on-web-programming-by-building-a-landing-page/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 15 Dec 2022 18:03:22 +0000</pubDate>
				<category><![CDATA[programming]]></category>
		<guid isPermaLink="false">http://isoftke.co.ke/demo/?p=7969</guid>

					<description><![CDATA[<p>Getting Started on web programming by building a Landing Page Hey welcome back to our blog In this section here on the web development series, we highlighted some the benefits of learning web programming in 2023,Now lets start on on the practical part by building a simple landing page Prerequisites Browser e.g Chrome,Brave,Fire fox Text [&#8230;]</p>
<p>The post <a href="https://isoftke.co.ke/getting-started-on-web-programming-by-building-a-landing-page/">Getting Started on web programming by building a Landing Page</a> appeared first on <a href="https://isoftke.co.ke">Isoftke Software Solutions</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Getting Started on web programming by building a Landing Page</strong></p>
<p>Hey welcome back to our blog</p>
<p>In this section <a href="http://isoftke.co.ke/demo/the-benefits-of-learning-web-programming-in-2023/">here</a> on the web development series, we highlighted some the benefits of learning web programming in 2023,Now lets start on on the practical part by building a simple landing page</p>
<h4>Prerequisites</h4>
<ul>
<li>Browser e.g Chrome,Brave,Fire fox</li>
<li>Text Editor e.g sublime,vim,notepad</li>
<li>Computer skills e.g creating a folder and a file</li>
</ul>
<p>Now in our guide here today am going to use sublime text and chrome web browser</p>
<p>To create a simple website, you will need to use a combination of HTML, CSS, and JavaScript.</p>
<p>and their functionalities includes:</p>
<ol>
<li>Write the HTML for the basic structure of your website. This will include the <code>&lt;html&gt;</code>, <code>&lt;head&gt;</code>, and <code>&lt;body&gt;</code> tags, as well as any other structural elements you want to add, such as <code>&lt;header&gt;</code> and <code>&lt;footer&gt;</code>.</li>
<li>Add the CSS to style your website. This will include things like the font, color, and layout of your page.</li>
<li>Use JavaScript to add interactivity to your website. This can include things like form validation, animations, and other dynamic elements</li>
</ol>
<p>Now create a folder named web and then inside the folder create three files namely <strong>index.html index.css index.js</strong></p>
<p>Mine looks like this</p>
<p><img decoding="async" class="alignnone size-medium wp-image-7970 aligncenter" src="/wp-content/uploads/2022/12/Screenshot-from-2022-12-15-19-22-02-300x172.png" alt="web-isoftke" width="300" height="172" /></p>
<h4>The html structure code</h4>
<p>The common html template code contains the <strong>html,body,head and tittle</strong> tags as shown below</p>
<pre style="padding-left: 40px;">&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;meta charset="utf-8"&gt;
&lt;title&gt;my web page&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>we can add our web page <strong>tittle</strong> as shown above as<strong> my web page</strong></p>
<p>In this project on the html structure we are going to have three sections that&#8217;s the <strong>navigation,body and footer as shown in the codes below</strong></p>
<h3>Navigation section</h3>
<p>The navigation section contains the links to different pages like home,about,contact,products</p>
<p>now add the following codes below the body and then run the output in the browser using the correct file name,To run the code go to the <code>index.html</code> file on the folder and open it using your favorite web browser</p>
<p>We have used the <code>class</code><strong> attribute</strong> in the html tag to  access the unique html element easily when styling and adding JavaScript functionality.</p>
<pre>&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;meta charset="utf-8"&gt;
&lt;title&gt;my web page&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;nav class="navigation"&gt;
&lt;ul&gt;
&lt;li&gt;Home&lt;/li&gt;
&lt;li&gt;About&lt;/li&gt;
&lt;li&gt;Gallery&lt;/li&gt;
&lt;li&gt;Contact&lt;/li&gt;
&lt;li class="login"&gt;Login&lt;/li&gt;
&lt;/ul&gt;
&lt;/nav&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p><img decoding="async" class="alignnone size-medium wp-image-7971 aligncenter" src="/wp-content/uploads/2022/12/Screenshot-from-2022-12-15-20-00-18-300x172.png" alt="" width="300" height="172" /></p>
<h3>The body and footer</h3>
<p>Our body contains a simple welcoming text and an svg image and the footer contains the links to different social media pages like facebook,instagram,twitter.</p>
<p>you can get the<a href="https://undraw.co/"> svg </a>images here</p>
<p>First lets connect our html file with our CSS file by including it in a <code>&lt;link&gt;</code> tag in the <code>&lt;head&gt;</code> section then use the correct path, like this:</p>
<pre>&lt;link rel="stylesheet" type="text/css" href="index.css"&gt;
</pre>
<p>Lets add our html code for the body and footer as shown below</p>
<pre>&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;meta charset="utf-8"&gt;
&lt;title&gt;my web page&lt;/title&gt;
&lt;link rel="stylesheet" type="text/css" href="index.css"&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;nav class="navigation"&gt;
&lt;ul&gt;
&lt;li&gt;Home&lt;/li&gt;
&lt;li&gt;About&lt;/li&gt;
&lt;li&gt;Gallery&lt;/li&gt;
&lt;li&gt;Contact&lt;/li&gt;
&lt;li class="login"&gt;Login&lt;/li&gt;
&lt;/ul&gt;
&lt;/nav&gt;

&lt;section class="intro"&gt;
&lt;div class="intro_one"&gt; &lt;h2&gt;Unlock Your Potential: The Benefits of Learning Web Programming in 2023&lt;/h2&gt; &lt;p&gt; Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. &lt;/p&gt;
&lt;button class="login-btn" onclick="start()"&gt;START&lt;/button&gt;
&lt;/div&gt;
&lt;div class="intro_two"&gt; 
&lt;svg xmlns="http://www.w3.org/2000/svg" data-name="Layer 1" width="600" height="600" viewBox="0 0 563.23193 596.81738" xmlns:xlink="http://www.w3.org/1999/xlink"&gt;&lt;circle cx="215.61496" cy="68.26613" r="26.70075" fill="#fd6584"/&gt;&lt;path d="M601.11937,230.11183a13.23512,13.23512,0,0,0-11.17-9.29,1.08068,1.08068,0,0,0-.18,0,1.41827,1.41827,0,0,0-.22-.05c-8.94-1.16-18.88,1.66-25.57,7.8a23.95824,23.95824,0,0,0-5.83,8.04,12.917,12.917,0,0,0-10.83-5.28,13.18351,13.18351,0,0,0-11.8,9.51,1.52646,1.52646,0,0,0,.69,1.69,6.673,6.673,0,0,0,2.79,1.42c2.21.47,4.44.9,6.67,1.29q6.54,1.14,13.15,1.85,4.365.465,8.75.74c6.04.38,12.11.47,18.16.28,3-.1,5.88-.2,8.62-1.52a12.79756,12.79756,0,0,0,4.95-4.31A14.54776,14.54776,0,0,0,601.11937,230.11183Z" transform="translate(-325.74624 -174.48895)" fill="#e6e6e6"/&gt;&lt;path d="M546.18937,269.01185a13.65247,13.65247,0,0,0-.56-3.3,13.26025,13.26025,0,0,0-11.18-9.29.9647.9647,0,0,0-.17,0,1.88726,1.88726,0,0,0-.23-.05,33.19372,33.19372,0,0,0-14.69,1.51c-7.26,2.43-13.63,7.32995-16.7,14.32995a12.92229,12.92229,0,0,0-10.84-5.28,13.18342,13.18342,0,0,0-11.8,9.51,1.55528,1.55528,0,0,0,.69,1.69,6.73289,6.73289,0,0,0,2.79,1.42c2.22.47,4.44.9,6.68,1.29q6.54,1.14,13.14,1.85a195.164,195.164,0,0,0,26.92,1.01995c2.99-.1,5.88-.2,8.62-1.51995a12.76978,12.76978,0,0,0,4.94-4.31A14.26445,14.26445,0,0,0,546.18937,269.01185Z" transform="translate(-325.74624 -174.48895)" fill="#e6e6e6"/&gt;&lt;path d="M743.87618,605.96893h-24.34V225.999c-1.64-1.21-3.29-2.41-4.96-3.58q-.49493-.345-.99-.69a288.32215,288.32215,0,0,0-62.01-32.94l-4.72,65.1-.0003.004H616.48623V177.879c-1.98-.49-3.96-.95-5.96-1.38v77.394h-114.68V174.489c-1.99.37-3.98.75-5.96,1.16v78.244H458.5165l-.0003-.004-4.95-68.27a287.68741,287.68741,0,0,0-60.78,29.46c-.66.42-1.32.84-1.98,1.28-1.33.86-2.66,1.74-3.97,2.63v386.98h-34.27a26.80329,26.80329,0,0,0-24.88995,36.79,25.53979,25.53979,0,0,0,1.75,3.56,27.09542,27.09542,0,0,0,3.02,4.18,26.76039,26.76039,0,0,0,20.12,9.11h391.31a26.82,26.82,0,0,0,0-53.64ZM640.316,344.27123l-18.92981,261.6977h-137.4l-18.92981-261.6977Zm6.11-84.41931-4.66974,64.55591h-25.27V259.85192Zm-35.89978,0v64.55591H564.89394a10.91565,10.91565,0,0,0-9.72265-5.959h-5.95905a10.91565,10.91565,0,0,0-9.72265,5.959H495.84621V259.85192Zm-120.64,64.55591h-26.27l-4.66974-64.55591h30.93976Z" transform="translate(-325.74624 -174.48895)" fill="#f2f2f2"/&gt;&lt;path d="M328.11414,649.21557a289.0041,289.0041,0,0,0,28.12,28.95l379.57995,1a289.003,289.003,0,0,0,28.12-28.95Z" transform="translate(-325.74624 -174.48895)" fill="#3f3d56"/&gt;&lt;path d="M519.80415,552.40557v102.56h71.85v-102.56a3.448,3.448,0,0,0-2.43-3.3,3.1749,3.1749,0,0,0-1.03-.16h-64.92A3.46327,3.46327,0,0,0,519.80415,552.40557Zm28.04,35.24a7.67034,7.67034,0,0,1,15.34,0v11.9a7.6701,7.6701,0,0,1-15.34,0Z" transform="translate(-325.74624 -174.48895)" fill="#2f2e41"/&gt;&lt;path d="M519.58417,651.6856v9.89a1.94623,1.94623,0,0,0,1.93,1.94h68.43a1.93971,1.93971,0,0,0,1.93-1.94v-9.89Z" transform="translate(-325.74624 -174.48895)" fill="#3f3d56"/&gt;&lt;path d="M406.77412,397.88561v187.26a9.00714,9.00714,0,0,0,9,9h277.5a9.0071,9.0071,0,0,0,9-9v-187.26a9.01147,9.01147,0,0,0-9-8.99h-277.5A9.01151,9.01151,0,0,0,406.77412,397.88561Z" transform="translate(-325.74624 -174.48895)" fill="#3f3d56"/&gt;&lt;path d="M413.28413,400.21557v182.62a4.81833,4.81833,0,0,0,4.81,4.81h272.87a4.8183,4.8183,0,0,0,4.81-4.81v-182.62a4.82048,4.82048,0,0,0-4.81-4.82h-272.87A4.82051,4.82051,0,0,0,413.28413,400.21557Z" transform="translate(-325.74624 -174.48895)" fill="#00426f"/&gt;&lt;path d="M468.92414,665.84557a2.94838,2.94838,0,0,0,2.32,1.11h162.34a2.98725,2.98725,0,0,0,2.92-3.6l-2.52-11.97a2.99263,2.99263,0,0,0-1.86-2.17,2.89445,2.89445,0,0,0-1.06-.19995h-157.31a2.89426,2.89426,0,0,0-1.06.19995,2.99243,2.99243,0,0,0-1.86,2.17l-2.52,11.97A2.9849,2.9849,0,0,0,468.92414,665.84557Z" transform="translate(-325.74624 -174.48895)" fill="#2f2e41"/&gt;&lt;path d="M473.75405,651.516a.395.395,0,0,0-.14453.02539.50826.50826,0,0,0-.32764.35254l-2.52148,11.97656a.47775.47775,0,0,0,.10156.39551l.01123.01367a.449.449,0,0,0,.37109.17578H633.58413a.467.467,0,0,0,.37012-.17481.45923.45923,0,0,0,.106-.39746l-2.52246-11.98339a.49765.49765,0,0,0-.30371-.34864.43641.43641,0,0,0-.16992-.03515Z" transform="translate(-325.74624 -174.48895)" fill="#fff"/&gt;&lt;path d="M426.86744,420.5523H682.1908a1.0156,1.0156,0,0,0,0-2.0307H426.86744a1.0156,1.0156,0,0,0,0,2.0307Z" transform="translate(-325.74624 -174.48895)" fill="#3f3d56"/&gt;&lt;ellipse cx="339.06437" cy="232.76546" rx="5.95043" ry="6.08304" fill="#3f3d56"/&gt;&lt;ellipse cx="318.50835" cy="232.76546" rx="5.95043" ry="6.08304" fill="#3f3d56"/&gt;&lt;ellipse cx="297.95233" cy="232.76546" rx="5.95043" ry="6.08304" fill="#3f3d56"/&gt;&lt;path d="M438.15555,403.78558a1.0948,1.0948,0,0,0,1.09,1.1h14.6a1.1053,1.1053,0,0,0,0-2.21h-14.6A1.1034,1.1034,0,0,0,438.15555,403.78558Z" transform="translate(-325.74624 -174.48895)" fill="#3f3d56"/&gt;&lt;path d="M438.15555,407.9356a1.09475,1.09475,0,0,0,1.09,1.1h14.6a1.10527,1.10527,0,0,0,0-2.21h-14.6A1.1034,1.1034,0,0,0,438.15555,407.9356Z" transform="translate(-325.74624 -174.48895)" fill="#3f3d56"/&gt;&lt;path d="M438.15555,412.07562a1.1034,1.1034,0,0,0,1.09,1.11h14.6a1.1053,1.1053,0,0,0,0-2.21h-14.6A1.09476,1.09476,0,0,0,438.15555,412.07562Z" transform="translate(-325.74624 -174.48895)" fill="#3f3d56"/&gt;&lt;path d="M644.14761,451.54632H464.9103a8.89169,8.89169,0,0,0-8.88135,8.88135v87.23681a8.8918,8.8918,0,0,0,8.88135,8.88184H644.14761a8.89179,8.89179,0,0,0,8.88134-8.88184V460.42767A8.89168,8.89168,0,0,0,644.14761,451.54632Zm6.88134,8.88135v25.45166h-63v-32.333h56.11866A6.88908,6.88908,0,0,1,651.029,460.42767Zm-128,59.78564v-32.334h63v32.334Zm63,2v32.333h-63v-32.333Zm-65-2h-63v-32.334h63Zm2-34.334v-32.333h63v32.333Zm65,2h63v32.334h-63Zm-123.11865-34.333H521.029v32.333h-63V460.42767A6.88908,6.88908,0,0,1,464.9103,453.54632ZM458.029,547.66448V522.21331h63v32.333H464.9103A6.88919,6.88919,0,0,1,458.029,547.66448Zm186.11866,6.88184H588.029v-32.333h63v25.45117A6.88918,6.88918,0,0,1,644.14761,554.54632Z" transform="translate(-325.74624 -174.48895)" fill="#3f3d56"/&gt;&lt;path d="M545.41938,473.69457c-1.59058-2.63069-3.47535-5.43947-6.42705-6.29847-3.41828-.99476-6.9297.98138-9.9082,2.93142a288.72629,288.72629,0,0,0-25.69476,18.93158l.009.10212,19.1738-1.32225c4.6177-.31844,9.394-.68081,13.4748-2.86527,1.54851-.82892,3.058-1.93619,4.8127-2.01335,2.18007-.09585,4.081,1.42671,5.57479,3.01744,8.83651,9.40968,11.39362,23.79933,21.3073,32.06644A314.61566,314.61566,0,0,0,545.41938,473.69457Z" transform="translate(-325.74624 -174.48895)" fill="#fff"/&gt;&lt;path d="M599.7361,553.50572c-.97718-1.23391-1.37646-1.52289-2.34035-2.76822q-11.77262-15.22612-22.1306-31.48084-7.03554-11.03961-13.37335-22.50318-3.01729-5.44992-5.86917-10.9854-2.213-4.29206-4.32719-8.63546c-.40309-.827-.79476-1.6579-1.18448-2.49064-.91831-1.95829-1.81955-3.92607-2.78726-5.85775a16.11413,16.11413,0,0,0-4.46988-5.98893,6.09843,6.09843,0,0,0-3.177-1.2225,8.86159,8.86159,0,0,0-4.59911,1.31757,148.04814,148.04814,0,0,0-29.11183,20.07527A151.55944,151.55944,0,0,0,482.71431,509.22c-.20906.2985-.7034.01331-.49239-.28708q1.24631-1.76247,2.542-3.48689A152.39717,152.39717,0,0,1,523.671,469.155q3.78459-2.45261,7.71148-4.67517c1.31945-.74719,2.64466-1.48488,3.99261-2.17692a9.72793,9.72793,0,0,1,4.23409-1.31187c5.13717-.07985,7.79706,5.738,9.62413,9.65264q.86127,1.848,1.74343,3.68462,3.33382,6.97281,6.92433,13.81826,2.21591,4.22647,4.52883,8.40352,7.198,13.00739,15.30124,25.48812c7.15632,11.02153,14.25555,20.75782,22.40808,31.06448C600.36357,553.38784,599.96243,553.79471,599.7361,553.50572Z" transform="translate(-325.74624 -174.48895)" fill="#fff"/&gt;&lt;path d="M505.8582,480.09286c-.29847-.33272-.59507-.66544-.89548-.99815-2.36895-2.61993-4.91085-5.20943-8.16395-6.71142a11.84427,11.84427,0,0,0-4.96227-1.15025,14.16149,14.16149,0,0,0-5.15231,1.12364c-.77572.30991-1.53437.66163-2.2815,1.03618-.8537.42968-1.69218.88789-2.52676,1.34989q-2.35,1.30045-4.639,2.715-4.55449,2.8148-8.82372,6.05928-2.21312,1.68261-4.3349,3.47548-1.97348,1.66549-3.8671,3.42035c-.27.24906-.673-.154-.40309-.40307.33272-.3099.66924-.6179,1.00577-.9221q1.42593-1.28906,2.89754-2.52867,2.68351-2.26439,5.506-4.35385,4.38906-3.25113,9.08031-6.06117,2.3443-1.40312,4.75312-2.68837c.48487-.25857.97541-.51144,1.47161-.751a23.45971,23.45971,0,0,1,3.49828-1.424,12.44508,12.44508,0,0,1,5.28357-.519,13.75614,13.75614,0,0,1,4.87483,1.68641c3.19405,1.78527,5.67134,4.54588,8.08215,7.23995C506.5047,479.96167,506.10347,480.36664,505.8582,480.09286Z" transform="translate(-325.74624 -174.48895)" fill="#fff"/&gt;&lt;path d="M571.30359,507.2422l7.6538-2.79942,3.80014-1.38991a38.8622,38.8622,0,0,1,3.75173-1.29215,5.91886,5.91886,0,0,1,3.39578.04327,7.82666,7.82666,0,0,1,2.64863,1.64187,21.49478,21.49478,0,0,1,2.17243,2.32c.82736.9943,1.6425,1.999,2.46129,3.00038q5.069,6.19922,10.0717,12.45223,5.00259,6.2529,9.93828,12.55895,4.94777,6.32146,9.82747,12.69578.59778.78089,1.19453,1.56254c.21979.28788.7154.00407.4925-.28788q-4.91571-6.43842-9.89994-12.82414-4.9965-6.401-10.062-12.74766-5.06544-6.34655-10.19934-12.63806-1.279-1.56741-2.56224-3.13136c-.72164-.8795-1.43514-1.76849-2.22665-2.58709a8.0255,8.0255,0,0,0-5.44085-2.86653,10.50123,10.50123,0,0,0-3.70075.81358c-1.27955.4629-2.556.93446-3.834,1.40186l-7.70733,2.819-1.92683.70475c-.34194.12506-.19423.6765.15163.55Z" transform="translate(-325.74624 -174.48895)" fill="#fff"/&gt;&lt;path d="M495.79155,475.68a12.35654,12.35654,0,0,0-12.4447.89,177.49838,177.49838,0,0,1,20.19408,4.7132C500.7862,479.66878,498.63134,477.13947,495.79155,475.68Z" transform="translate(-325.74624 -174.48895)" fill="#fff"/&gt;&lt;path d="M483.30857,476.563l-.74878.60863c.25328-.213.51658-.41275.78706-.60175Z" transform="translate(-325.74624 -174.48895)" fill="#fff"/&gt;&lt;path d="M592.26547,507.27016a6.371,6.371,0,0,0-2.69492-2.24988l-1.05213.04149a119.34217,119.34217,0,0,0,31.78674,36.33972Z" transform="translate(-325.74624 -174.48895)" fill="#fff"/&gt;&lt;circle cx="261.59709" cy="311.22703" r="6.0589" fill="#fff"/&gt;&lt;path d="M675.26821,553.04632a4.50677,4.50677,0,0,0,4.5-4.5v-93a4.5,4.5,0,1,0-9,0v93A4.50677,4.50677,0,0,0,675.26821,553.04632Z" transform="translate(-325.74624 -174.48895)" fill="#3f3d56"/&gt;&lt;path d="M675.26821,553.04632a4.50677,4.50677,0,0,0,4.5-4.5v-19.72a5.58075,5.58075,0,0,0-9,0v19.72A4.50677,4.50677,0,0,0,675.26821,553.04632Z" transform="translate(-325.74624 -174.48895)" fill="#2f2e41"/&gt;&lt;path d="M675.26821,534.04632a4.8469,4.8469,0,0,0,4.83962-4.83962V507.99842a6.00194,6.00194,0,0,0-9.67924,0V529.2067A4.8469,4.8469,0,0,0,675.26821,534.04632Z" transform="translate(-325.74624 -174.48895)" fill="#00426f"/&gt;&lt;path d="M675.26821,530.19a3.53525,3.53525,0,0,0,3.52994-3.52993V511.19114a4.37772,4.37772,0,0,0-7.05988,0v15.46895A3.53525,3.53525,0,0,0,675.26821,530.19Z" transform="translate(-325.74624 -174.48895)" fill="#3f3d56"/&gt;&lt;path d="M536.44482,657.52463a4.00426,4.00426,0,0,1-.317-5.648L575.44364,607.885a4,4,0,0,1,5.965,5.331l-39.31583,43.99166A4.00426,4.00426,0,0,1,536.44482,657.52463Z" transform="translate(-325.74624 -174.48895)" fill="#00426f"/&gt;&lt;path d="M862.596,729.9553c0,7.29-1.72,12.87-1.51,17.33a287.26786,287.26786,0,0,1-36.3,13.02c-1.4.4-2.8.78-4.21,1.16-7.63-23.36-15.27-44.75-18.28-47.02-6.89-5.17-10.34,16.22-10.34,11.05005,0-5.17,3.45-5.17-5.16-12.06-8.62-6.89-3.45-37.9-3.45-37.9l-12.06-31.01,13.49-49.46,17.52-64.25h17.23s.51.37,1.36,1.06c4.31,3.52,17.31,15.28,15.87,28.23-.43,3.86.53,15.08,2.2,30.02,5.08,45.11,16.75,94.15,16.75,107.09C855.706,714.44529,862.596,719.61534,862.596,729.9553Z" transform="translate(-325.74624 -174.48895)" fill="#e6e6e6"/&gt;&lt;path d="M848.14822,589.95629c-.02-.05-.03-.09-.04993-.12994a26.64071,26.64071,0,0,0-1.3501-3.04c-2.90991-5.47.17-13.87-3.11-23.15-5.29993-15.04-11.76-23.91-21.23-31.86-.28-.24-.55994-.47-.85-.71l-.01-.01c-6.32007-5.19-13.93994-10.04-23.4-16.08-1.9701-1.26-4.03-2.57-6.17005-3.95-2.76-1.77-2.61-7.67-2.44995-13.91.17993-6.93.37-14.11-3.03-18.59l-.22-.29-.3501-.09a150.43671,150.43671,0,0,0-35.41992-2.73h-.01a69.65878,69.65878,0,0,0-14.92993,2.19c-.36011.1-.72.2-1.07007.32-.27.07-.54.16-.81006.25l-.22.08-.16992.16c-3.29,3.29-4.05,9.19-4.41,15.34v.01q-.10492,1.68009-.18006,3.36005c-.28,5.98-.53992,11.63-2.74,14.07995a57.78784,57.78784,0,0,1-17.47,13.44c-10.33,5.1-18.5,4.94-18.62,4.94l-.95008-.03-.08984.94c-6.86011,13.07-6.6001,46.79-6.81006,82.9q-.015,3.015-.04,6.06c-.12,16.82-.43994,33.93006-1.7,49.52-.55,6.7-1.26,13.11-2.21,19.1-4.62012,29.17-25.55,4.94995-35.56006,24.36a24.526,24.526,0,0,0,1.65,5.55c1.15.68,2.33,1.34,3.5,2q7.7851,4.335,15.86,8.09c.3.13995.6.28.8999.41a236.73639,236.73639,0,0,0,30.46009,11.62c2.03.62,4.05993,1.21,6.11,1.77a233.58618,233.58618,0,0,0,55.61011,8.32995,1.70119,1.70119,0,0,1,.23-.01,288.58529,288.58529,0,0,0,65.83984-9.49q.45007-.11992.90015-.24c1.40991-.38,2.80994-.76,4.21-1.16a287.27936,287.27936,0,0,0,36.30005-13.02,9.23784,9.23784,0,0,0,.12988,1.31,3.02968,3.02968,0,0,0,.06006.42c.02-.16.04-.32.05-.48.05994-.47.10986-.95.15991-1.43C870.6083,666.42632,857.89822,615.75634,848.14822,589.95629Z" transform="translate(-325.74624 -174.48895)" fill="#3f3d56"/&gt;&lt;path d="M710.7141,443.689a55.98285,55.98285,0,1,0-2.84465-47.69329c-.25622.64069-.48694,1.28139-.7175,1.94774A55.90649,55.90649,0,0,0,710.7141,443.689Z" transform="translate(-325.74624 -174.48895)" fill="#ffb6b6"/&gt;&lt;path d="M702.66709,397.94348c2.409-6.74013,1.35819-3.22913,3.79286-9.9436-1.58907,5.94567.92256,9.27725.692,9.9436h66.65793V359.19426c-19.52853-7.73965-38.62111-14.326-50.15362,0A38.75088,38.75088,0,0,0,684.907,397.94348Z" transform="translate(-325.74624 -174.48895)" fill="#2f2e41"/&gt;&lt;path d="M726.29584,505.657c.05131-.7175.12811-1.46081.23072-2.1783.7175-5.27932,2.51148-10.35373,4.33111-15.37668,1.92208-5.40743,3.86982-10.84067,5.8174-16.24809a46.51862,46.51862,0,0,0,2.17846,29.52327c11.25064-8.76466,4.15153-28.80562,18.862-28.80562,35.36633,0,71.75783-28.67751,71.75783-64.06949,0-35.36649-15.17161-61.81424-50.53794-61.81424-35.39214,0-64.0953,16.19663-64.78715,51.56312C757.71555,408.50212,718.06942,502.06923,726.29584,505.657Z" transform="translate(-325.74624 -174.48895)" fill="#2f2e41"/&gt;&lt;circle cx="499.30786" cy="187.58797" r="41.00448" fill="#2f2e41"/&gt;&lt;path d="M888.97817,597.23632q-.20983,3.165-.36987,6.74c-2.12012,44.89-.29,105.32-14.58008,138.11q-4.79993,2.625-9.7,5.02-.1952.09-.36011.18c-.87988.43-1.76.85-2.63989,1.25a.30049.30049,0,0,1-.11011.06,238.80759,238.80759,0,0,1-29.80993,11.71c-1.25.4-2.51.78-3.77,1.16q-.405.12-.80994.24a233.934,233.934,0,0,1-59.04,9.49c-1.04.03-2.06006.05-3.05.07-.35.01-.68994.02-1.03.02-1.11987.01-2.23.02-3.34985.02q-3.39,0-6.75-.1a233.58618,233.58618,0,0,1-55.61011-8.32995c-2.05005-.56-4.08-1.15-6.11-1.77a236.73639,236.73639,0,0,1-30.46009-11.62c-.29992-.13-.59985-.27-.8999-.41q-8.07-3.75-15.86-8.09c-1.17-.66-2.35-1.32-3.5-2a24.526,24.526,0,0,1-1.65-5.55c-2.27-10.91-4.09009-3.55-5.39-26.25-1.19007-20.81-1.95008-41.68-2.23-53.61-.09-3.18005-.12-5.73-.13-7.47,1.06006-7.58,18.1-16.18,42.95-24.35,2.3501-.77,4.78-1.54,7.27-2.30005,6.72-2.06994,13.9-4.1,21.4-6.06,19.1-5,40.30993-9.59,61.36-13.38,10.39-1.86,20.74-3.53,30.79-4.95,17.63-2.5,34.31006-4.23,48.58-4.94,1.37-.07,2.71008-.13,4.03-.17005,1.42-.06,2.80993-.1,4.17-.12994C872.8782,589.37634,886.91823,591.51629,888.97817,597.23632Z" transform="translate(-325.74624 -174.48895)" fill="#2f2e41"/&gt;&lt;path d="M888.97817,597.23632q-.20983,3.165-.36987,6.74c-15.58008-16.78-183.42017,58.18-254.4801,103.21-1.19007-20.81-1.95008-41.68-2.23-53.61-.09-3.18005-.12-5.73-.13-7.47,1.06006-7.58,18.1-16.18,42.95-24.35,2.3501-.77,4.78-1.54,7.27-2.30005,6.72-2.06994,13.9-4.1,21.4-6.06,19.1-5,40.30993-9.59,61.36-13.38,10.39-1.86,20.74-3.53,30.79-4.95,17.63-2.5,34.31006-4.23,48.58-4.94,1.37-.07,2.71008-.13,4.03-.17005,1.42-.06,2.80993-.1,4.17-.12994C872.8782,589.37634,886.91823,591.51629,888.97817,597.23632Z" transform="translate(-325.74624 -174.48895)" opacity="0.2"/&gt;&lt;path d="M547.647,649.249a17.32416,17.32416,0,0,0,26.55514.70567l56.94831,23.38893-6.14528-31.39622-53.137-17.39715A17.418,17.418,0,0,0,547.647,649.249Z" transform="translate(-325.74624 -174.48895)" fill="#ffb6b6"/&gt;&lt;path d="M737.08152,518.50858l-.31228-.03292-33.20892,2.411a29.80748,29.80748,0,0,0-21.56072,11.67523,29.21506,29.21506,0,0,0-3.07519,4.99743l-.0085.00516a29.80365,29.80365,0,0,0-2.45624,18.88793l15.63449,78.70251-37.61826-3.41768-13.73193,2.347-16.20487-6.53788-33.25143.56581-.77072,2.5485-6.97538,23.1234-.54758,1.8169,50.77548,31.9965,14.72063-4.478,6.93506,5.327.33277.00879L669.51,688.727l58.64789,1.14988,16.03121-28.40114,2.50475-4.453c18.61846-41.70905,23.2126-70.82612,21.7551-90.8852-.76379-10.59874-3.21422-18.6553-6.18063-24.727C753.0957,522.648,737.72706,518.667,737.08152,518.50858Z" transform="translate(-325.74624 -174.48895)" fill="#3f3d56"/&gt;&lt;path d="M830.24026,398.48144a47.34714,47.34714,0,0,1-34.17334-30.18286c-2.40589-6.97791-3.31379-14.64008-7.352-20.85022a111.46662,111.46662,0,0,0,14.65466-27.54114c1.38165-3.80243,4.61743-10.70514-.8681-12.79687-4.37036-1.66651-9.33539,2.35565-11.92591,5.52941a21.05709,21.05709,0,0,0-4.13318,8.23072q-1.34024-5.9176-2.68042-11.83527a1.53553,1.53553,0,0,0-1.84515-1.04767c-7.32165,1.24823-12.63183,8.02783-13.55414,15.16864a15.4535,15.4535,0,0,0,2.356,10.52161c2.352,3.57825,5.79639,6.14355,9.074,8.81006,3.48554,2.83575,6.44019,5.856,8.31409,10.00281,1.94757,4.31,2.82465,9.02667,4.11658,13.55236a50.20771,50.20771,0,0,0,37.21942,35.33124C831.32461,401.78552,832.1285,398.8941,830.24026,398.48144Zm-41.34687-71.71552a17.41119,17.41119,0,0,1,2.83728-10.66461,16.89232,16.89232,0,0,1,3.85309-4.17389c1.43244-1.0943,3.54529-2.54352,5.44031-2.14154,2.4577.52136,1.46906,3.26483.947,4.91925q-1.03317,3.27411-2.27179,6.47858a106.45584,106.45584,0,0,1-5.58972,12.10742c-1.098,2.03778-2.27118,4.03247-3.49646,5.99445q-1.26692-5.594-2.53388-11.188A1.25559,1.25559,0,0,0,788.89339,326.76592Zm-17.51977.597a14.81431,14.81431,0,0,1,9.817-16.1106q3.57166,15.77032,7.14332,31.54077c-.4914.72474-.99836,1.43866-1.50654,2.15192-.133-.15314-.2547-.31146-.39312-.4621C781.43978,339.0476,772.73092,335.34246,771.37362,327.36291Z" transform="translate(-325.74624 -174.48895)" fill="#00426f"/&gt;&lt;/svg&gt; 
&lt;/div&gt;
&lt;/section&gt;
&lt;footer&gt;
&lt;h3&gt;Follow us on:&lt;/h3&gt;
&lt;li&gt;&lt;ul&gt;instagram&lt;/ul&gt;&lt;ul&gt;whatsapp&lt;/ul&gt;&lt;ul&gt;facebook&lt;/ul&gt;&lt;ul&gt;tiktok&lt;/ul&gt;&lt;ul&gt;pintrest&lt;/ul&gt;
&lt;/li&gt;
&lt;/footer&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p style="text-align: center;"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7973" src="/wp-content/uploads/2022/12/Screenshot-from-2022-12-15-20-16-54-300x172.png" alt="" width="300" height="172" /> <img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7974" src="/wp-content/uploads/2022/12/Screenshot-from-2022-12-15-20-16-49-300x172.png" alt="" width="300" height="172" /></p>
<h3>Styling(CSS)</h3>
<p style="text-align: left;">We are done with creating our html file structure code now lets add our styles</p>
<p>We are going to add some colors to the navigation bar position the body well and then add some color to the footer texts and as well as position the elements in the body</p>
<p>As shown below:</p>
<pre>body{
text-align: center;
}
/*style navigation*/
.navigation{
background: #D8D9CF;
}
.navigation li{
margin: 10px;
padding: 10px;
font-family: fantasy;
text-decoration: none;
display: flex;

}
.navigation ul{

display: flex;
text-transform: uppercase;
list-style: none;
align-content: center;
justify-content: center;
padding: 10px;

}
/*style login button in navigation*/
.login{
background: black;
color: white;

}
/*style the body*/

.intro{
text-align: center;
display: flex;
text-transform: uppercase;
list-style: none;
align-content: center;
justify-content: center;
}
h2{
font-size: 40px;
padding: 40px;
}

.login-btn{
background: black;
color: white;
height: 50px;
width: 100px;

}
/*style the footer*/

footer li{
display: flex;
text-transform: uppercase;
list-style: none;
align-content: center;
justify-content: center;
padding: 10px;
color: red;
font-size: 20px;
}</pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p style="text-align: left;"> <img loading="lazy" decoding="async" class="size-medium wp-image-7976 aligncenter" src="/wp-content/uploads/2022/12/Screenshot-from-2022-12-15-20-25-24-300x172.png" alt="" width="300" height="172" /></p>
<p><img loading="lazy" decoding="async" class="size-medium wp-image-7975 aligncenter" src="/wp-content/uploads/2022/12/Screenshot-from-2022-12-15-20-25-30-300x172.png" alt="" width="300" height="172" /></p>
<h3>JavaScript</h3>
<p>Job well done we are done with the web page structure and styling now lets add some small interactivity such that when one clicks the start button a welcome message will pop up</p>
<p>add the <code>script</code> tag just before the end of the body tag as shown:</p>
<pre>&lt;script src="index.js" type="text/javascript"&gt;&lt;/script&gt;</pre>
<p>On the button with the class named <code>login-btn</code> add the following function <code>onclick="start()"</code></p>
<p><code>&lt;button class="login-btn" onclick="start()"&gt;START&lt;/button&gt;</code></p>
<p>Now on the <code>index.js</code> file add the functionality start as shown</p>
<pre>function start(){
alert("Hello welcome,Unlock Your Potential: The Benefits of Learning Web Programming in 2023")
}</pre>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7977" src="/wp-content/uploads/2022/12/Screenshot-from-2022-12-15-20-32-46-300x172.png" alt="" width="300" height="172" /></p>
<p>&nbsp;</p>
<p>After adding the JavaScript code,Try clicking the button and a message pop up will be displayed as shown on the picture above</p>
<p>That&#8217;s our first step on Getting Started with Building a Landing Page: Web Programming basic</p>
<p>For more information on how to use HTML, CSS, and JavaScript to create a website, you can check out the following resources:</p>
<p><a href="https://www.w3schools.com/">W3schools</a></p>
<p><a href="https://developer.mozilla.org/en-US/">MDN web docs</a></p>
<p><a href="https://www.freecodecamp.org/">FreeCodeCamp</a></p>
<p>Keep practicing!</p>
<p>The post <a href="https://isoftke.co.ke/getting-started-on-web-programming-by-building-a-landing-page/">Getting Started on web programming by building a Landing Page</a> appeared first on <a href="https://isoftke.co.ke">Isoftke Software Solutions</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>10 Tips To Get A Head Start In Software Engineering</title>
		<link>https://isoftke.co.ke/10-tips-to-get-a-head-start-in-software-engineering/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Wed, 07 Dec 2022 20:38:47 +0000</pubDate>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[Technology]]></category>
		<guid isPermaLink="false">http://isoftke.co.ke/demo/?p=7935</guid>

					<description><![CDATA[<p>10 Tips To Get A Head Start In Software Engineering Software engineering is one of the fastest-growing and most lucrative fields out of the many in the technology industry. It seems to never run out of demand, so what field do you want to get into? Get started on this exciting career by reading these [&#8230;]</p>
<p>The post <a href="https://isoftke.co.ke/10-tips-to-get-a-head-start-in-software-engineering/">10 Tips To Get A Head Start In Software Engineering</a> appeared first on <a href="https://isoftke.co.ke">Isoftke Software Solutions</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>10 Tips To Get A Head Start In Software Engineering</strong></p>
<p>Software engineering is one of the fastest-growing and most lucrative fields out of the many in the <a href="http://isoftke.co.ke/demo/tech-skills-on-demand/">technology</a> industry. It seems to never run out of demand, so what field do you want to get into? Get started on this exciting career by reading these 10 tips for new software engineering students and Get A Head Start In Software Engineering</p>
<h3>10 Tips To Get A Head Start In Software Engineering</h3>
<p>Whether you&#8217;re just getting started in software engineering or are a seasoned veteran, these 10 tips will help you get to the next level.</p>
<h4>1. Take Advantage of Your Community</h4>
<p>When you&#8217;re starting out in software engineering, one of the best things you can do is take advantage of your community. There are likely many software engineers in your town or city, and getting involved with them can be a great way to get started in your career.</p>
<p>There are a few ways to get involved with your community of software engineers. One way is to join or start a meetup group. This can be a great way to meet other engineers and learn about new technologies. Another way to get involved is to attend or volunteer at local events such as hackathons or conferences. These events are usually great opportunities to network and learn from more experienced engineers.</p>
<p>Finally, don&#8217;t forget about online communities of developers. There are many active forums and chatrooms where you can ask questions and learn from others. In addition, there are often online resources that can be very helpful for learning new technologies or improving your skills.</p>
<h4>2. Learn the Basics Thoroughly</h4>
<p>If you want to get a head start in software engineering, it is important to learn the basics thoroughly. This means understanding the basic concepts and principles of programming, as well as learning how to use the different tools and technologies.</p>
<p>It is also important to be able to work effectively in a team environment, as most software engineering projects are undertaken by teams of people. Good communication and collaboration skills are essential in order to be successful in this field.</p>
<p>Finally, it is also important to keep up with new developments in the field of software engineering, as new technologies and approaches are constantly being developed. Keeping abreast of these developments will help you to be able to apply them in your own work.</p>
<h4>3. Read Books</h4>
<p>If you want to get a head start in software engineering, one of the best things you can do is read books. Here are some tips on how to get the most out of reading books on software engineering:</p>
<p><strong>1. Make sure you choose the right book</strong>. There are many books out there on software engineering, and not all of them are created equal. Do some research and make sure you pick a book that will be helpful and informative.</p>
<p><strong>2. Take your time</strong>. Don&#8217;t try to rush through the book. Instead, take your time and really absorb the information. This will help you more in the long run than just trying to skim through it.</p>
<p><strong>3. Highlight important information</strong>. As you&#8217;re reading, highlight or underline any information that you think will be particularly useful. This will help you remember it later when you need it.</p>
<p><strong>4. Review regularly</strong>. Once you&#8217;ve finished reading the book, review the material regularly so that it stays fresh in your mind. This will help when you need to apply what you&#8217;ve learned in a real-world situation.</p>
<h4>4. Get Involved in Activities</h4>
<p>There are many different ways to get involved in activities related to software engineering. One way is to attend conferences and workshops. This can be a great way to learn about new trends in the field and network with other professionals. Another way to get involved is to join professional organizations such as the Institute of Electrical and Electronics Engineers (<a href="https://www.ieee.org/">IEEE</a>) or the Association for Computing Machinery (<a href="https://www.acm.org/">ACM</a>). These organizations often offer educational resources, networking opportunities, and job postings. Finally, another way to stay up-to-date on the latest software engineering advances is to read trade publications such as IEEE Software or ACM Transactions on Software Engineering.</p>
<h4>5. Join a Programming Club</h4>
<p>Most college students who want to become software engineers join a programming club. This is a great way to get started in the field and learn more about what it takes to be successful. There are a few things to keep in mind when joining a programming club:</p>
<p><strong>1. Find a club that matches your interests.</strong> There are clubs for almost every programming language and framework, so you should be able to find one that focuses on the technologies you&#8217;re interested in.</p>
<p><strong>2. Get involved early and often</strong>. The more active you are in the club, the more you&#8217;ll get out of it. Attend meetings regularly, participate in discussions, and help with projects.</p>
<p><strong>3. Be open to learning new things</strong>. A good programming club will expose you to new languages, frameworks, and concepts that you may not be familiar with. Embrace this opportunity to expand your horizons and learn as much as you can.</p>
<p><strong>4. Stay connected with other members.</strong> Many of the people you meet in a programming club will become lifelong friends and colleagues. Keep in touch after graduation and stay involved in the community.</p>
<h4>6. Keep Up with Current Events in Software Development</h4>
<p>In order to keep up with current events in software development, there are a few things you can do. First, read blogs and articles from respected sources. This will help you stay up-to-date on new developments and trends. Second, attend conferences and meetups. This will allow you to network with other professionals and learn about new technologies. Finally, make sure to stay active on social media. Following industry leaders and participating in online discussions will help you stay current on what’s happening in the world of software development.</p>
<h4>7. Be Patient and Persistent</h4>
<p>When it comes to getting a head start in software engineering, it is important to be patient and persistent. The learning process can be slow at times, but it is important to keep at it and not give up. There are a few key things that you can do to help you stay on track:</p>
<p>1. Set realistic goals for yourself and break them down into smaller pieces. This will help you stay motivated and focused on what you need to do.</p>
<p>2. Find a mentor or someone who is already successful in the field that you want to get into. They can offer guidance and advice on what steps you need to take next.</p>
<p>3. Stay organized and keep track of your progress. This will help you see how far you’ve come and what still needs to be done.</p>
<p>4. Don’t be afraid to ask for help when you need it. There are plenty of resources available, so don’t feel like you have to go at it alone.</p>
<p>5. And finally, always remember that Rome wasn’t built in a day – so don’t expect miracles overnight! Be patient, work hard, and success will come eventually.</p>
<h4>8. Work on Your Soft Skills</h4>
<p>In order to get a head start in software engineering, it is important to work on your soft skills. This means being able to effectively communicate with others, working well in a team environment, and having strong problem-solving skills.</p>
<p>Some specific tips for improving your soft skills include:</p>
<p>&#8211; attending workshops and seminars on topics such as effective communication and teamwork</p>
<p>&#8211; practicing active listening and asking questions when you are in meetings or conversations</p>
<p>&#8211; regularly seeking feedback from others so that you can identify areas of improvement</p>
<p>&#8211; taking on leadership roles in projects or tasks so that you can hone your management skills</p>
<h4>9. Find Mentors who are Successful in Software Engineering</h4>
<p>There are a few things that you should keep in mind when looking for <a href="http://isoftke.co.ke/demo/the-value-of-having-a-mentor/">mentors</a> who are successful in software engineering. First, look for someone who is currently working in the field of software engineering. This will ensure that they are up-to-date on the latest trends and technologies. Second, find someone who has been successful in their career. This means that they have a proven track record of success in the field. Finally, make sure to find a mentor who is willing to invest time in you and your career. A good mentor will be able to provide you with guidance and support as you navigate your way through the field of software engineering.</p>
<h4>10. Aim to be a Great Engineer!</h4>
<p>There are many great engineers out there who have made a significant impact in the software engineering field. If you want to be one of them, aim to be a great engineer! Here are some tips to help you get started:</p>
<p>1. Be passionate about your work. Passion is the key to success in any field, and software engineering is no exception. If you&#8217;re not passionate about your work, it will be difficult to stay motivated and progress in your career.</p>
<p>2. Stay current with new technologies and trends. Technology is always changing, so it&#8217;s important to keep up with new developments in the software engineering field. This will help you be more effective in your work and also make you more attractive to potential employers.</p>
<p>3. Get involved in the community. There are many great online and offline communities for software engineers where you can learn from others and share your own knowledge. Getting involved in these communities will help you improve your skills and network with other professionals in the field.</p>
<p>4. Be <a href="http://isoftke.co.ke/demo/how-to-motivate-yourself-as-a-developer/">persistent</a> and never give up. Pursuing a career in software engineering can be challenging at times, but it&#8217;s important to never give up on your dreams. If you&#8217;re persistent, you&#8217;ll eventually achieve success</p>
<p><strong>Conclusion</strong></p>
<p>We hope you found these tips helpful in getting a head start in your software engineering career! If you have any other tips to share, please leave them in the comments below. And if you&#8217;re looking for more information on software engineering careers, be sure to check out our other articles on the subject.</p>
<p><strong>read</strong><br />
<iframe style="border: none;" src="//rcm-na.amazon-adsystem.com/e/cm?o=1&amp;p=48&amp;l=ur1&amp;category=software&amp;banner=0NMYBMYXNKHTH892SY02&amp;f=ifr&amp;linkID=60a013265780301c7558641fc9ed977c&amp;t=ian0eb4-20&amp;tracking_id=ian0eb4-20" width="728" height="90" frameborder="0" marginwidth="0" scrolling="no" sandbox="allow-scripts allow-same-origin allow-popups allow-top-navigation-by-user-activation"></iframe></p>
<p>The post <a href="https://isoftke.co.ke/10-tips-to-get-a-head-start-in-software-engineering/">10 Tips To Get A Head Start In Software Engineering</a> appeared first on <a href="https://isoftke.co.ke">Isoftke Software Solutions</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Getting started in tech industry in 2023</title>
		<link>https://isoftke.co.ke/getting-started-in-tech/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Wed, 16 Nov 2022 09:20:03 +0000</pubDate>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[programming]]></category>
		<guid isPermaLink="false">http://isoftke.co.ke/demo/?p=7813</guid>

					<description><![CDATA[<p>Getting started in tech industry in 2023 The use of tech and the tech industry has been growing exponentially over the years, getting a large and overwhelming number of users as days goes by. By definition tech is a Tech as a product? tech as a product When we integrate different systems or modules together [&#8230;]</p>
<p>The post <a href="https://isoftke.co.ke/getting-started-in-tech/">Getting started in tech industry in 2023</a> appeared first on <a href="https://isoftke.co.ke">Isoftke Software Solutions</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="wp-block-columns"><div class="wp-block-column"></div>
</div>
<p>&nbsp;</p><!-- /wp:columns --><!-- wp:post-content --><!-- wp:paragraph -->
<p><strong>Getting started in tech industry in 2023</strong></p>
<p>The use of tech and the tech industry has been growing exponentially over the years,</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>getting a large and overwhelming number of users as days goes by.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>By definition tech is a</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li>product</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>service</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>career</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading -->
<h2>T<strong>ech as a product?</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><mark class="has-inline-color has-vivid-cyan-blue-color">tech as a product</mark></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>When we integrate different systems or modules together we come up with a final product called a tech product</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>These tech products can be used to solve a particular problem or solve a business need</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>We do use tech products in our day to day activities to run our businesses or even to solve our problems</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>For example using a mobile phone to easen communication between parties that are far apart.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The use of tech product has  grown during the covid-19 pandemic, i.e</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>There is the use of virtual meetings through tech products such as zoom.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>Tech as a service</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><mark class="has-inline-color has-vivid-cyan-blue-color">tech as a service</mark></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>In tech as a service it involves the use of different softwares to come up with a comprehensive solution to a problem,</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>It involves the replacement of manual labor to do a task.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>For example in the manufacturing the use of automated vehicles to transport different goods in the different sections in the industry</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>Tech as a career</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><mark class="has-inline-color has-vivid-cyan-blue-color">tech as a career</mark></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Individuals with passion in technology will jump in to the field and take it as a profession,</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>these are people that will be creating the tech product and the tech services to be used in different businesses to solve different problems.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>Tech revolutions</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>In this article today we are going to see on why you should consider choosing tech as a career</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Firstly lets see how tech is evolving</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Speaking of the latter days,Communication between different parties was a very big challenge not unless they used the traditional ways of communication,</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>but through the evolution and advancement in tech communication has been made easier and simplified</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Tech has evolved over a number of years , tech did not just come into being in one single day.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>It involves different evolutions made in different periods of time over a good number of years.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>These revolutions produce a better version of a tech product than the latter.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The use of tech in the different sectors has made it easier work and currently many industry perform their different duties through the use of tech products and the tech services except for the services that require human labor.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The current age is characterized by rapid innovations hence accelerating the technological process replacing the current tech products and services with better ones,</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Each of these tech product with its excitements brings an impact to a generation and many people cant imagine living without using tech to run their daily activities,</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Many people are gaining access to the internet and the use of tech product finding value in it as compared to the 1990s when they had not discovered its importance in the industry</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>There is a characteristic evolution of tech by use of advanced digital products to better problem solving hence finding easier ways to solve problems.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>The Internet</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>The use of websites and the internet has become common these days</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>in that there is great search and hunger for valuable source of information,</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The internet has become a valuable source of information connection different people from different parts of the world.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>To add more on this there is the use of digital goods, this include the e commerce product where customers can order for their goods and get them at their comfort</p>
<div class="wp-block-columns">
<div class="wp-block-column">
<h2>How is this achievable?</h2>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1076,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large">How is the creating of the different tech products achievable?</figure>
<figure class="wp-block-image size-large">Lets jump to our topic of discussion today and see why you should consider choosing a tech career</figure>
<figure class="wp-block-image size-large">Currently there is great demand for tech products and tech services.</figure>
<figure class="wp-block-image size-large">Different industries are looking for talented individuals who can help them solve their business needs through tech.</figure>
<figure class="wp-block-image size-large">This is a sign that there is great demand for skilled tech enthusiasts.</figure>
<figure class="wp-block-image size-large">Anyone and everyone can be a tech irregardless of who you are of whichever background you come from.</figure>
<figure class="wp-block-image size-large">In tech you only need commitment and passion to do your work,</figure>
<figure class="wp-block-image size-large">Each and every step in tech is counted as a win, everyone starts from zero and then ends up being a giant taking time in learning different skills at a time.</figure>
</div>
</div>
<p><!-- /wp:image -->

<!-- wp:paragraph --></p>
<p><!-- /wp:paragraph -->

<!-- wp:paragraph --></p>
<p><!-- /wp:paragraph -->

<!-- wp:paragraph --></p>
<p><!-- /wp:paragraph -->

<!-- wp:paragraph --></p>
<p><!-- /wp:paragraph -->

<!-- wp:heading --></p>
<h2>Advantages of being a techie</h2>
<p><!-- /wp:heading -->

<!-- wp:paragraph --></p>
<p>Being in tech keeps you in shape and updated with the current tech trends in the world,</p>
<p><!-- /wp:paragraph -->

<!-- wp:paragraph --></p>
<p>It gives you an urge to be an innovator and a better version of your self.</p>
<p><!-- /wp:paragraph -->

<!-- wp:paragraph --></p>
<p>Keeping up with technology is a great advantage as it ads value to your business over your competitors.</p>
<p><!-- /wp:paragraph -->

<!-- wp:heading --></p>
<h2>Tech courses to take</h2>
<p><!-- /wp:heading -->

<!-- wp:paragraph --></p>
<p>As a tech enthusiast the following corses are good for your start</p>
<p><!-- /wp:paragraph -->

<!-- wp:paragraph --></p>
<p>Follow the links to read more about each subject</p>
<p><!-- /wp:paragraph -->

<!-- wp:list --></p>
<ul><!-- wp:list-item -->
<li>Data Science <a href="https://www.oracle.com/ke/data-science/what-is-data-science/">Data Science</a> is the scientific extraction of knowledge from data</li>
<!-- /wp:list-item --></ul>
<p><!-- /wp:list -->

<!-- wp:list --></p>
<ul><!-- wp:list-item -->
<li>Software Development &#8211; <a href="https://www.ibm.com/topics/software-development">Software Development</a> involves designing and developing different programs for use or to solve a problem</li>
<!-- /wp:list-item --></ul>
<p><!-- /wp:list -->

<!-- wp:list --></p>
<ul><!-- wp:list-item -->
<li>UI/UX designer &#8211;<a href="https://xd.adobe.com/ideas/process/ui-design/ui-vs-ux-design-understanding-similarities-and-differences/"> UI/UX </a>design involves designing user interfaces for software or hardware</li>
<!-- /wp:list-item --></ul>
<p><!-- /wp:list -->

<!-- wp:list --></p>
<ul><!-- wp:list-item -->
<li>Ethical hacking &#8211; <a href="https://www.techtarget.com/searchsecurity/definition/ethical-hacker">Ethical hacking</a> is a process of detecting vulnerabilities in a system</li>
<!-- /wp:list-item --></ul>
<p><!-- /wp:list -->

<!-- wp:list --></p>
<ul><!-- wp:list-item -->
<li>Digital media –<a href="https://online.maryville.edu/blog/what-is-digital-media/"> Digital media</a> involves all kinds of media works by using tools like Photoshop to create graphic objects</li>
<!-- /wp:list-item --></ul>
<p><!-- /wp:list -->

<!-- wp:heading --></p>
<h2>Sites to learn tech</h2>
<p><!-- /wp:heading -->

<!-- wp:paragraph --></p>
<p>One can opt to take tech as a career in college,</p>
<p><!-- /wp:paragraph -->

<!-- wp:paragraph --></p>
<p>but this doesn&#8217;t stop you from becoming one.</p>
<p><!-- /wp:paragraph -->

<!-- wp:paragraph --></p>
<p>There are several sites where you can learn tech, payable or free of charge</p>
<p><!-- /wp:paragraph -->

<!-- wp:paragraph --></p>
<p>Just to mention a few</p>
<p><!-- /wp:paragraph -->

<!-- wp:list --></p>
<ul><!-- wp:list-item -->
<li><a href="https://www.youtube.com/">youtube</a></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><a href="https://www.udemy.com/">udemy</a></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><a href="https://www.codecademy.com/">CodeAcademy</a></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><a href="https://www.freecodecamp.org/">FreeCodeCamp</a></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><a href="https://www.w3schools.com/">W3School</a></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><a href="https://www.hackerrank.com/">HackerRank</a></li>
<!-- /wp:list-item --></ul>
<p><!-- /wp:list -->

<!-- wp:heading --></p>
<h2>How to keep yourself with the current tech trends</h2>
<ul><!-- wp:list-item -->
<li>Attend tech events around you</li>
<!-- /wp:list-item --></ul>
<p><!-- /wp:heading -->

<!-- wp:list --></p>
<ul><!-- wp:list-item -->
<li>Follow up on tech industry leaders and get to listen what they say</li>
<!-- /wp:list-item --></ul>
<p><!-- /wp:list -->

<!-- wp:list --></p>
<ul><!-- wp:list-item -->
<li>Follow up on blogs related to technology</li>
<!-- /wp:list-item --></ul>
<p><!-- /wp:list -->

<!-- wp:list --></p>
<ul><!-- wp:list-item -->
<li>Engage your self with tech peers and forums</li>
<!-- /wp:list-item --></ul>
<p><!-- /wp:list -->

<!-- wp:list --></p>
<ul><!-- wp:list-item -->
<li>Listen to tech related podcasts</li>
<!-- /wp:list-item --></ul>
<p><!-- /wp:list -->

<!-- wp:list --></p>
<ul><!-- wp:list-item -->
<li>Subscribe to tech related e Newsletters</li>
<!-- /wp:list-item --></ul>
<p><!-- /wp:list -->

<!-- wp:list --></p>
<ul><!-- wp:list-item -->
<li>Join groups and communities related to tech</li>
<!-- /wp:list-item --></ul>
<p>Thank for making it up-to this point you can also check on <em><strong>the tech skills on demand</strong> </em><a href="http://isoftke.co.ke/demo/tech-skills-on-demand/">here</a></p>
<!-- /wp:list -->

<!-- wp:columns -->
<div class="wp-block-columns"><!-- wp:column {"width":"100%"} -->
<div class="wp-block-column"><!-- wp:heading --></div>
</div>
<p>&nbsp;</p>
<!-- /wp:list -->

<!-- wp:paragraph --><!-- /wp:paragraph --><!-- /wp:post-content --><p>The post <a href="https://isoftke.co.ke/getting-started-in-tech/">Getting started in tech industry in 2023</a> appeared first on <a href="https://isoftke.co.ke">Isoftke Software Solutions</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to motivate yourself as a developer</title>
		<link>https://isoftke.co.ke/how-to-motivate-yourself-as-a-developer/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Wed, 16 Nov 2022 09:11:34 +0000</pubDate>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[programming]]></category>
		<guid isPermaLink="false">http://isoftke.co.ke/demo/?p=7810</guid>

					<description><![CDATA[<p>How to motivate yourself as a developer Lack of self motivation is a major issue that affect most people morose when doing a task but seeing no light at the end since there is no progress at all. Our day to day goals are met when we motivate our self to work for them. Have [&#8230;]</p>
<p>The post <a href="https://isoftke.co.ke/how-to-motivate-yourself-as-a-developer/">How to motivate yourself as a developer</a> appeared first on <a href="https://isoftke.co.ke">Isoftke Software Solutions</a>.</p>
]]></description>
										<content:encoded><![CDATA[<strong>How to motivate yourself as a developer</strong>
<p id="block-29ec2812-f9ed-4aae-98c8-697b909ff3a0">Lack of self motivation is a major issue that affect most people</p><p id="block-dcaed498-81a3-4d45-aab7-e8db91966576">morose when doing a task but seeing no light at the end since there is no progress at all.</p><p id="block-8770a6fc-dd3f-4b2e-87bf-68ebc539bcf6">Our day to day goals are met when we motivate our self to work for them.</p><p id="block-32454dab-2242-4eb8-83bb-5f31d85230c5">Have you ever made some errors in your work and regretted later?</p><p id="block-be371612-fd28-49f1-aaca-3b8da1f066ed">Have the errors deterred you from moving forward?</p><p id="block-ff277f1b-cf7b-411b-87e0-433bd85ce44b">Lack of motivation makes a developer to give up on the way since they see no visible result on what they are doing, the threshold of all is we all want to see our self-moving a step ahead.</p><p id="block-2a319ae0-629a-4fe5-a651-56b9d001a4d0"> I remember attending a boot camp and some senior developers would always motivate me</p><p id="block-9d26d9c8-7a2e-453b-ba36-42aa1a9effd4">and that’s the reason I am writing this article,</p><p id="block-3903d70b-8447-4a80-8f24-92eafa9fcaa3">I did project but all ended up on my local host with no one to review or make a comment,</p><p id="block-39d158e9-9d8c-4733-8ff7-89535546ffe4">I almost gave up on programming not until I made an attempt to attend one of the boot camps and meet my other developers from the different locations on one on one coaching.</p><p id="block-4216a36e-2f5e-4503-a0b7-0db513994658">Apart from assessing yourself and making goals for yourself,</p><p id="block-742a4153-ecc2-4833-8a78-ce0b8e6df169">there other external factors you should put into considerations and these are:</p><h2 class="wp-block-heading" id="block-d774fcb8-af33-48f5-b762-9cfbfebdd91c">1. <strong>Always work as a team</strong> –</h2><p id="block-433c337e-e6d4-4153-b583-637021c49e36">Find some time and team to build up project and share your knowledge to minimize the level of loneliness</p><p id="block-3dbaf884-59b6-4f82-b8a7-8af17861b19a">They say unity is strength and yes indeed it is strength, relieve yourself from boredom and get to work with your peers sharing knowledge to broaden your skills</p><h2 class="wp-block-heading" id="block-ae6ad793-4590-49c5-92aa-8ef94b84a002">2<strong>. Attend</strong></h2><p id="block-c6b81a77-3959-431d-9892-bc7dbf1410cc">any boot camp and ask your senior developers question or clarifications- there in you can find some mentors to help you.</p><p id="block-c127a94f-6390-4bb6-880c-cf635fbea6af">Find time and attend any tech related event to network with your fellows, Learn how different stacks work and how different problems are solved using programming, this will help you gauge your knowledge and capacity.</p><h2 class="wp-block-heading" id="block-765f0f1c-3424-460f-8dcb-1a3e0c95235a">3. <strong>Read blogs</strong></h2><p id="block-9eea91f5-40b8-4262-b28b-64961d75512c">and motivations from your fellow developers</p><p id="block-c37f1bbc-c821-4507-a1d5-60fe0031ed80">Reading<a href="http://isoftke.co.ke/demo/tech-skills-on-demand/"> blogs</a> motivate you to work harder finding how different developer take it through and make it through this journey in tech , Finding some encouragements to keep on learning</p><h2 class="wp-block-heading" id="block-129d8ae6-5770-4ded-b179-4eba9344849d">4. <strong>Find</strong></h2><p id="block-ca51c478-d850-4f21-b878-4112303a28aa"> what other developers say – maybe on you tube talks and shows</p><p id="block-e579cf49-cb9d-4c9f-9af3-363a706e72c6">Some programmers document their programming journey in video forms, this is important to an upcoming developer who is stuck and stranded, this will give you the motivation to keep on working for the goal.</p><h2 class="wp-block-heading" id="block-e5fdead2-e92c-4584-91b2-e6f6bb96a850">5. <strong>Try</strong></h2><p id="block-199df073-7d4b-40b4-91a1-b404c5f3aa1b"> and find a review of your code or project upon completion to see your progress</p><p id="block-06c3b3b2-8e2f-491e-ad00-29ed7d275bdc">Ask for reviews maybe on open source platforms such as git hub and your senior peers they will review your program and tell you to correct where necessary, try and contribute to open source platform such as git hub this helps in broadening your knowledge as you will be sharing with your peers.</p><h2 class="wp-block-heading" id="block-49bbfe33-b010-4375-9bd7-e3c93f51b0cb">6<strong>. Try </strong></h2><p id="block-3dc1227d-951f-4fd3-8733-449101635bc2">and attend some tech talks and get to feel how the world is</p><p id="block-7fe17eb3-ff27-441d-b285-ad9c6651ac15">Find out what is going on in the world by attending these events, this will keep you in shape with the current state in tech and the current trends.</p><p id="block-a94083f0-05e7-405b-b562-a1403bfa3e48"></p><p id="block-37ddb936-8217-406f-8796-7c8137d4519f"></p><p>The post <a href="https://isoftke.co.ke/how-to-motivate-yourself-as-a-developer/">How to motivate yourself as a developer</a> appeared first on <a href="https://isoftke.co.ke">Isoftke Software Solutions</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Path to being a full stack developer</title>
		<link>https://isoftke.co.ke/path-to-being-a-full-stack-developer/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Wed, 16 Nov 2022 07:25:39 +0000</pubDate>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[programming]]></category>
		<guid isPermaLink="false">http://isoftke.co.ke/demo/?p=7801</guid>

					<description><![CDATA[<p>what is the correct path to being a full stack developer? In our previous tutorial we built a complete Mern Stack application, to let you know that was just but the onset of our full stack application development journey. Now who is a full stack developer? A full stack developer is someone who specializes in [&#8230;]</p>
<p>The post <a href="https://isoftke.co.ke/path-to-being-a-full-stack-developer/">Path to being a full stack developer</a> appeared first on <a href="https://isoftke.co.ke">Isoftke Software Solutions</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p></p>
<p>what is the correct path to being a full stack developer?</p>
<p></p>
<p>In our previous <a href="http://isoftke.co.ke/demo/what-is-a-mern-stack-application/">tutorial</a> we built a complete Mern Stack application, to let you know that was just but the onset of our full stack application development journey.</p>
<p></p>
<p><strong>Now who is a full stack developer?</strong></p>
<p></p>
<p>A full stack developer is someone who specializes in building both the front end and and back end of a software.</p>
<p></p>
<p>He/she is competent in technologies used in building the front end and back end of a software.</p>
<p></p>
<p>Now having a brief definition of the term full stack lets now jump into the topic</p>
<p></p>
<p><strong>Path to being a full stack web developer</strong></p>
<p></p>
<p>First of all lets begin by understanding what web development is</p>
<p></p>
<p>Over the years web development has been one of the top tech <a href="http://isoftke.co.ke/demo/tech-skills-on-demand/">skills </a>in demand</p>
<p></p>
<p>Web development involves developing websites for the world wide web</p>
<p></p>
<p>It involves building applications to work over the internet</p>
<p></p>
<blockquote class="wp-block-quote"><p>A website is a set of related web pages located under a single domain name, typically produced by a single person or organization.</p>

<p>&nbsp;</p><cite>dictionary definition</cite></blockquote>
<p></p>
<p>We are going to divide this section into four parts namely</p>
<p></p>
<ul class="wp-block-list"><li>front end</li>

<li>back end</li>

<li>database</li>

<li>Version Control</li></ul>
<p></p>
<blockquote class="wp-block-quote"><p>With some consistency and patience you&#8217;ll eventually make it</p><cite>consistency</cite></blockquote>
<p></p>
<p>Lets begin</p>
<p></p>
<h2 class="wp-block-heading">Front end road map</h2>
<p></p>
<p>The front end development involves building user interfaces for users</p>
<p></p>
<p>In other words it means the client side development</p>
<p></p>
<p>It involves building user interfaces that users will be interacting with the application.</p>
<p></p>
<p><em><strong><mark class="has-inline-color has-vivid-red-color"><code>LEARN</code></mark></strong></em></p>
<p></p>
<h3 class="wp-block-heading">1. HTML</h3>
<p></p>
<p><strong>HTML</strong> stands for <strong>Hyper Text Markup Language</strong> used to build the skeleton structure of a website i.e the texts,images,buttons</p>
<p></p>
<h3 class="wp-block-heading">2. CSS</h3>
<p></p>
<p>CSS stands for <em>Cascading Style Sheets</em> it is used to describe how the html elements are going to be displayed in the web page i.e the color,font size,font type.</p>
<p></p>
<h3 class="wp-block-heading">3. CSS FRAMEWORKS</h3>
<p></p>
<p>These are libraries used to simplify the web development process since they contain ready made and ready to use CSS features.</p>
<p></p>
<h3 class="wp-block-heading">4. JAVA SCRIPT</h3>
<p></p>
<p>JavaScript is a programming language used in front end development alongside HTML and CSS to make the web pages more interactive i.e motions,alerts,pop up messages</p>
<p></p>
<h3 class="wp-block-heading">5. DOM</h3>
<p></p>
<p>DOM stand for Document Object Model</p>
<p></p>
<p>The DOM defines a standard for accessing documents and their manipulation i.e changing the style of an html element</p>
<p></p>
<h3 class="wp-block-heading">6. REACT</h3>
<p></p>
<p>Is a JavaScript library that allows the development of user interfaces for websites applications.</p>
<p></p>
<p>Reacts makes the development process easier since the web is divided into independent reusable components hence there is no need to rewrite a component in case it is needed.</p>
<p></p>
<h2 class="wp-block-heading">Back end road map</h2>
<p></p>
<p>The back end developer involves in creating of the software logic.</p>
<p></p>
<p>In a software the logic represents how data is processed</p>
<p></p>
<p>This is the program flow of how data will be processed from the data base to the user in the user interface,</p>
<p></p>
<p>it represents the working of data in a program and how the program components inter coordinate with each other</p>
<p></p>
<p><strong><code><mark class="has-inline-color has-vivid-red-color"><em>LEARN</em></mark></code></strong></p>
<p></p>
<h3 class="wp-block-heading">1. Node</h3>
<p></p>
<p>Is an open source JavaScript runtime environment that allows users to run code on server</p>
<p></p>
<h3 class="wp-block-heading">2. Express</h3>
<p></p>
<p>Is a nodeJS framework that makes the writing of nodeJS simpler and easier</p>
<p></p>
<h2 class="wp-block-heading">Database</h2>
<p></p>
<p>This is an interface of organised collections for storing data for easier re-trivial,</p>
<p></p>
<p>The organisation of data in the database comprises of</p>
<p></p>
<ul class="wp-block-list"><li>rows</li>

<li>columns</li>

<li>These rows and columns forms different tables for easier querying and re trivial</li></ul>
<p></p>
<p><strong><em><mark class="has-inline-color has-vivid-red-color"><code>LEARN</code></mark></em></strong></p>
<p></p>
<h3 class="wp-block-heading">1. MongoDb</h3>
<p></p>
<p>Is a noSQL database that stores data in form of documents that allows users to create databases,schemas and tables</p>
<p></p>
<h2 class="wp-block-heading">Version Control</h2>
<p></p>
<p>Version Control involves tracking and recording changes in a software</p>
<p></p>
<p>Different programs have different versions hence it is easier to track changes made in them in each version</p>
<p></p>
<p><strong><em><mark class="has-inline-color has-vivid-red-color"><code>LEARN</code></mark></em></strong></p>
<p></p>
<h3 class="wp-block-heading">1. Git and Git hub</h3>
<p></p>
<p>Git is software for tracking changes in any set of files and <em>GitHub</em> is a web based code hosting platform for version control and collaboration.</p>
<p></p>
<p>with version control you can easily track and update your files.</p>
<p></p>
<p><em><strong>additional comments</strong></em></p>
<p></p>
<p>That&#8217;s the path to being a full stack web developer</p>
<p></p>
<p>Additionally you can learn about cloud development and CI/CD pipelines, <strong><code><mark class="has-inline-color has-vivid-red-color">explore more </mark></code></strong><a href="https://www.freecodecamp.org/">here</a></p>
<p></p>
<p>Thanks for making it up to this point success</p>
<p></p><p>The post <a href="https://isoftke.co.ke/path-to-being-a-full-stack-developer/">Path to being a full stack developer</a> appeared first on <a href="https://isoftke.co.ke">Isoftke Software Solutions</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to use controllers in node and express</title>
		<link>https://isoftke.co.ke/how-to-use-controllers-in-node-and-express/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 15 Nov 2022 10:22:41 +0000</pubDate>
				<category><![CDATA[programming]]></category>
		<guid isPermaLink="false">http://isoftke.co.ke/demo/?p=7789</guid>

					<description><![CDATA[<p>How to use controllers in node and expressHey guys what&#8217;s up hoping that all is well.Today we are going to use controllers in building our REST API in node and express.We are going to build a server-less api and so there is no need of using a database controllers A controller contains functions of a [&#8230;]</p>
<p>The post <a href="https://isoftke.co.ke/how-to-use-controllers-in-node-and-express/">How to use controllers in node and express</a> appeared first on <a href="https://isoftke.co.ke">Isoftke Software Solutions</a>.</p>
]]></description>
										<content:encoded><![CDATA[<strong>How to use controllers in node and express</strong>Hey guys what&#8217;s up hoping that all is well.Today we are going to use controllers in building our <a href="http://isoftke.co.ke/demo/nodeexpress-and-mongodb-rest-api/">REST API</a> in node and express.We are going to build a server-less api and so there is no need of using a database<h3 class="wp-block-heading">controllers</h3>A controller contains functions of a particular route it controls how the requests are made to and fro the applicationIn the <a href="http://isoftke.co.ke/demo/nodeexpress-and-mongodb-rest-api/">rest-api</a> application we made <a href="http://isoftke.co.ke/demo/building-a-simple-rest-api-in-node-and-express/">here </a>we made all our functions in onside the route files but today we are going to separate the functions in a separate file.<h3 class="wp-block-heading">Pre-requisites</h3><ol class="wp-block-list"><li>NodeJS</li> <li>Command Line</li> <li>Postman</li> <li>Code editor</li></ol><strong>Step one</strong>Navigate to one of your favorite folder using the <a href="http://isoftke.co.ke/demo/getting-started-with-the-command-line/">command line </a>and make a directory named <strong>node_controller</strong>Then navigate to the folder created<pre class="wp-block-code"><code>ian@IanoTech:~$ cd Documents/REACT
ian@IanoTech:~/Documents/REACT$ mkdir node_controller
ian@IanoTech:~/Documents/REACT$ cd node_controller
ian@IanoTech:~/Documents/REACT/node_controller$ </code></pre>Initialize your node app<pre class="wp-block-code"><code>npm init -y</code></pre><pre class="wp-block-code"><code>ian@IanoTech:~/Documents/REACT/node_controller$ npm init -y
Wrote to /home/ian/Documents/REACT/node_controller/package.json:

{
  "name": "node_controller",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" &amp;&amp; exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}</code></pre>Now lets make four files named<ul class="wp-block-list"><li>route.js</li> <li>controller.js</li> <li>server.js</li> <li>data.json</li></ul><pre class="wp-block-code"><code>ian@IanoTech:~/Documents/REACT/node_controller$ touch server.js
ian@IanoTech:~/Documents/REACT/node_controller$ touch data.json
ian@IanoTech:~/Documents/REACT/node_controller$ touch controller.js
ian@IanoTech:~/Documents/REACT/node_controller$ touch route.js</code></pre><h3 class="wp-block-heading">Data.json</h3>This file will hold our data since we are not going to use a databasewe going to use simple json data for students informationUsing your favorite code editor open the folder created and then head over to data.json fileIn the data.json file add<pre class="wp-block-code"><code>[

{
	"id":"1",
	"name":"ian onyango",
	"admision":"CS0001017"
},
{
	"id":"2",
	"name":"Kate Wambui",
	"admision":"CS0451017"
},
{
	"id":"3",
	"name":"Kelly James",
	"admision":"CS03441017"
},
{
	"id":"4",
	"name":"Victoria Rame",
	"admision":"CS1241017"
},
{
	"id":"5",
	"name":"Roy Royega",
	"admision":"CS2131017"
}

]</code></pre><h3 class="wp-block-heading">Server.js</h3>This file contains all our end points.first install express then import it in the file as shown below then define the port as 4000.<pre class="wp-block-code"><code>npm i express</code></pre>add the lines of codes below<pre class="wp-block-code"><code>const express = require('express')
const app = express()


app.use(express.json())


const port =  4000
app.listen(port, ()=&gt; console.log(`running on port ${port}`))</code></pre><h3 class="wp-block-heading">Controller.js</h3>This file contains all the functions that the app is going to useit contains all the user defined functions and requestsImport the <strong>data.json</strong> file as shown below<pre class="wp-block-code"><code>const students = require('./data')</code></pre>Then define our getAll function to get all our data in json format then export the functions to be used<pre class="wp-block-code"><code>const students = require('./data')

const getAll = (req,res, next)=&gt;{
	res.json(students)

}

module.exports ={ getAll}</code></pre><h3 class="wp-block-heading">routes.js</h3>In this file we are only going to define our endpoint routes and methodsfirst lets import the Router and express<pre class="wp-block-code"><code>const router = require('express').Router()</code></pre>Then import our controller function<pre class="wp-block-code"><code>const studentsController = require('./controller')</code></pre>Then define our route method as <strong>get </strong>for the function imported as shown<pre class="wp-block-code"><code>router.get('/students', studentsController.getAll)</code></pre>Final file<pre class="wp-block-code"><code>const router = require('express').Router()
const studentsController = require('./controller')

router.get('/students', studentsController.getAll)

module.exports= router</code></pre>import the route file in the server.js file the use it as a middle-ware as shownadd these lines to server.js file<pre class="wp-block-code"><code>const studentsRoute = require('./route')

app.use('/', studentsRoute)</code></pre>now run the application using the command <strong><em>node server.js</em></strong> and test using postmanin the postman run <strong><em>localhost:4000/students</em></strong> to get all the data in the data.json file displayed

<img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7790 aligncenter" src="http://isoftke.co.ke/demo/wp-content/uploads/2022/11/Screenshot-from-2022-07-11-20-37-06-300x172.png" alt="" width="300" height="172" /><figure class="wp-block-image size-large"><img decoding="async" class="wp-image-1413" src="https://onyangoian.com/wp-content/uploads/2022/07/Screenshot-from-2022-07-11-20-37-06-1024x587.png" alt="" /><figcaption class="wp-element-caption">postman display image</figcaption></figure>Good our application is running wellLets get to the<strong> post </strong>methodIn the controller.js function add the lines below just after the getAll function<pre class="wp-block-code"><code>const newStudent =  (req,res,next)=&gt;{
	const student = {
        id: students.length + 1,
        name : req.body.name,
        admision: req.body.admision
    };
    students.push(student)
    res.send(students)
}</code></pre>First we must define new student as an object since we are taking many entities from itthe <strong>req.body </strong>will take the input from our api then after we push the resultsthen use the send method for the results to be visible on the postman interfaceafter that we export the function just after the getAll function add <em><strong>newStudent</strong></em> functionyour file should look like this<pre class="wp-block-code"><code>const students = require('./data')

const getAll = (req,res, next)=&gt;{
	res.json(students)

}
const newStudent =  (req,res,next)=&gt;{
	const student = {
        id: students.length + 1,
        name : req.body.name,
        admision: req.body.admision
    };
    students.push(student)
    res.send(students)
}
module.exports ={ getAll, newStudent}</code></pre>Then in our router.js file we only need one line of codethis line of code will contain our method for our newStudent function and our routeour method here is post and our route is<strong><em> &#8216;/new&#8217; </em></strong><pre class="wp-block-code"><code>router.post('/new', studentsController.newStudent)</code></pre>your final route.js file should look like this<pre class="wp-block-code"><code>const router = require('express').Router()
const studentsController = require('./controller')

router.get('/students', studentsController.getAll)
router.post('/new', studentsController.newStudent)


module.exports= router</code></pre>Test your application on postman by adding new user using <strong><em>localhost:4000/new </em></strong>end pointUse the <strong><em>name </em></strong>and <strong><em>admision </em></strong>fields only the id has already been taken care of<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7791" src="http://isoftke.co.ke/demo/wp-content/uploads/2022/11/Screenshot-from-2022-07-11-20-54-52-300x172.png" alt="" width="300" height="172" /> <img loading="lazy" decoding="async" class="alignnone size-medium wp-image-7792" src="http://isoftke.co.ke/demo/wp-content/uploads/2022/11/Screenshot-from-2022-07-11-20-54-42-300x172.png" alt="" width="300" height="172" /></figure>your final server.js file should look like<pre class="wp-block-code"><code>const express = require('express')
const app = express()
const studentsRoute = require('./route')


app.use(express.json())
app.use('/', studentsRoute)

const port =  4000

app.listen(port, ()=&gt; console.log(`running on port ${port}`))</code></pre>Thanks for making it up to this point.<p>The post <a href="https://isoftke.co.ke/how-to-use-controllers-in-node-and-express/">How to use controllers in node and express</a> appeared first on <a href="https://isoftke.co.ke">Isoftke Software Solutions</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
