<?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>Forem: Fidelis Solomon</title>
    <description>The latest articles on Forem by Fidelis Solomon (@solzycode).</description>
    <link>https://forem.com/solzycode</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%2F906743%2F322c055e-eddf-4901-8fd0-161fe8f782d1.png</url>
      <title>Forem: Fidelis Solomon</title>
      <link>https://forem.com/solzycode</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/solzycode"/>
    <language>en</language>
    <item>
      <title>Building an e-commerce website with Laravel</title>
      <dc:creator>Fidelis Solomon</dc:creator>
      <pubDate>Thu, 20 Jul 2023 17:09:36 +0000</pubDate>
      <link>https://forem.com/solzycode/building-an-e-commerce-website-with-laravel-4bg9</link>
      <guid>https://forem.com/solzycode/building-an-e-commerce-website-with-laravel-4bg9</guid>
      <description>&lt;p&gt;I'm currently building, a B2C (Business to Consumer) e-commerce website, for a fashion store. In this article, I'll tell you the steps that i've taken to build to project, to completion, the project's time frame, what tools i'm using to build it and where i'm at with building the project.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Let's start by clarifying 3 things:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. what is an e-commerce website?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;E-commerce (electronic commerce) is the buying and selling of goods and services, or the transmitting of funds or data, over an electronic network, primarily the internet. An E-commerce website, advertises / displays the "goods" or "services" for sale, allows the visitor to choose the products they reuqired and faciliates the payment process, in exchange for goods or services sold. It's also possible to sometimes track the order / delivery process, on the website.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. examples of e-commerce websites&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Good examples of e-commerce websites, just so that you have an real world examples to go with the explanation above would be,&lt;br&gt;
    a. jumia.com&lt;br&gt;
    b. konga.com&lt;br&gt;
    c. amazon.com&lt;br&gt;
    d. alibaba.com&lt;br&gt;
    e. etc.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. examples of B2C e-commerce websites&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;B2C stands for (Business to Consumer). Examples of B2C e-commerce websites include, alibaba.com,&lt;br&gt;
    a. dominos.ng&lt;br&gt;
    b. amazon.com&lt;br&gt;
    c. shopify.com&lt;br&gt;
    d. alibaba.com&lt;br&gt;
    e. etc.&lt;/p&gt;

&lt;p&gt;Since we now understand understand what i mean by a "B2C e-commerce website". Let me &lt;strong&gt;give you details about the project&lt;/strong&gt; and walk you through &lt;strong&gt;the process which i've followed to build the website&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The website that i'm working on, is called "Sleekfashion (a unisex online fashion store)". I've been building it now, for the past 1 month. This is the second project, that I'll be building with the "Laravel framework". The first was a blog, called "wethepeople", you can find it on my portfolio "&lt;a href="https://dev.tourl"&gt;thesolomonfidelis.com&lt;/a&gt;".&lt;/p&gt;

&lt;p&gt;Let me walk you through the steps that i've taken so far:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. I found an e-commerce template&lt;/strong&gt;'&lt;/p&gt;

&lt;p&gt;I found a template called (Majestic), it's a bootstrap template, i found it on (&lt;a href="https://bootstrapmade.com/" rel="noopener noreferrer"&gt;&lt;/a&gt;). It was perfect for what i wanted, an online fashion store.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcx9x64xkuyqllyasx3kn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcx9x64xkuyqllyasx3kn.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. I studied the template and used, what was on it to design my database&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I'm using mySql, as my database driver. The data on an e-commerce website typically contains tables, for Users, Products, Categories, Shopping_Cart, Wishlist, Orders, etc.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. I created a Laravel project&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I already went through this process, when i built a blog using the "laravel beginner lesson" on Laracast.com, so this part was straightforward. The laravel project, which i created was named, "sleekfashion". You can find a guide for how to create a Laravel project, on the official documentation for it's framework here (&lt;a href="https://laravel.com/docs/10.x#your-first-laravel-project" rel="noopener noreferrer"&gt;&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; If you want to know why people choose laravel or why i think it's perfect for an e-commerce application or "enterprise level applications". You can find your reasons here (&lt;a href="https://laravel.com/docs/10.x#meet-laravel" rel="noopener noreferrer"&gt;&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. I created my database, using Laravels Database migrations&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I particularly like this feature. I got to skip writing "sql queries", to create a database. You can find a guide on how to do that here (&lt;a href="https://laravel.com/docs/10.x/migrations" rel="noopener noreferrer"&gt;&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. I created my test data, using Laravels Database Factory and Filled my database with the "Database Seeder" Class&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This allows me to fill the database, which i already created, with fake data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. I created my Models&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Laravel allows you to create a model to map the database to your application, using "Eloquent ORM (Object Relational Mapper)". You can generate a model for each table in your database, and it automatically links that table to it's model (as long as they bear the same name, else you'd have to specify). This allowed me to skip the normal process of manually trying to create "select, insert, delete, etc." statements and to build a model class for each table, before i start my project. I've initially build large projects, using Php and this was enjoyable, to say the least.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. I created my Controllers&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Each model can be linked to a controller, which would hold the back-end logic, that receives your requests and tells your web application, what to do with the data that's available in your database, based on your request.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8. I created a View&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Remember earlier when, i told you that i used an e-commerce template. I had to take the template apart and include it into my project, in order to start working on it. In Laravel "views" provide a convenient way to place all of our HTML in separate files.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;9. I'm still working on it&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can check out my portfolio... thesolomonfidelis.com, for the other projects, which i've worked on.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CONCLUSION:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Laravel is a web application framework, that's built on PHP. It allows developers to build fully functional web applications, without having to focus on a lot of the details. Like you would, if you were working with only PHP. If you'd like to learn how to use Laravel, I'd recommend starting with Laracast's video course (Laravel 8 from scratch), you can find it &lt;a href="https://laracasts.com/series/laravel-8-from-scratch" rel="noopener noreferrer"&gt;&lt;/a&gt; (IT'S FREE!) and would save you a lot of time and stress, also it's how i learnt. Until next time, I'm Solomon "Solzycode" Fidelis.&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>php</category>
      <category>beginners</category>
      <category>coding</category>
    </item>
    <item>
      <title>7 steps I wish I followed, when was learning to code</title>
      <dc:creator>Fidelis Solomon</dc:creator>
      <pubDate>Sun, 09 Jul 2023 14:38:55 +0000</pubDate>
      <link>https://forem.com/solzycode/7-steps-i-wish-i-took-when-was-learning-to-code-ij8</link>
      <guid>https://forem.com/solzycode/7-steps-i-wish-i-took-when-was-learning-to-code-ij8</guid>
      <description>&lt;p&gt;I've been building websites professionally, since 2018. When i started learning to code, it took me about 2 years, of mostly just solving programming challenges, with C#, C++ and python, on "hackerrank" and "codewars", to learn programming. I did not have a direction or a reason in particular for why i wanted to code or why i kept on learning language after language, except that i enjoyed using my mind. I was still an undergraduate, in my 3rd year, when i started learning. Thinking back to that time, i made a lot of mistakes, most of which would have been avoided, if i had followed these seven steps.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NOTE: i believe posts should be brief and straight forward. so this post, like all others will be brief, i promise.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So, Without any further delay...&lt;/p&gt;

&lt;p&gt;Here are 7 steps, i would take, if i wanted to start learning, to be a programmer again:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Start with WHY:&lt;/strong&gt;&lt;br&gt;
If i had a clearly defined answer / WHY, to a very simple question "why i do i want to be a programmer", before i started learning to be a code. It would have saved me a lot of time and i would have avoided some of the mistakes that i made, along the way. The best thing you can do for yourself, is have a clearly defined reason for why you want to learn to be a programmer. An example of a "good WHY" is, "I want to make $150,000 a year" or "I want to build Softwares, that would make the lives of others easier".&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Do your research:&lt;/strong&gt;&lt;br&gt;
I'd do a proper research, to find the "best area" to focus my attention, based on my WHY. Since i now know "why i want to learn programming", the next step would be "what field i want to apply my programming skills, to". A good place to start would be, to query google with your why, for example, "How can i make $150,000 a year, as a programmer?" or "How has computer programming made people's lives easier?". Remember this isn't going to be a quick process, so take your time, to do a proper research.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Learning:&lt;/strong&gt;&lt;br&gt;
I did not set out to apply my skills to either web development, mobile applications development, data science or anything like that. I was just learning for the sake of learning. But, if i had to do it all over again. The next step would be, to make a "detailed learning plan", before i start learning. That way, what i learn would be guided by what i want to do, with my knowledge of programming. You'd probably have to do a "back and forth" between "Do your research" and "Learning". The easiest path to follow, would be to pay use a platform that's free and reliable, for your learning, like "Freecodecamp.com" or "w3schools.com". We'll talk more about this, in the next step.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Follow a beginner course / programme:&lt;/strong&gt;&lt;br&gt;
Since i now have a detailed learning plan, the next step would be to start learning. But what's the best way to learn, my answer to that would be, to "learn by doing" or to "learn with a project". But it's also important, that the foundation for any language you want to learn is strong. So, I'd follow learn from a free website like "freecodecamp.com" or "w3schools.com". For w3schools: The courses are easy to follow, with examples and an online editor, to practice what you've just learnt. This helps with structuring and organizing what you'll be learning. The next step, when I'm done learning, would be to, select a project and start building it, with what i just learnt. We'll talk more about this, in the next step.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Learn with a project:&lt;/strong&gt;&lt;br&gt;
After laying a "strong foundation", for each technology, that i intend learning, based on my research. I'd find a project, to work on. A good place to find projects ideas, would be on "codementor.io", the provide the project title, description, requirements and a few suggestions, that would have helped make my life easier.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Join a community:&lt;/strong&gt;&lt;br&gt;
I'd find a community to Join (mostly for accountability). I think what would have also, made my life easier would have been, if i had joined a community of like minded individuals, on the same learning path as me, like "dev.to". The feeling that "i'm not alone" on this, would have been great.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Find an internship role:&lt;/strong&gt;&lt;br&gt;
I started too early, looking for roles, that were obviously bigger than my current strengths (mostly cos of the cash), instead of starting small and building my career, one challenge at a time. If i had to do it all over again, the final step would have been to play to my current strengths and limit my search, to only internship roles.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I hope these steps would help make someone's coding journey, a lot easier, that mine was. I guarantee that if you follow these six steps and focus on building your career, with a long term goal in mind, you won't regret.&lt;/p&gt;

</description>
      <category>codenewbie</category>
      <category>beginners</category>
      <category>programming</category>
      <category>coding</category>
    </item>
    <item>
      <title>I started learning Laravel, about 5 days ago and I've hit a small bump</title>
      <dc:creator>Fidelis Solomon</dc:creator>
      <pubDate>Mon, 22 Aug 2022 20:46:36 +0000</pubDate>
      <link>https://forem.com/solzycode/i-started-learning-laravel-about-5-days-ago-and-ive-hit-a-small-bump-2lca</link>
      <guid>https://forem.com/solzycode/i-started-learning-laravel-about-5-days-ago-and-ive-hit-a-small-bump-2lca</guid>
      <description>&lt;p&gt;Hi, I'm a php developer with a few projects under my belt. I decided to build an ecommerce website, while learning Laravel, I've not gone very far and I've hit a small bump... I'd like some help in solving this small issue, If you guys don't mind.&lt;/p&gt;

&lt;p&gt;I ran "php artisan migrate" on command prompt and i got this error "SQLSTATE[HY000] [2054] Server sent charset unknown to the client. Please, report to the developers&lt;br&gt;
   (SQL: select * from information_schema.tables where table_schema = sleekfashion and table_name =&lt;br&gt;
  migrations)".&lt;/p&gt;

&lt;p&gt;I use PHP 8.0.13 &amp;amp; MYSQL 8.0.23. I've tried several solutions that I've come across, If not all of them on stackoverflow and various programming communities. &lt;/p&gt;

&lt;p&gt;I decided to try my luck here. Please if you come across this problem before, I'd really appreciate your help. &lt;/p&gt;

&lt;p&gt;Simply tell me, how you solved the problem.&lt;/p&gt;

&lt;p&gt;Thanks for you help, in anticipation.&lt;/p&gt;

</description>
      <category>php</category>
      <category>laravel</category>
      <category>web</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
