<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: david osukwu</title>
    <description>The latest articles on DEV Community by david osukwu (@david_osukwu_61bb63f10239).</description>
    <link>https://dev.to/david_osukwu_61bb63f10239</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4102788%2F08a9e42f-6cb9-4e23-bd3a-16180082e01b.png</url>
      <title>DEV Community: david osukwu</title>
      <link>https://dev.to/david_osukwu_61bb63f10239</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/david_osukwu_61bb63f10239"/>
    <language>en</language>
    <item>
      <title>CYBER SECURITY EDUCATION AND ONLINE SAFETY</title>
      <dc:creator>david osukwu</dc:creator>
      <pubDate>Sun, 06 Sep 2026 15:22:18 +0000</pubDate>
      <link>https://dev.to/david_osukwu_61bb63f10239/cyber-security-education-and-online-safety-2dc3</link>
      <guid>https://dev.to/david_osukwu_61bb63f10239/cyber-security-education-and-online-safety-2dc3</guid>
      <description>&lt;p&gt;&lt;strong&gt;Inside Cybersecurity: An Interview with an &lt;a href="https://www.instagram.com/early_code_tech/" rel="noopener noreferrer"&gt;Early Code Institute&lt;/a&gt; Cyber security Instructor.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;_&lt;/strong&gt;INTRODUCTION &lt;br&gt;
*&lt;em&gt;_&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
Cybersecurity has become an increasingly important part of our digital lives. As more people use the internet for communication, banking, shopping, education, business, and other everyday activities, the need to protect personal information and digital systems continues to grow.&lt;/p&gt;

&lt;p&gt;As part of my internship experience at Early Code Institute, I had the opportunity to interview a cybersecurity instructor to learn more about the field, the skills beginners need, common cyber threats, career opportunities, and the future of cybersecurity in Nigeria.&lt;/p&gt;

&lt;p&gt;In this interview, Miss Perceptual Anyaogu, a cybersecurity instructor at Early Code Institute, shared practical advice for students and anyone interested in beginning a career in cybersecurity.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;MEET THE INTERVIEWEE &lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
Miss Perceptual is a cybersecurity instructor at Early Code Institute. Her interest in cybersecurity developed from a desire to understand cyberspace better and learn how to protect personal and digital information.&lt;/p&gt;

&lt;p&gt;During our conversation, she explained the importance of cybersecurity and offered practical advice based on her experience teaching beginners.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What Inspired You to Pursue Cybersecurity?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When asked what inspired her to pursue cybersecurity, she explained that she wanted to understand cyberspace better and learn how to protect her digital and personal information.&lt;/p&gt;

&lt;p&gt;Her motivation highlights an important aspect of cybersecurity: understanding how digital systems work is not only useful for professionals but also helps individuals protect themselves online.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;What Exactly Is Cybersecurity and Why Is It Important?&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
According to Miss Perceptual, cybersecurity involves protecting networks, computers, and digital information from cyber attacks.&lt;/p&gt;

&lt;p&gt;She emphasized that cybersecurity is particularly important today because much of our everyday lives take place online. People shop online, work online, conduct businesses online, communicate through digital platforms, and store personal information electronically.&lt;/p&gt;

&lt;p&gt;As a result, internet users need to understand how to protect their digital spaces from malicious activities and unauthorized access.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Why Should Young People Learn Cybersecurity?&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
Miss Perceptual believes cybersecurity is one of the core skills young people should develop in today's digital world.&lt;/p&gt;

&lt;p&gt;Because so many activities now take place online, understanding cybersecurity can help young people protect themselves while also opening the door to professional opportunities.&lt;/p&gt;

&lt;p&gt;For students interested in technology, cybersecurity can therefore be both a practical life skill and a potential career path.&lt;/p&gt;

&lt;p&gt;_&lt;strong&gt;Common Cybersecurity Threats&lt;br&gt;
_&lt;/strong&gt;&lt;br&gt;
One of the major topics we discussed was the types of cyber threats people commonly encounter.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Phishing&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Phishing involves attempts to deceive people into clicking malicious links or providing sensitive information. A person may receive an email or message that appears legitimate but actually leads to a malicious website.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Social Engineering&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
She also discussed social engineering, where attackers manipulate people psychologically to obtain personal or confidential information.&lt;/p&gt;

&lt;p&gt;The attacker may say or do things that create trust, fear, or urgency, causing the victim to reveal information or take an unsafe action.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Vishing and Urgency-Based Attacks&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
Another threat she mentioned involves fraudulent voice calls in which attackers pressure victims to take immediate action.&lt;/p&gt;

&lt;p&gt;A common warning sign is urgency.&lt;/p&gt;

&lt;p&gt;For example, an attacker may tell you that you must click a link immediately or something bad will happen.&lt;/p&gt;

&lt;p&gt;Her advice was simple: pause, read, and verify before taking action.&lt;/p&gt;

&lt;p&gt;Instead of responding immediately to a suspicious request, users should check whether the website, message, phone number, or request is legitimate.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;What Skills Are Important for a Cybersecurity Professional?&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
For beginners, Miss Perceptual recommends starting with basic computer skills.&lt;/p&gt;

&lt;p&gt;You don't necessarily need to be an advanced computer user before beginning cybersecurity training. You should first understand how to navigate and use a computer comfortably.&lt;/p&gt;

&lt;p&gt;From there, you can gradually develop more advanced technical skills.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;What Should Beginners Learn First?&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
One of the tools she highlighted was Kali Linux, an operating system widely used in cybersecurity and penetration-testing environments.&lt;/p&gt;

&lt;p&gt;She also recommended Python as an important programming language for beginners.&lt;/p&gt;

&lt;p&gt;Python is considered relatively beginner-friendly and is useful across many areas of technology, including cybersecurity.&lt;/p&gt;

&lt;p&gt;Her message was that beginners should start with the fundamentals and gradually build their knowledge instead of trying to learn everything at once.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;How Are Cybersecurity Skills Taught to Beginners?&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
Miss Perceptual explained that she begins by introducing students to important cybersecurity terms and concepts.&lt;/p&gt;

&lt;p&gt;For example, before asking students to use Kali Linux, she explains what Kali Linux is and what it is used for.&lt;/p&gt;

&lt;p&gt;This approach helps students understand why they are performing a particular task rather than simply following instructions.&lt;/p&gt;

&lt;p&gt;She believes understanding the concepts first makes it easier for students to develop practical technical skills.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Challenges Students Face When Learning Cybersecurity&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
According to her, one of the biggest challenges beginners face is their perception that programming—particularly Python—is difficult.&lt;/p&gt;

&lt;p&gt;Some students also initially believe that vulnerability testing and other cybersecurity exercises are too complicated.&lt;/p&gt;

&lt;p&gt;However, once the instructor guides them through the process step by step, many students discover that the tasks are more manageable than they initially thought.&lt;/p&gt;

&lt;p&gt;This demonstrates the importance of patience and practical learning when entering a technical field.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Common Password Mistakes&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
Another important part of the interview focused on password security.&lt;/p&gt;

&lt;p&gt;Miss Perceptual pointed out that some people still use weak passwords such as "password1234" or similar predictable combinations.&lt;/p&gt;

&lt;p&gt;Another common mistake is using the same password across multiple accounts.&lt;/p&gt;

&lt;p&gt;This can be particularly dangerous because if one account is compromised, an attacker may attempt to use the same credentials to access other accounts.&lt;/p&gt;

&lt;p&gt;She recommended using strong passphrases, avoiding password reuse, and considering tools such as password managers and authentication methods.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;How Is Artificial Intelligence Affecting Cybersecurity?&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
When asked about artificial intelligence, she explained that she sees AI more as a tool that can assist people who already have cybersecurity knowledge rather than something that should replace the learning process.&lt;/p&gt;

&lt;p&gt;In her teaching approach, she encourages students to first develop their own understanding and practical skills.&lt;/p&gt;

&lt;p&gt;Once they have established those fundamentals, AI can become a useful tool for applying and extending their knowledge.&lt;/p&gt;

&lt;p&gt;This highlights an important lesson for students: learn the fundamentals before depending on AI.&lt;/p&gt;

&lt;p&gt;Can Someone Without a Technology Background Learn Cybersecurity?&lt;/p&gt;

&lt;p&gt;Her answer was straightforward: yes.&lt;/p&gt;

&lt;p&gt;A person does not necessarily need an existing technology background to begin learning cybersecurity.&lt;/p&gt;

&lt;p&gt;What matters is being willing to start with the basics, practise consistently, and gradually build technical knowledge.&lt;/p&gt;

&lt;p&gt;This makes cybersecurity accessible to students and career changers who are willing to learn.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Career Opportunities in Cybersecurity&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
Cybersecurity offers a wide range of career opportunities.&lt;/p&gt;

&lt;p&gt;Miss Perceptual mentioned several areas, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Security Operations Centre (SOC) Analyst&lt;/li&gt;
&lt;li&gt;Ethical Hacker&lt;/li&gt;
&lt;li&gt;Penetration Tester&lt;/li&gt;
&lt;li&gt;Governance, Risk and Compliance (GRC)&lt;/li&gt;
&lt;li&gt;Networking&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are only some of the possible directions within the cybersecurity field.&lt;/p&gt;

&lt;p&gt;The variety of roles means that students can eventually explore different areas depending on their interests and strengths.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Advice for Aspiring Cybersecurity Professionals&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
One of the strongest messages from the interview was:&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;"Slow and steady."&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
Miss Perceptual advised beginners not to rush through the fundamentals simply because they want to become ethical hackers or enter an advanced cybersecurity role immediately.&lt;/p&gt;

&lt;p&gt;Instead, students should learn the basics properly and progress gradually.&lt;/p&gt;

&lt;p&gt;She also emphasized the importance of continuous learning.&lt;/p&gt;

&lt;p&gt;Cybersecurity changes constantly. New technologies, vulnerabilities, attack methods, and tools emerge regularly.&lt;/p&gt;

&lt;p&gt;Therefore, learning should not stop after acquiring one skill.&lt;/p&gt;

&lt;p&gt;Her advice was essentially: keep learning and never stop improving.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;The Most Important Cybersecurity Lesson for Every Internet User&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
One of the most practical lessons from the interview was to be careful about the links we click.&lt;/p&gt;

&lt;p&gt;Miss Perceptual advised internet users not to click every URL they receive without checking it first.&lt;/p&gt;

&lt;p&gt;A website may appear legitimate because it contains the name of a familiar company, but the actual domain or URL may be different.&lt;/p&gt;

&lt;p&gt;For example, an attacker could create a malicious address that looks similar to a legitimate website at first glance.&lt;/p&gt;

&lt;p&gt;Therefore, users should slow down, examine the URL carefully, and confirm that they are visiting the genuine website before entering sensitive information.&lt;/p&gt;

&lt;p&gt;The key lesson is simple:&lt;/p&gt;

&lt;p&gt;Think before you click.&lt;/p&gt;

&lt;p&gt;A single careless action can potentially compromise accounts, personal information, or other digital assets.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Ethical Hacking vs. Illegal Hacking&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
We also discussed the difference between ethical hacking and illegal hacking.&lt;/p&gt;

&lt;p&gt;The major difference is permission.&lt;/p&gt;

&lt;p&gt;Ethical hackers have authorization from an organization or system owner to test systems for vulnerabilities.&lt;/p&gt;

&lt;p&gt;Organizations may hire ethical hackers or penetration testers to identify weaknesses in their systems so that those weaknesses can be fixed.&lt;/p&gt;

&lt;p&gt;Illegal or unethical hacking, on the other hand, involves accessing systems or information without permission.&lt;/p&gt;

&lt;p&gt;The attacker's intention may include stealing money, accessing confidential files, compromising accounts, or causing other harm.&lt;/p&gt;

&lt;p&gt;Therefore, ethical hacking is performed within an authorized scope, while unauthorized hacking violates the rights and security of the system owner.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;The Future of Cybersecurity in Nigeria&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
Miss Perceptual expressed optimism about the future of cybersecurity in Nigeria.&lt;/p&gt;

&lt;p&gt;She believes there is significant potential for growth, particularly in terms of employment opportunities and educating people about how to protect themselves online.&lt;/p&gt;

&lt;p&gt;However, she emphasized that people need to take the time to learn cybersecurity properly and progress step by step.&lt;/p&gt;

&lt;p&gt;As Nigeria's digital economy continues to develop, cybersecurity knowledge will become increasingly valuable to individuals, businesses, and organizations.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Why Practical Training Matters&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
One of the most important lessons I took from the interview was the difference between simply learning cybersecurity theory and gaining practical experience.&lt;/p&gt;

&lt;p&gt;Miss Perceptual explained that theoretical knowledge gives students an understanding of concepts, but practical training allows them to actually apply what they have learned.&lt;/p&gt;

&lt;p&gt;Hands-on exercises can make lessons easier to remember because students are actively performing the tasks rather than simply memorizing information.&lt;/p&gt;

&lt;p&gt;This is particularly important in cybersecurity because professionals need to know how to apply security concepts in real situations.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;My Key Takeaways&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
After conducting this interview, I learned several important lessons:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Cybersecurity is relevant to everyone, not only cybersecurity professionals.&lt;/li&gt;
&lt;li&gt;Beginners should start with the fundamentals rather than rushing into advanced topics.&lt;/li&gt;
&lt;li&gt;Python and Kali Linux can be valuable parts of a beginner's cybersecurity learning journey.&lt;/li&gt;
&lt;li&gt;Strong passwords and unique credentials are essential for protecting online accounts.&lt;/li&gt;
&lt;li&gt;Phishing and social engineering rely heavily on deception and urgency.&lt;/li&gt;
&lt;li&gt;Users should verify links before clicking them.&lt;/li&gt;
&lt;li&gt;Ethical hacking requires authorization and permission.&lt;/li&gt;
&lt;li&gt;Practical training is essential because it helps students apply and retain what they learn.&lt;/li&gt;
&lt;li&gt;Cybersecurity requires continuous learning because the technology and threat landscape constantly change.&lt;/li&gt;
&lt;li&gt;A person without a technology background can still build a career in cybersecurity by starting with the basics and progressing consistently.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;*&lt;em&gt;Conclusion&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
My interview with Miss Perceptual provided a practical perspective on cybersecurity beyond what can be learned from textbooks alone.&lt;/p&gt;

&lt;p&gt;One of the strongest messages I took away was that cybersecurity is a journey. Beginners should not be discouraged when technical concepts initially seem difficult. Instead, they should start with the basics, practise consistently, and continue learning.&lt;/p&gt;

&lt;p&gt;For everyday internet users, the interview also reinforced the importance of being security-conscious. From checking URLs to avoiding weak and reused passwords, small habits can make a significant difference in protecting our digital lives.&lt;/p&gt;

&lt;p&gt;For anyone considering a career in cybersecurity, the advice is clear:&lt;/p&gt;

&lt;p&gt;Start with the basics. Learn gradually. Practise what you learn. Stay curious. And never stop learning.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;About Early Code Institute&lt;br&gt;
__&lt;/strong&gt;&lt;br&gt;
Early Code Institute provides technology-focused training designed to equip learners with practical digital skills. Its training areas include cybersecurity and other technology disciplines.&lt;/p&gt;

&lt;p&gt;You can learn more about Early Code Institute on &lt;a href="https://www.instagram.com/early_code_tech/" rel="noopener noreferrer"&gt;Instagram&lt;/a&gt; &lt;/p&gt;

</description>
      <category>beginners</category>
      <category>career</category>
      <category>cybersecurity</category>
      <category>education</category>
    </item>
    <item>
      <title>HOW I BUILT MY FIRST MOBILE APP WITH REACT NATIVE AND EXPO</title>
      <dc:creator>david osukwu</dc:creator>
      <pubDate>Mon, 31 Aug 2026 13:28:19 +0000</pubDate>
      <link>https://dev.to/david_osukwu_61bb63f10239/how-i-built-my-first-mobile-app-with-react-native-and-expo-40gj</link>
      <guid>https://dev.to/david_osukwu_61bb63f10239/how-i-built-my-first-mobile-app-with-react-native-and-expo-40gj</guid>
      <description>&lt;p&gt;Building my first mobile application was both challenging and rewarding. As a tech intern learning mobile application development, I wanted to move beyond tutorials and create a project that could solve a real problem. That motivation led me to build DahveedCalc, a mobile application designed to help students calculate, track, and predict their academic performance.&lt;/p&gt;

&lt;p&gt;The app allows students to calculate their GPA, monitor their CGPA, save academic records, and predict future academic outcomes based on expected grades. In this article, I will share how I built my first mobile application using React Native and Expo, the technologies I used, the challenges I encountered, and the lessons I learned along the way.&lt;/p&gt;

&lt;p&gt;CHOOSING THE RIGHT TOOLS &lt;/p&gt;

&lt;p&gt;Before writing any code, I needed to decide which technologies to use for the project. I chose React Native because it allows developers to build mobile applications using JavaScript and React concepts while targeting both Android and iOS from a single codebase.&lt;/p&gt;

&lt;p&gt;To simplify the development process, I used Expo, a framework built around React Native. Expo made it easier to set up the project, run the application, manage development tools, and test the app on an Android emulator.&lt;/p&gt;

&lt;p&gt;For navigation, I used Expo Router, which helped me organise the different screens in the application. I also used Firebase for user authentication and Firestore for cloud data management. For locally storing academic records, I used AsyncStorage.&lt;/p&gt;

&lt;p&gt;THE MAIN TECHNOLOGIES BEHIND THE APPLICATION WERE:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;React Native&lt;/li&gt;
&lt;li&gt;Expo&lt;/li&gt;
&lt;li&gt;Expo Router&lt;/li&gt;
&lt;li&gt;JavaScript and TypeScript concepts&lt;/li&gt;
&lt;li&gt;Firebase Authentication&lt;/li&gt;
&lt;li&gt;Cloud Firestore&lt;/li&gt;
&lt;li&gt;AsyncStorage&lt;/li&gt;
&lt;li&gt;Android Studio and LDPlayer for testing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;THE IDEA BEHIND DahveedCalc&lt;/p&gt;

&lt;p&gt;The idea for the application came from a simple problem: many students calculate their GPA manually or use different tools for calculating and tracking their academic performance.&lt;/p&gt;

&lt;p&gt;I wanted to create an application that could bring these functions together in one place.&lt;/p&gt;

&lt;p&gt;THE APPLICATION INCLUDES THE FOLLOWING MAJOR FEATURES:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GPA calculation&lt;/li&gt;
&lt;li&gt;CGPA calculation&lt;/li&gt;
&lt;li&gt;GPA history&lt;/li&gt;
&lt;li&gt;CGPA prediction&lt;/li&gt;
&lt;li&gt;Target CGPA calculation&lt;/li&gt;
&lt;li&gt;User authentication&lt;/li&gt;
&lt;li&gt;Cloud-based user data management&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;My goal was to create an application with a simple and student-friendly interface that could make academic calculations easier.&lt;/p&gt;

&lt;p&gt;SETTING UP THE PROJECT &lt;/p&gt;

&lt;p&gt;The first step was creating the React Native project with Expo.&lt;/p&gt;

&lt;p&gt;Expo provided a straightforward development environment and allowed me to start building quickly without having to manually configure the entire Android or iOS development environment.&lt;/p&gt;

&lt;p&gt;After creating the project, I organised the application into multiple screens and routes. The main sections of the application included:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Home&lt;/li&gt;
&lt;li&gt;GPA Calculator&lt;/li&gt;
&lt;li&gt;CGPA Calculator&lt;/li&gt;
&lt;li&gt;History&lt;/li&gt;
&lt;li&gt;CGPA Predictor&lt;/li&gt;
&lt;li&gt;Authentication screens&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I used Expo Router to structure the navigation between these different sections.&lt;/p&gt;

&lt;p&gt;BUILDING THE GPA CALCULATOR &lt;/p&gt;

&lt;p&gt;The GPA Calculator was one of the first major features I developed.&lt;/p&gt;

&lt;p&gt;The user can add multiple courses and provide information such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Course code or title&lt;/li&gt;
&lt;li&gt;Credit unit&lt;/li&gt;
&lt;li&gt;Grade&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each grade is converted into a grade point. The application then calculates the total quality points and divides them by the total credit units.&lt;/p&gt;

&lt;p&gt;The basic GPA formula is:&lt;/p&gt;

&lt;p&gt;GPA = Total Quality Points ÷ Total Credit Units&lt;/p&gt;

&lt;p&gt;This was an important part of the application because I had to ensure that the calculations were accurate and that users could add or remove courses easily.&lt;/p&gt;

&lt;p&gt;I also added input validation to prevent errors such as calculating a GPA without adding courses or entering invalid credit units.&lt;/p&gt;

&lt;p&gt;ADDING GPA HISTORY &lt;/p&gt;

&lt;p&gt;After the GPA calculation was working, I wanted users to be able to save their academic results.&lt;/p&gt;

&lt;p&gt;I used AsyncStorage to store GPA records locally on the device.&lt;/p&gt;

&lt;p&gt;Each saved record contained information such as the GPA, courses, total credit units, and calculation details. The History screen then loads the saved records and displays them to the user.&lt;/p&gt;

&lt;p&gt;This feature helped transform the application from a simple calculator into a tool that could track academic performance over time.&lt;/p&gt;

&lt;p&gt;One important lesson I learned was that saving data is only useful if the application can also retrieve and use that data effectively. This led to the next major feature.&lt;/p&gt;

&lt;p&gt;CONNECTING GPA HISTORY TO THE CGPA CALCULATOR &lt;/p&gt;

&lt;p&gt;Initially, my CGPA screen used hard-coded academic results for testing. While this was useful during development, I eventually replaced those values with actual saved GPA records.&lt;/p&gt;

&lt;p&gt;The application now retrieves GPA history and uses the saved data to calculate the user's CGPA.&lt;/p&gt;

&lt;p&gt;The general CGPA calculation is based on the student's accumulated quality points and total credit units:&lt;/p&gt;

&lt;p&gt;CGPA = Total Quality Points Across Semesters ÷ Total Credit Units Across Semesters&lt;/p&gt;

&lt;p&gt;Connecting the GPA history to the CGPA calculator made the application more functional because the different features could now work together.&lt;/p&gt;

&lt;p&gt;Instead of manually entering old results, the application could use the student's previously saved academic records.&lt;/p&gt;

&lt;p&gt;BUILDING THE CGPA PREDICTOR &lt;/p&gt;

&lt;p&gt;One of the most interesting features I worked on was the CGPA Predictor.&lt;/p&gt;

&lt;p&gt;The predictor provides two main functions.&lt;/p&gt;

&lt;p&gt;PREDICTING A FUTURE CGPA&lt;/p&gt;

&lt;p&gt;The user can enter the expected number of credit units and their expected GPA for the next semester.&lt;/p&gt;

&lt;p&gt;The application combines this information with the user's current academic records to estimate the future CGPA.&lt;/p&gt;

&lt;p&gt;Calculating the GPA Required to Reach a Target CGPA&lt;/p&gt;

&lt;p&gt;The user can also enter a target CGPA.&lt;/p&gt;

&lt;p&gt;The application then calculates the approximate GPA the student needs in the next semester to achieve that target.&lt;/p&gt;

&lt;p&gt;This feature required careful mathematical calculations and input validation. For example, the application checks whether the user has entered valid credit units and whether GPA values are within the expected range.&lt;/p&gt;

&lt;p&gt;Building this feature helped me understand how software development often involves more than designing a user interface. Behind a simple result on the screen, there can be significant logic and calculations.&lt;/p&gt;

&lt;p&gt;ADDING USER AUTHENTICATION WITH FIREBASE &lt;/p&gt;

&lt;p&gt;To support user accounts, I integrated Firebase Authentication into the application.&lt;/p&gt;

&lt;p&gt;Users can create accounts and sign in to the application. I also used Cloud Firestore to manage user-related data.&lt;/p&gt;

&lt;p&gt;During this stage, I encountered one of the challenges that helped me better understand the difference between local storage and cloud-based data.&lt;/p&gt;

&lt;p&gt;At one point, I created a new user account but still saw results that had been saved while using another account. The reason was that the GPA history was stored locally using AsyncStorage and was not initially separated by user account.&lt;/p&gt;

&lt;p&gt;This helped me understand an important concept:&lt;/p&gt;

&lt;p&gt;Local storage belongs to the device, while user data in a cloud application should usually be associated with a specific authenticated user.&lt;/p&gt;

&lt;p&gt;Solving and understanding issues like this was one of the most valuable parts of the development process.&lt;/p&gt;

&lt;p&gt;CHALLENGES I FACED &lt;/p&gt;

&lt;p&gt;Building my first mobile application was not without challenges.&lt;/p&gt;

&lt;p&gt;One of the first problems I encountered was configuring the project correctly. Small errors in configuration files caused Expo to fail when starting the application.&lt;/p&gt;

&lt;p&gt;I ALSO ENCOUNTERED PROBLEMS WITH:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;JSON syntax errors&lt;/li&gt;
&lt;li&gt;Incorrect image and asset paths&lt;/li&gt;
&lt;li&gt;Navigation and route configuration&lt;/li&gt;
&lt;li&gt;Emulator connections&lt;/li&gt;
&lt;li&gt;Firebase authentication&lt;/li&gt;
&lt;li&gt;Firestore security rules&lt;/li&gt;
&lt;li&gt;Local data storage&lt;/li&gt;
&lt;li&gt;Device testing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For example, I spent time troubleshooting why my application could not locate certain image files. The problem was caused by incorrect file paths between the application screens and the assets folder.&lt;/p&gt;

&lt;p&gt;I also experienced difficulties connecting the LDPlayer Android emulator to my development environment. This required checking Android Debug Bridge connections and network ports.&lt;/p&gt;

&lt;p&gt;Although these problems were frustrating, they taught me an important lesson about software development: debugging is a major part of the development process.&lt;/p&gt;

&lt;p&gt;Writing code is only one part of building an application. Developers must also learn how to read error messages, identify problems, test possible solutions, and understand why an error occurred.&lt;/p&gt;

&lt;p&gt;WHAT I LEARNED &lt;/p&gt;

&lt;p&gt;Building DahveedCalc taught me several important lessons.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Start With a Clear Project Structure&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Organising files and screens early makes a project easier to maintain as it grows.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Build Features Step by Step&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Instead of trying to build the entire application at once, I worked on individual features.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;p&gt;GPA Calculation → GPA History → CGPA Calculation → CGPA Prediction&lt;/p&gt;

&lt;p&gt;This made the project easier to manage and test.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Test Every Feature&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Testing helped me discover problems that were not immediately visible while writing the code.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Read Error Messages Carefully&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Error messages can look intimidating, especially as a beginner, but they often provide useful information about the source of the problem.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;User Experience Matters&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;An application should not only work correctly. It should also be easy to understand and use.&lt;/p&gt;

&lt;p&gt;This influenced how I designed the screens, navigation, buttons, forms, and calculation results.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Real Projects Teach More Than Tutorials&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Tutorials are useful for learning concepts, but building a complete project forces you to make decisions, solve problems, and connect different technologies.&lt;/p&gt;

&lt;p&gt;That was one of the biggest differences I noticed while building my first application.&lt;/p&gt;

&lt;p&gt;WHAT I WOULD IMPROVE NEXT &lt;/p&gt;

&lt;p&gt;DahveedCalc is an important milestone for me, but there are still improvements I would like to make.&lt;/p&gt;

&lt;p&gt;Some of the next features I would consider include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;User-specific cloud storage for academic records&lt;/li&gt;
&lt;li&gt;Improved data synchronisation&lt;/li&gt;
&lt;li&gt;Semester and course management&lt;/li&gt;
&lt;li&gt;Data visualisation and academic progress charts&lt;/li&gt;
&lt;li&gt;Exporting academic results&lt;/li&gt;
&lt;li&gt;Improved notifications and reminders&lt;/li&gt;
&lt;li&gt;More advanced performance predictions&lt;/li&gt;
&lt;li&gt;Enhanced user interface and accessibility features&lt;/li&gt;
&lt;li&gt;Full testing on both Android and iOS devices&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;FINAL THOUGHTS &lt;/p&gt;

&lt;p&gt;Building my first mobile application with React Native and Expo was one of the most valuable experiences of my internship and mobile development journey.&lt;/p&gt;

&lt;p&gt;The project started with a simple idea: build an application that could help students calculate their GPA and CGPA.&lt;/p&gt;

&lt;p&gt;As development continued, the project grew into a more complete application with GPA history, CGPA calculations, predictions, authentication, and data storage.&lt;/p&gt;

&lt;p&gt;More importantly, the process taught me that software development is not just about writing code that works the first time. It involves planning, designing, testing, debugging, learning from mistakes, and continuously improving.&lt;/p&gt;

&lt;p&gt;DahveedCalc may be my first major mobile application, but it has given me the confidence and practical experience to continue building more complex projects.Learning Mobile App Development at Early Code Institute&lt;/p&gt;

&lt;p&gt;This project was developed as part of my learning journey in the Android and iOS Development course at Early Code Institute.&lt;/p&gt;

&lt;p&gt;The course gave me practical exposure to mobile application development and helped me understand important concepts such as React Native, cross-platform development, mobile application navigation, user interface development, Firebase integration, and building functional mobile applications.&lt;/p&gt;

&lt;p&gt;As a tech intern, one of the most valuable aspects of the learning experience was the opportunity to move beyond theory and apply my knowledge by building a real project.&lt;/p&gt;

&lt;p&gt;DahveedCalc, my Student GPA and CGPA Calculator and Predictor, became an important part of that journey. Building the application allowed me to combine the concepts I learned throughout the course and apply them to solve a real-world problem.&lt;/p&gt;

&lt;p&gt;The course also reinforced an important lesson for me: learning a technology becomes much more meaningful when you apply it to a practical project. Each feature I built, each bug I encountered, and every problem I solved contributed to my growth as a mobile developer.&lt;/p&gt;

&lt;p&gt;If you are interested in learning more about the course that contributed to this project, you can visit the Android and iOS Development course at Early Code Institute:&lt;/p&gt;

&lt;p&gt;"Explore the Android and iOS Development Course at Early Code Institute" (&lt;a href="http://www.earlycode.net" rel="noopener noreferrer"&gt;www.earlycode.net&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;The course focuses on cross-platform mobile application development using technologies such as React Native and covers practical skills including mobile UI development, navigation, backend integration, Firebase, and preparing applications for deployment.&lt;/p&gt;

&lt;p&gt;You can also learn more about "[&lt;a href="//www.earlycode.net"&gt;Early Code Institute&lt;/a&gt;"]  and its available technology training programs.&lt;/p&gt;

&lt;p&gt;My biggest lesson from this experience is simple:&lt;/p&gt;

&lt;p&gt;The best way to learn how to build applications is to start building one.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>mobile</category>
      <category>programming</category>
      <category>reactnative</category>
    </item>
  </channel>
</rss>
