<?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: Makechi Eric</title>
    <description>The latest articles on DEV Community by Makechi Eric (@makechi02).</description>
    <link>https://dev.to/makechi02</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F740690%2F52610faa-c808-449c-a866-d075734ce1ec.webp</url>
      <title>DEV Community: Makechi Eric</title>
      <link>https://dev.to/makechi02</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/makechi02"/>
    <language>en</language>
    <item>
      <title>Understanding ^ and ~ in package.json Dependencies</title>
      <dc:creator>Makechi Eric</dc:creator>
      <pubDate>Mon, 17 Feb 2025 19:56:58 +0000</pubDate>
      <link>https://dev.to/makechi02/understanding-and-in-packagejson-dependencies-267c</link>
      <guid>https://dev.to/makechi02/understanding-and-in-packagejson-dependencies-267c</guid>
      <description>&lt;p&gt;If you've worked with &lt;code&gt;Node.js&lt;/code&gt; and &lt;code&gt;package.json&lt;/code&gt;, you’ve probably noticed that some dependencies have versions starting with &lt;code&gt;^&lt;/code&gt; (caret) and others with &lt;code&gt;~&lt;/code&gt; (tilde). But what do these symbols mean, and how do they affect your project?&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;code&gt;^&lt;/code&gt; (Caret) - Allows Minor and Patch Updates
&lt;/h2&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="nl"&gt;"express"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"^4.17.1"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;This allows updates &lt;strong&gt;within the same major version&lt;/strong&gt; (i.e., &lt;code&gt;4.x.x&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;It will install updates like &lt;code&gt;4.18.0&lt;/code&gt; or &lt;code&gt;4.19.2&lt;/code&gt;, but &lt;strong&gt;not&lt;/strong&gt; &lt;code&gt;5.0.0&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;This is the default behavior when you run &lt;code&gt;npm install package-name&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;code&gt;~&lt;/code&gt; (Tilde) - Allows Only Patch Updates
&lt;/h2&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="nl"&gt;"express"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"~4.17.1"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;This allows updates &lt;strong&gt;within the same minor version&lt;/strong&gt; (i.e., &lt;code&gt;4.17.x&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;It will install updates like &lt;code&gt;4.17.2&lt;/code&gt; or &lt;code&gt;4.17.5&lt;/code&gt;, but &lt;strong&gt;not&lt;/strong&gt; &lt;code&gt;4.18.0&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Summary Table
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Symbol&lt;/th&gt;
&lt;th&gt;Updates Allowed&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;^4.17.1&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;4.18.0&lt;/code&gt;, &lt;code&gt;4.19.0&lt;/code&gt;, but &lt;strong&gt;not&lt;/strong&gt; &lt;code&gt;5.0.0&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;~4.17.1&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;4.17.2&lt;/code&gt;, &lt;code&gt;4.17.3&lt;/code&gt;, but &lt;strong&gt;not&lt;/strong&gt; &lt;code&gt;4.18.0&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  When to Use Which?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Use &lt;code&gt;^&lt;/code&gt; when you want new features and bug fixes but &lt;strong&gt;avoid breaking changes&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;~&lt;/code&gt; when you want only &lt;strong&gt;bug fixes&lt;/strong&gt; to ensure stability.&lt;/li&gt;
&lt;li&gt;Use an exact version (&lt;code&gt;"express": "4.17.1"&lt;/code&gt;) if you &lt;strong&gt;don’t want any updates&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Understanding how &lt;code&gt;^&lt;/code&gt; and &lt;code&gt;~&lt;/code&gt; work helps prevent unexpected issues when updating dependencies. Using them wisely ensures that your project remains stable while still benefiting from improvements.&lt;/p&gt;

&lt;p&gt;What are your thoughts on handling dependency versions? Let’s discuss in the comments!&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>node</category>
      <category>npm</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Paving the Path: Plans for 2025</title>
      <dc:creator>Makechi Eric</dc:creator>
      <pubDate>Mon, 27 Jan 2025 19:12:14 +0000</pubDate>
      <link>https://dev.to/makechi02/paving-the-path-plans-for-2025-p60</link>
      <guid>https://dev.to/makechi02/paving-the-path-plans-for-2025-p60</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;Introduction&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;As 2025 begins, I’m excited to embark on a journey of growth, exploration, and achievement. This year is all about embracing opportunities, conquering challenges, and taking deliberate steps toward my personal and professional goals. Here’s a glimpse of my roadmap for 2025.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Goals and Aspirations&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;1. Completing Key Projects&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;One of my top priorities for 2025 is to complete my ongoing inventory management system (&lt;a href="https://stoqera.co.ke" rel="noopener noreferrer"&gt;Stoqera&lt;/a&gt;). My focus will be on refining its features, integrating analytics and reporting modules, and making it ready for SaaS deployment. I also plan to ensure its scalability and user-friendliness to cater to small and medium businesses.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2. Mastering New Skills&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The tech landscape evolves rapidly, and staying ahead requires continuous learning. This year, I’ll focus on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Deepening my knowledge of backend development with advanced Spring Boot techniques.&lt;/li&gt;
&lt;li&gt;Exploring AI and machine learning using tools like Weka and Deeplearning4j.&lt;/li&gt;
&lt;li&gt;Strengthening my expertise in frontend technologies, particularly with Next.js.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;3. Growing My Portfolio&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;My portfolio is a reflection of my journey as a developer. In 2025, I’ll:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Develop an admin dashboard for managing my projects more efficiently.&lt;/li&gt;
&lt;li&gt;Implement more interactive and dynamic features, such as custom animations and improved responsiveness.&lt;/li&gt;
&lt;li&gt;Showcase new projects and document my learning process through blogs.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;4. Contributing to Open Source&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Open-source contributions are a great way to give back to the tech community while learning from others. I’ll:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Identify projects aligned with my interests, such as inventory management or e-commerce platforms.&lt;/li&gt;
&lt;li&gt;Regularly contribute to codebases, documentation, or testing.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;5. Expanding My Network&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Connections are vital for growth. This year, I aim to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Actively engage in communities like Dev.to, GitHub, and LinkedIn.&lt;/li&gt;
&lt;li&gt;Participate in hackathons and developer meetups in Nairobi.&lt;/li&gt;
&lt;li&gt;Collaborate on joint projects with other developers.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Plans for Personal Growth&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;1. Enhancing Time Management&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Balancing my roles as a student, developer, and individual can be challenging. I’ll:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use productivity tools like Notion or Trello for task tracking.&lt;/li&gt;
&lt;li&gt;Adopt techniques like the Pomodoro method to stay focused.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;2. Building Resilience&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Resilience will be key as I navigate complex projects and challenges. I’ll:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Set realistic goals to avoid burnout.&lt;/li&gt;
&lt;li&gt;Incorporate regular exercise and mindfulness practices into my routine.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Conclusion&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;2025 is brimming with possibilities, and I’m ready to make the most of it. By setting clear goals, learning new skills, and staying consistent, I’m confident this year will be a stepping stone toward my long-term aspirations. Here’s to compiling a successful and impactful 2025!&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>newyearchallenge</category>
      <category>career</category>
      <category>startup</category>
    </item>
    <item>
      <title>💡 How Do You Generate Your Cover Images for Blog Posts?</title>
      <dc:creator>Makechi Eric</dc:creator>
      <pubDate>Tue, 14 Jan 2025 16:20:43 +0000</pubDate>
      <link>https://dev.to/makechi02/how-do-you-generate-your-cover-images-for-blog-posts-599a</link>
      <guid>https://dev.to/makechi02/how-do-you-generate-your-cover-images-for-blog-posts-599a</guid>
      <description>&lt;p&gt;Hey fellow developers! 👋&lt;/p&gt;

&lt;p&gt;I’ve been working on making my blog posts more visually appealing, and I know a great cover image can make all the difference. I’m curious—how do you create your cover images?&lt;/p&gt;

&lt;p&gt;Maybe you use a favorite tool, a neat technique, or even have a hidden gem in your workflow. I’d love to know what works for you!&lt;/p&gt;

&lt;p&gt;Whether it’s something as simple as a code-based generator, a design tool, or something completely unexpected, feel free to share your process, tips, or even examples.&lt;/p&gt;

&lt;p&gt;Looking forward to learning from your experiences and exploring new ideas. 😊&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>tooling</category>
      <category>discuss</category>
      <category>help</category>
    </item>
    <item>
      <title>2024, A year of resilience, learning, and growth.</title>
      <dc:creator>Makechi Eric</dc:creator>
      <pubDate>Sat, 04 Jan 2025 20:07:19 +0000</pubDate>
      <link>https://dev.to/makechi02/2024-a-year-of-resilience-learning-and-growth-5h3d</link>
      <guid>https://dev.to/makechi02/2024-a-year-of-resilience-learning-and-growth-5h3d</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;Introduction&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Reflecting on 2024, it’s clear that this year was a roller coaster of growth, challenges, and milestones. From overcoming unforeseen obstacles to celebrating key victories, 2024 shaped me in ways I never imagined. In this post, I’ll share the lessons I learned, the challenges I faced, and the achievements that defined my journey.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Challenges Faced&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Staying Motivated in Prolonged Projects
&lt;/h3&gt;

&lt;p&gt;This year, I worked on several long-term projects, including &lt;a href="https://finviq.vercel.app" rel="noopener noreferrer"&gt;finviq&lt;/a&gt;. Midway, maintaining enthusiasm became difficult. Deadlines seemed endless, and balancing time between school, work, and personal development felt overwhelming.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt; I implemented structured time management using tools like &lt;a href="https://www.notion.com/" rel="noopener noreferrer"&gt;Notion&lt;/a&gt; and &lt;a href="https://obsidian.md/" rel="noopener noreferrer"&gt;Obsidian&lt;/a&gt;, broke down tasks into smaller milestones, and rewarded myself after achieving each.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Handling Burnout
&lt;/h3&gt;

&lt;p&gt;Balancing my role as a computer science student, developer, and life outside technology was tricky. At times, I pushed myself too hard, leading to mental fatigue.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt; Taking regular breaks, setting boundaries, and embracing hobbies like &lt;em&gt;drawing&lt;/em&gt; and &lt;em&gt;reading&lt;/em&gt; were key to recovery and sustained focus.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Lessons Learned&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. The Power of Consistency
&lt;/h3&gt;

&lt;p&gt;Small daily actions lead to big results over time. I learned to prioritize consistency over intensity, whether it was coding for an hour a day or reading a few pages of a technical book.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Asking for Help Isn’t Weakness
&lt;/h3&gt;

&lt;p&gt;Collaboration became a cornerstone of my growth. I reached out to mentors, participated in online forums, and started engaging with the Dev.to community to learn and grow.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Achievements&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Building an Inventory Management System (In Progress)
&lt;/h3&gt;

&lt;p&gt;One of my key projects this year was developing an inventory management system. While it’s not yet complete, this project has helped me deepen my knowledge of &lt;strong&gt;MongoDB&lt;/strong&gt;, &lt;strong&gt;Spring Boot&lt;/strong&gt;, and &lt;strong&gt;Next.js&lt;/strong&gt;, and understand the complexities of building scalable software.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Expanding My Network
&lt;/h3&gt;

&lt;p&gt;Towards the end of the year, I started actively participating in communities like Dev.to and other tech forums, connecting with developers worldwide. These connections provided inspiration, knowledge, and collaboration opportunities.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Academic Growth
&lt;/h3&gt;

&lt;p&gt;Despite juggling multiple responsibilities, I maintained excellent performance in my computer science studies. This reinforced my ability to balance priorities effectively.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Conclusion&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;2024 was a year of resilience, learning, and growth. The challenges I faced taught me invaluable lessons, and the achievements reminded me of what’s possible with focus and determination. As I step into 2025, I carry forward these experiences, ready to tackle new opportunities and hurdles. Here’s to another year of growth and success!&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>newyearchallenge</category>
      <category>career</category>
      <category>programming</category>
    </item>
    <item>
      <title>My Journey Building an Inventory Management System as a Beginner Developer</title>
      <dc:creator>Makechi Eric</dc:creator>
      <pubDate>Tue, 31 Dec 2024 09:44:20 +0000</pubDate>
      <link>https://dev.to/makechi02/my-journey-building-an-inventory-management-system-as-a-beginner-developer-2hpa</link>
      <guid>https://dev.to/makechi02/my-journey-building-an-inventory-management-system-as-a-beginner-developer-2hpa</guid>
      <description>&lt;p&gt;As a budding software developer, I recently embarked on creating a simple Inventory Management System. It has been a rewarding journey of learning and overcoming challenges. In this post, I’ll share why I started this project, the technologies I used, the features I implemented, and the lessons I’ve learned so far.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I Started
&lt;/h2&gt;

&lt;p&gt;I wanted to learn more about backend development, particularly with &lt;strong&gt;Spring Boot&lt;/strong&gt;. Building an IMS allowed me to explore concepts like CRUD operations, role-based authentication, and even pagination. It also aligned with my goal of creating software that solves real-world problems.&lt;/p&gt;

&lt;h2&gt;
  
  
  Technologies I Used
&lt;/h2&gt;

&lt;p&gt;For this project, I used:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Spring Boot&lt;/strong&gt;: To build the backend API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;JavaFX (initially)&lt;/strong&gt;: For the user interface. I later switched to &lt;strong&gt;Next.js&lt;/strong&gt; for the web interface.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MongoDB&lt;/strong&gt;: For data storage.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Features Implemented
&lt;/h2&gt;

&lt;p&gt;Here are some of the features I’ve built so far:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Basic Search: Users can search for items by various properties.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Role-Based Authentication: Different roles (e.g., Admin, User) have different access levels.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Pagination and Sorting: To make managing a large number of items easier.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Responsive UI: A clean, mobile-friendly interface using Tailwind CSS.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Challenges and Lessons Learned
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Start Small: Initially, I aimed to implement everything at once, but breaking it into smaller tasks made the process more manageable.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Switching Technologies: Moving from JavaFX to Next.js was daunting but taught me the value of adaptability.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Search Functionality: Adding query parameters for filtering results was trickier than I expected but immensely rewarding.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What’s Next?
&lt;/h2&gt;

&lt;p&gt;I’m excited to continue improving the IMS by adding advanced features like data visualization and multi-location support.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion:
&lt;/h2&gt;

&lt;p&gt;This project has been a significant stepping stone in my journey as a developer. If you’re a beginner like me, I highly recommend starting a project that excites you—it’s the best way to learn!&lt;/p&gt;

&lt;p&gt;Have questions or feedback? Let’s connect in the comments or connect with Me:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://makechi.vercel.app" rel="noopener noreferrer"&gt;My Portfolio&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/Makechi02" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://m.twitter.com/OEMakbe" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Project Links
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/Makechi02/Finviq" rel="noopener noreferrer"&gt;Github repo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://finviq.vercel.app" rel="noopener noreferrer"&gt;Finviq&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>webdev</category>
      <category>springboot</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
