<?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: Destiny Franks</title>
    <description>The latest articles on DEV Community by Destiny Franks (@desphixs).</description>
    <link>https://dev.to/desphixs</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%2F895392%2Fa08b5532-7a8e-4f4c-b572-78ea450233ca.png</url>
      <title>DEV Community: Destiny Franks</title>
      <link>https://dev.to/desphixs</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/desphixs"/>
    <language>en</language>
    <item>
      <title>The Real Problem With Tutorial Hell Is What Tutorials Remove</title>
      <dc:creator>Destiny Franks</dc:creator>
      <pubDate>Sat, 04 Jul 2026 17:46:32 +0000</pubDate>
      <link>https://dev.to/desphixs/the-real-problem-with-tutorial-hell-is-what-tutorials-remove-24li</link>
      <guid>https://dev.to/desphixs/the-real-problem-with-tutorial-hell-is-what-tutorials-remove-24li</guid>
      <description>&lt;p&gt;I'd say tutorials are not the villain. The comfort is.&lt;/p&gt;

&lt;p&gt;Most people describe tutorial hell like the tutorial is the problem.&lt;/p&gt;

&lt;p&gt;I don’t think that is right.&lt;/p&gt;

&lt;p&gt;A good tutorial can save you days. It can show you the shape of a tool before you waste time guessing. It can explain a concept better than documentation. It can help you see how an experienced developer thinks through a feature.&lt;/p&gt;

&lt;p&gt;The problem starts when tutorials become the whole learning system.&lt;/p&gt;

&lt;p&gt;Because tutorials teach by removing friction.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;They remove the blank file.&lt;/li&gt;
&lt;li&gt;They remove the vague requirement.&lt;/li&gt;
&lt;li&gt;They remove the decision of where to start.&lt;/li&gt;
&lt;li&gt;They remove the boring debugging.&lt;/li&gt;
&lt;li&gt;They remove the messy part where you try one approach, realise it was wrong, and have to rethink it.
They remove the exact parts that make someone a developer.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The student feels like they are learning because the screen keeps moving. The instructor writes code. The app works. The lesson ends. Progress is visible.&lt;/p&gt;

&lt;p&gt;Then the student closes the video, opens a new project, and suddenly the brain goes empty.&lt;/p&gt;

&lt;p&gt;That blank feeling is not proof that the student is dumb.&lt;/p&gt;

&lt;p&gt;It is proof that the tutorial did most of the thinking.&lt;/p&gt;

&lt;h2&gt;
  
  
  Following is not the same as building
&lt;/h2&gt;

&lt;p&gt;Think about a simple todo app tutorial.&lt;/p&gt;

&lt;p&gt;On the surface, the student built a todo app.&lt;/p&gt;

&lt;p&gt;But what did they actually decide?&lt;/p&gt;

&lt;p&gt;Usually, the instructor chose the stack. The instructor named the folders. The instructor designed the data model. The instructor decided what the first feature should be. The instructor handled the bug. The instructor explained which error mattered and which one could be ignored.&lt;/p&gt;

&lt;p&gt;The student typed the code.&lt;/p&gt;

&lt;p&gt;That is not useless. Typing code still gives exposure. You see syntax. You see patterns. You get familiar with tools.&lt;/p&gt;

&lt;p&gt;But exposure is not ownership.&lt;/p&gt;

&lt;p&gt;A developer is not only someone who can recognise good code when another person writes it. A developer is someone who can make decisions when nobody is telling them the next line.&lt;/p&gt;

&lt;p&gt;That is the part tutorials rarely train.&lt;/p&gt;

&lt;p&gt;They train recognition.&lt;/p&gt;

&lt;p&gt;They train repetition.&lt;/p&gt;

&lt;p&gt;They rarely train judgment.&lt;/p&gt;

&lt;p&gt;And judgment is the job.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tutorials hide the real work
&lt;/h2&gt;

&lt;p&gt;Real development is full of small unclear moments.&lt;/p&gt;

&lt;p&gt;You are given a feature like:&lt;/p&gt;

&lt;p&gt;“Let users save their favorite products.”&lt;/p&gt;

&lt;p&gt;That sounds simple. But now you have to decide things.&lt;/p&gt;

&lt;p&gt;Should favorites be a separate table?&lt;/p&gt;

&lt;p&gt;Can one user favorite the same product twice?&lt;/p&gt;

&lt;p&gt;What should the API return if the product does not exist?&lt;/p&gt;

&lt;p&gt;Should the button update instantly or wait for the server?&lt;/p&gt;

&lt;p&gt;How do you test it?&lt;/p&gt;

&lt;p&gt;What happens when the request fails?&lt;/p&gt;

&lt;p&gt;A tutorial can answer all of these for you.&lt;/p&gt;

&lt;p&gt;A real project does not.&lt;/p&gt;

&lt;p&gt;This is why some people can finish five courses and still panic when asked to build something small. They have seen many answers, but they have not practiced producing answers.&lt;/p&gt;

&lt;p&gt;They have watched someone else carry the uncertainty.&lt;/p&gt;

&lt;p&gt;Then they wonder why they feel weak when the uncertainty is finally theirs.&lt;/p&gt;

&lt;h2&gt;
  
  
  AI makes this more serious
&lt;/h2&gt;

&lt;p&gt;This matters even more now because AI can generate code faster than any beginner can type.&lt;/p&gt;

&lt;p&gt;That sounds like it should solve tutorial hell.&lt;/p&gt;

&lt;p&gt;It does not.&lt;/p&gt;

&lt;p&gt;If you cannot reason about the feature, AI gives you more code than you can understand. If you cannot judge the output, AI gives you confidence without control. If you cannot debug, AI turns one error into five more files you now have to read.&lt;/p&gt;

&lt;p&gt;The useful skill is not memorising every syntax detail.&lt;/p&gt;

&lt;p&gt;The useful skill is knowing what should happen, why it should happen, and whether the generated code actually matches the goal.&lt;/p&gt;

&lt;p&gt;This is why trust matters. Stack Overflow’s 2025 Developer Survey found that more developers distrust AI tool accuracy than trust it. The point is not that AI is bad. The point is that AI still needs a developer who can verify, question, and steer it.&lt;/p&gt;

&lt;p&gt;GitHub’s Octoverse 2025 also framed AI and agents as one of the biggest shifts in software development. That shift does not remove the need to learn. It changes what learning should focus on.&lt;/p&gt;

&lt;p&gt;Less copying.&lt;/p&gt;

&lt;p&gt;More thinking.&lt;/p&gt;

&lt;p&gt;Less “watch me build this.”&lt;/p&gt;

&lt;p&gt;More “you build this, and I’ll help you when you get stuck.”&lt;/p&gt;

&lt;h2&gt;
  
  
  The opposite of tutorial hell is not no tutorials
&lt;/h2&gt;

&lt;p&gt;Some people overcorrect.&lt;/p&gt;

&lt;p&gt;They say, “Stop watching tutorials completely.”&lt;/p&gt;

&lt;p&gt;I don’t agree with that either.&lt;/p&gt;

&lt;p&gt;Tutorials are useful when they have a clear job.&lt;/p&gt;

&lt;p&gt;Use a tutorial to understand a new tool.&lt;/p&gt;

&lt;p&gt;Use one to see how a feature can be structured.&lt;/p&gt;

&lt;p&gt;Use one when documentation is too dry and you need a human explanation.&lt;/p&gt;

&lt;p&gt;Use one when you are blocked and need a quick path forward.&lt;/p&gt;

&lt;p&gt;The mistake is using tutorials as proof that you can build.&lt;/p&gt;

&lt;p&gt;A tutorial should be a support tool, not the main event.&lt;/p&gt;

&lt;p&gt;The main event is opening the editor and building something where the next step is not already written for you.&lt;/p&gt;

&lt;p&gt;That is where the skill grows.&lt;/p&gt;

&lt;p&gt;Not because struggle is magical.&lt;/p&gt;

&lt;p&gt;Because decisions are practice.&lt;/p&gt;

&lt;p&gt;Debugging is practice.&lt;/p&gt;

&lt;p&gt;Getting stuck is practice.&lt;/p&gt;

&lt;p&gt;Reading an error and figuring out what it means is practice.&lt;/p&gt;

&lt;p&gt;Submitting your own code and hearing “this part is wrong” is practice.&lt;/p&gt;

&lt;p&gt;These are not annoying interruptions to learning.&lt;/p&gt;

&lt;p&gt;They are the learning.&lt;/p&gt;

&lt;h2&gt;
  
  
  This is why I built &lt;a href="//staqed.com"&gt;Staqed&lt;/a&gt; the way I did
&lt;/h2&gt;

&lt;p&gt;&lt;a href="//staqed.com"&gt;Staqed&lt;/a&gt; exists because I got tired of seeing the same pattern.&lt;/p&gt;

&lt;p&gt;People watch. They understand. They feel good. Then they freeze when it is time to build.&lt;/p&gt;

&lt;p&gt;So the goal with &lt;a href="//staqed.com"&gt;Staqed&lt;/a&gt; is simple: put the building part first.&lt;/p&gt;

&lt;p&gt;You start with a real project. You work inside VS Code, or the browser IDE if you prefer. You get a task, a brief, guides, resources, and support. But the work is still yours.&lt;/p&gt;

&lt;p&gt;When you submit your code, Staqed validates what you actually built and gives you feedback. Not just “good job” or “wrong answer.” Real feedback on what needs to change.&lt;/p&gt;

&lt;p&gt;The AI assistant is there too, but the point is not to dump code and make you passive again. It can help you plan, think, pair, and get unstuck. The coach mode is especially important because sometimes the best help is a question that pushes you to think, not an answer that lets you skip the thinking.&lt;/p&gt;

&lt;p&gt;And if you are really stuck, there are human mentors.&lt;/p&gt;

&lt;p&gt;That is the missing piece in most learning platforms.&lt;/p&gt;

&lt;p&gt;Not more content.&lt;/p&gt;

&lt;p&gt;More supported practice.&lt;/p&gt;

&lt;h2&gt;
  
  
  The real test is the blank file
&lt;/h2&gt;

&lt;p&gt;Tutorial hell is not caused by watching tutorials.&lt;/p&gt;

&lt;p&gt;It is caused by never leaving the tutorial environment long enough to become comfortable making decisions.&lt;/p&gt;

&lt;p&gt;So a better way to learn is not complicated.&lt;/p&gt;

&lt;p&gt;Watch when you need context.&lt;/p&gt;

&lt;p&gt;Build before you feel fully ready.&lt;/p&gt;

&lt;p&gt;Let yourself get stuck.&lt;/p&gt;

&lt;p&gt;Use AI, but don’t let it remove your judgment.&lt;/p&gt;

&lt;p&gt;Ask for help, but don’t outsource the thinking.&lt;/p&gt;

&lt;p&gt;And judge your progress by what you can build without the video playing beside you.&lt;/p&gt;

&lt;p&gt;That is the real test.&lt;/p&gt;

&lt;p&gt;Not how many courses you finished.&lt;/p&gt;

&lt;p&gt;Not how many certificates you collected.&lt;/p&gt;

&lt;p&gt;Not how many hours you watched.&lt;/p&gt;

&lt;p&gt;The real question is simple:&lt;/p&gt;

&lt;p&gt;When the file is blank and the next step is yours, can you move?&lt;/p&gt;

</description>
      <category>staqed</category>
      <category>tutorial</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
    <item>
      <title>AI Can Make You Faster and Still Make You Weaker</title>
      <dc:creator>Destiny Franks</dc:creator>
      <pubDate>Sat, 27 Jun 2026 18:37:20 +0000</pubDate>
      <link>https://dev.to/desphixs/ai-can-make-you-faster-and-still-make-you-weaker-943</link>
      <guid>https://dev.to/desphixs/ai-can-make-you-faster-and-still-make-you-weaker-943</guid>
      <description>&lt;p&gt;Your app can run.&lt;br&gt;
Your tests can pass.&lt;br&gt;
Your pull request can look clean.&lt;/p&gt;

&lt;p&gt;And you can still have no idea what you just built.&lt;/p&gt;

&lt;p&gt;That is the strange danger of AI coding tools. They can help you move faster, but they can also make progress feel real before understanding has caught up.&lt;/p&gt;

&lt;p&gt;This is not an anti-AI argument. I use AI. Most serious developers now use AI in some part of their workflow. The problem is passive usage.&lt;/p&gt;

&lt;p&gt;There is a big difference between asking AI to help you think and asking AI to think for you.&lt;/p&gt;

&lt;p&gt;Working code is a weak signal&lt;/p&gt;

&lt;p&gt;A beginner asks an AI assistant to build authentication.&lt;/p&gt;

&lt;p&gt;The AI gives them routes, middleware, models, token handling, password reset logic, and frontend forms. The app works. The protected route blocks guests. The dashboard loads.&lt;/p&gt;

&lt;p&gt;That feels like learning.&lt;/p&gt;

&lt;p&gt;But ask one level deeper.&lt;/p&gt;

&lt;p&gt;Why does the access token expire before the refresh token?&lt;br&gt;
What happens if the verification link is reused?&lt;br&gt;
Why is this middleware running before that controller?&lt;br&gt;
What breaks if the database write succeeds but the email send fails?&lt;/p&gt;

&lt;p&gt;Suddenly the “finished” project becomes foggy.&lt;/p&gt;

&lt;p&gt;That is the gap AI can hide. It can produce the shape of competence before the learner has built the judgment behind it.&lt;/p&gt;

&lt;p&gt;Working code proves that something ran. It does not prove that you understand the design, trade-offs, failure modes, or maintenance cost.&lt;/p&gt;

&lt;p&gt;The loop is too smooth. You ask. It answers. You paste. It works. You move on.&lt;/p&gt;

&lt;p&gt;But the struggle you skipped was often the part that built judgment.&lt;/p&gt;

&lt;p&gt;The lost value of friction&lt;/p&gt;

&lt;p&gt;A lot of programming skill comes from friction.&lt;/p&gt;

&lt;p&gt;You read an error message.&lt;br&gt;
You misunderstand it.&lt;br&gt;
You search the docs.&lt;br&gt;
You add a print statement.&lt;br&gt;
You break something else.&lt;br&gt;
You trace the data.&lt;br&gt;
You finally see what is actually happening.&lt;/p&gt;

&lt;p&gt;That process is annoying, but it teaches you how software behaves when it stops behaving nicely.&lt;/p&gt;

&lt;p&gt;AI removes a lot of that pain. That can be good. Nobody becomes a better engineer because they forgot the exact syntax for a library call.&lt;/p&gt;

&lt;p&gt;But when AI removes every bump, beginners can lose contact with the code. They stop building a mental model. They stop noticing patterns. They stop asking why the fix worked.&lt;/p&gt;

&lt;p&gt;They become dependent on a loop where the only move is “ask again.”&lt;/p&gt;

&lt;p&gt;Real engineering is reading code, debugging code, reviewing trade-offs, understanding constraints, and knowing when a solution is hiding a future problem.&lt;/p&gt;

&lt;p&gt;Those skills matter more in the AI era, not less.&lt;/p&gt;

&lt;p&gt;The research signal is uncomfortable&lt;/p&gt;

&lt;p&gt;A 2026 paper by Judy Hanwen Shen and Alex Tamkin studied how developers learned a new asynchronous Python library with and without AI help. The result was uncomfortable: people using AI assistance scored 17% lower on the follow-up evaluation, and the study did not find a statistically significant speedup in completion time.&lt;/p&gt;

&lt;p&gt;The important part is not “AI made people worse.” That would be too simple.&lt;/p&gt;

&lt;p&gt;The important part is that the outcome depended on how people used the tool.&lt;/p&gt;

&lt;p&gt;The weaker patterns were delegation-heavy. The developer handed the task to AI and treated the output as the answer. The stronger patterns kept the developer mentally involved. They asked conceptual questions. They generated code, then worked through it. They asked for explanations and still tried to understand the logic themselves.&lt;/p&gt;

&lt;p&gt;That distinction matters.&lt;/p&gt;

&lt;p&gt;AI can make learning better. It can explain an error in plain English. It can compare two approaches. It can show why one design is cleaner than another.&lt;/p&gt;

&lt;p&gt;But that only works when AI is used as a learning partner.&lt;/p&gt;

&lt;p&gt;When AI becomes a replacement for effort, it creates fake progress.&lt;/p&gt;

&lt;p&gt;The trust gap is already here&lt;/p&gt;

&lt;p&gt;Stack Overflow’s 2025 Developer Survey showed a strange split: AI usage is high, but trust is low. Developers are using these tools, yet many do not fully trust the accuracy of the output.&lt;/p&gt;

&lt;p&gt;That is the correct tension.&lt;/p&gt;

&lt;p&gt;The future skill is not “trust AI” or “never trust AI.” Both are lazy positions.&lt;/p&gt;

&lt;p&gt;The real skill is calibrated trust.&lt;/p&gt;

&lt;p&gt;Calibrated trust means you know when to accept help, when to inspect closely, when to test, when to ask for another approach, and when to throw the output away.&lt;/p&gt;

&lt;p&gt;A junior developer without judgment may trust AI because the answer looks professional.&lt;/p&gt;

&lt;p&gt;A strong developer checks the assumptions. They run the tests. They read the diff. They think through the edge cases. They ask, “What would fail in production?”&lt;/p&gt;

&lt;p&gt;That is the skill AI cannot remove from the job. It can make it more important.&lt;/p&gt;

&lt;p&gt;Beginners need constraints&lt;/p&gt;

&lt;p&gt;The worst way to learn with AI is to keep the assistant fully open all the time.&lt;/p&gt;

&lt;p&gt;“Build this whole feature.”&lt;br&gt;
“Fix all the bugs.”&lt;br&gt;
“Write the tests.”&lt;br&gt;
“Explain later.”&lt;br&gt;
“Refactor everything.”&lt;/p&gt;

&lt;p&gt;That workflow feels powerful, but it gives the learner too many exits. Every hard moment becomes something to escape instead of something to understand.&lt;/p&gt;

&lt;p&gt;A better workflow adds constraints.&lt;/p&gt;

&lt;p&gt;Before AI writes code, explain the problem in your own words. After AI writes code, explain the solution back line by line. Change one part manually. Break the code on purpose. Predict the error before running it. Ask AI why the error happened, then verify it yourself. Rewrite the part you understand least without copying.&lt;/p&gt;

&lt;p&gt;That is slower than pure generation. It is also the point.&lt;/p&gt;

&lt;p&gt;Learning is not the same as output. A generated solution is raw material. The learning happens when you inspect it, question it, change it, and rebuild part of it with your own hands.&lt;/p&gt;

&lt;p&gt;Coding education has to change&lt;/p&gt;

&lt;p&gt;Traditional tutorials already had a passive learning problem. A student could copy the instructor’s code, finish the app, and still struggle to build anything alone.&lt;/p&gt;

&lt;p&gt;AI can make that problem worse.&lt;/p&gt;

&lt;p&gt;Now the student does not even need to copy. They can ask for the finished code directly.&lt;/p&gt;

&lt;p&gt;That is why the next version of coding education cannot just add an AI chatbot beside the video player and call it progress. The AI has to be part of a learning system that forces thinking.&lt;/p&gt;

&lt;p&gt;This is the exact problem Staqed is trying to solve. Students build real projects inside VS Code, but the AI coach should not just dump code. It should ask questions, validate decisions, review real code, and help the student understand why the solution works. Human mentors and code validation matter because learning needs feedback, not just answers.&lt;/p&gt;

&lt;p&gt;AI belongs in the learning environment.&lt;/p&gt;

&lt;p&gt;It just should not replace the learner.&lt;/p&gt;

&lt;p&gt;Use AI, but stay in the loop&lt;/p&gt;

&lt;p&gt;The best AI workflow is not passive.&lt;/p&gt;

&lt;p&gt;Ask it to explain the concept before it writes the code. Ask for two approaches and the trade-offs. Ask it what can go wrong. Ask it to review your solution before showing its own. Ask it to give hints first. Ask it to quiz you after.&lt;/p&gt;

&lt;p&gt;When it generates code, do not treat the output as finished. Treat it as a draft from a very fast teammate who might be wrong, overconfident, or missing your context.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Read it.&lt;/li&gt;
&lt;li&gt;Run it.&lt;/li&gt;
&lt;li&gt;Break it.&lt;/li&gt;
&lt;li&gt;Debug it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Rebuild the part you do not understand.&lt;/p&gt;

&lt;p&gt;That is how AI makes you faster without making you weaker.&lt;/p&gt;

&lt;p&gt;The danger is not AI helping developers. The danger is AI letting developers skip the struggle that builds judgment.&lt;/p&gt;

&lt;p&gt;Use AI to learn faster, not to avoid learning.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>coding</category>
      <category>devskills</category>
      <category>staqed</category>
    </item>
    <item>
      <title>Build a Multivendor E-commerce Website using Django, React &amp; Django Rest Framework</title>
      <dc:creator>Destiny Franks</dc:creator>
      <pubDate>Thu, 25 Jan 2024 17:59:05 +0000</pubDate>
      <link>https://dev.to/desphixs/build-a-multivendor-e-commerce-website-using-django-react-django-rest-framework-4115</link>
      <guid>https://dev.to/desphixs/build-a-multivendor-e-commerce-website-using-django-react-django-rest-framework-4115</guid>
      <description>&lt;p&gt;&lt;strong&gt;Hey, You can WATCH PROJECT DEMO VIDEO BELOW&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://youtu.be/aDHK2-d0_ls" rel="noopener noreferrer"&gt;https://youtu.be/aDHK2-d0_ls&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let's get started!&lt;/p&gt;

&lt;p&gt;Hey there fellow developers and entrepreneurs! 🚀 In today's tech-driven world, e-commerce is where it's at! And if you're thinking about diving into the online shopping game, you're in the right place. We're gonna show you how to build an awesome multivendor e-commerce website using Django, React, and Django Rest Framework (DRF).&lt;/p&gt;
&lt;h3&gt;
  
  
  Let's Get Real: What You Need
&lt;/h3&gt;

&lt;p&gt;Before we jump into the coding magic, make sure you've got Python and Node.js installed on your machine. Trust us, you don't wanna be stuck in dependency hell! Once you're all set, fire up your terminal and let's get started.&lt;/p&gt;
&lt;h3&gt;
  
  
  Setting Up Shop
&lt;/h3&gt;

&lt;p&gt;First things first, let's create a Django project. Open your terminal and run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;django-admin startproject multivendor_ecommerce
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now that we've got our Django project, let's spice things up with some React goodness. In your terminal, run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx create-react-app frontend
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Planning the Party: Designing Our Database Models
&lt;/h3&gt;

&lt;p&gt;Every good party needs a plan, right? Same goes for our e-commerce site. We'll need some key models like User, Product, Order, and Vendor and many many more models to keep things organized. Think of them as the VIP guests of our platform (Wink)&lt;/p&gt;

&lt;h3&gt;
  
  
  Time to Get Fancy: Implementing Authentication and Authorization
&lt;/h3&gt;

&lt;p&gt;We wanna keep our platform secure, so let's set up authentication and authorization. We'll use Django's built-in authentication system and DRF's token-based authentication for our API endpoints. No party crashers allowed!&lt;/p&gt;

&lt;h3&gt;
  
  
  Let's Get API-tastic: Building the RESTful API
&lt;/h3&gt;

&lt;p&gt;With DRF, creating APIs is a breeze. We'll whip up some serializers and views to handle all the data flow. Our API will be the life of the party, serving up endpoints for users, products, orders, and vendors.&lt;/p&gt;

&lt;h3&gt;
  
  
  Frontend Fun with React
&lt;/h3&gt;

&lt;p&gt;Now comes the fun part – building the frontend with React! We'll create some killer components for product listings, shopping carts, checkout pages, and more. React Router will keep the party going, handling all the page navigation like a pro.&lt;/p&gt;

&lt;h3&gt;
  
  
  Time to Get Paid: Integrating Payment Gateway
&lt;/h3&gt;

&lt;p&gt;What's a party without some cash flow, right? We'll integrate a payment gateway like Stripe or PayPal to handle online payments. Customers can pay for their orders securely, and we'll handle all the payment processing behind the scenes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Let's Go Live: Deploying the Application
&lt;/h3&gt;

&lt;p&gt;The party ain't over till it's over! Once everything's ready to roll, we'll deploy our e-commerce site to the interwebs. We'll set up our server, configure the database, and deploy both the Django backend and React frontend. Time to let the world know about our awesome new platform!&lt;/p&gt;

&lt;h3&gt;
  
  
  Wrapping Up
&lt;/h3&gt;

&lt;p&gt;And there you have it, folks! We've just built a kickass multivendor e-commerce site using Django, React, and DRF. Whether you're looking to start your own online marketplace or just wanna level up your web dev skills, this project's got it all. So go ahead, roll up your sleeves, and let's get coding!&lt;/p&gt;

&lt;p&gt;Happy hacking Buddies! 🚀🛍️&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;WATCH PROJECT DEMO VIDEO BELOW&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://youtu.be/aDHK2-d0_ls" rel="noopener noreferrer"&gt;https://youtu.be/aDHK2-d0_ls&lt;/a&gt;&lt;/p&gt;

</description>
      <category>django</category>
      <category>react</category>
      <category>djangorestframework</category>
    </item>
    <item>
      <title>Send Email using Django &amp; Mailgun - Easy and Free</title>
      <dc:creator>Destiny Franks</dc:creator>
      <pubDate>Thu, 20 Apr 2023 15:32:09 +0000</pubDate>
      <link>https://dev.to/desphixs/send-email-using-django-mailgun-easy-and-free-4cc9</link>
      <guid>https://dev.to/desphixs/send-email-using-django-mailgun-easy-and-free-4cc9</guid>
      <description>&lt;p&gt;In this short posts i would be showing how to quickly send email to email addresses using django, malgun and anymail packages.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/anymail/django-anymail" rel="noopener noreferrer"&gt;Anymail&lt;/a&gt; lets you send and receive email in Django using your choice of transactional email service providers (ESPs). It extends the standard django.core.mail with many common ESP-added features, providing a consistent API that avoids locking your code to one specific ESP (and making it easier to change ESPs later if needed).&lt;/p&gt;

&lt;p&gt;Anymail currently supports these ESPs:&lt;/p&gt;

&lt;p&gt;Amazon SES&lt;br&gt;
MailerSend&lt;br&gt;
Mailgun&lt;br&gt;
Mailjet&lt;br&gt;
Mandrill (MailChimp transactional)&lt;br&gt;
Postal (self-hosted ESP)&lt;br&gt;
Postmark&lt;br&gt;
SendGrid&lt;br&gt;
SendinBlue&lt;br&gt;
SparkPost&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.mailgun.com/" rel="noopener noreferrer"&gt;Mailgun &lt;/a&gt;is an email automation service built for developers. It offers a complete cloud-based email service for sending, receiving and tracking emails sent through your websites and applications. Mailgun's intelligent inbound routing and storage enables you to know exactly where your emails are ending up.&lt;/p&gt;

&lt;p&gt;And finally &lt;a href="https://www.djangoproject.com/start/" rel="noopener noreferrer"&gt;Django&lt;/a&gt; is a free and open-source, Python-based web framework that follows the model–template–views architectural pattern and trust me it is really awesome i'd say.&lt;/p&gt;

&lt;p&gt;Let's quit talking and get to work&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Firsly, you need to install the anymail package
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pip install "django-anymail[mailgun]"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ol&gt;
&lt;li&gt;Add anymail to django installed app
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;INSTALLED_APPS = [
    # ...
    "anymail",
    # ...
]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ol&gt;
&lt;li&gt;In your &lt;strong&gt;settings.py&lt;/strong&gt; add your &lt;code&gt;Mailgun&lt;/code&gt; api keys and sanbox domains for testing purposes
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ANYMAIL = {
    "MAILGUN_API_KEY": "api_key_305834958304534",
    "MAILGUN_SENDER_DOMAIN": 'sandbox467c****.mailgun.org',  
}
EMAIL_BACKEND = "anymail.backends.mailgun.EmailBackend" 
DEFAULT_FROM_EMAIL = "your-sender-email@example.com" 
SERVER_EMAIL = "your-sender-email@example.com"  
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;NOTE: you would need to create an account with mailgun, after successful account creation, follow these steps&lt;br&gt;
i. Login to dashbaord &lt;br&gt;
ii. Sendig &lt;br&gt;
iii. Domain (suboption)&lt;br&gt;
iv. CLick on the sandbox domain url&lt;br&gt;
v. CLick on the api keys&lt;br&gt;
vi. Copy your secret api key and paste above.&lt;/p&gt;

&lt;p&gt;For testing purposes, you need to add the recipient email address in the box at the right side of the dashboard&lt;br&gt;
Here is an image&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fg7dqgljo19v8g3x2dy9o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fg7dqgljo19v8g3x2dy9o.png" alt=" " width="800" height="399"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you have a paid account, you do not need to do this.&lt;/p&gt;

&lt;p&gt;After all these are done, create a simple function based view to send the email in views.py&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;from django.core.mail import EmailMultiAlternatives, send_mail
def send_mail_func(request):
    ...
    send_mail("New Order!", "Hey buddy, you have a new order",
          "sender-email@gmail.com", ["reciever-email@gmail.com"])
    return HttpResponse("Email Sent")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;COnfigure the url, and visit this page on your browser.&lt;br&gt;
It should be working now, it did for me.&lt;/p&gt;

&lt;p&gt;Here is the &lt;a href="https://anymail.dev/en/stable/" rel="noopener noreferrer"&gt;anymail &lt;/a&gt;api &lt;a href="https://anymail.dev/en/stable/" rel="noopener noreferrer"&gt;doc&lt;/a&gt;&lt;/p&gt;

</description>
      <category>django</category>
      <category>mailgun</category>
      <category>anymail</category>
      <category>sendmail</category>
    </item>
    <item>
      <title>🔴 Build Instagram Clone using Django, HTML &amp; CSS - Tutorial</title>
      <dc:creator>Destiny Franks</dc:creator>
      <pubDate>Thu, 06 Oct 2022 00:44:12 +0000</pubDate>
      <link>https://dev.to/desphixs/build-instagram-clone-using-django-html-css-tutorial-40gm</link>
      <guid>https://dev.to/desphixs/build-instagram-clone-using-django-html-css-tutorial-40gm</guid>
      <description>&lt;p&gt;Hello guys, my name is Destiny and welcome to my &lt;strong&gt;first Post here.&lt;/strong&gt; In today's post we'd be Learning how to build an &lt;strong&gt;Instagram Clone using Django, HTML &amp;amp; CSS&lt;/strong&gt;. I Just Love to build these to practice my Django Skills and teach you guys too. I made a tutorial video to help beginners to improve there &lt;strong&gt;Django&lt;/strong&gt; skills to build &lt;strong&gt;real world projects&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Watch Complete Tutorial Here&lt;br&gt;
&lt;a href="https://youtu.be/qw5ZEvylQBA"&gt;https://youtu.be/qw5ZEvylQBA&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/qw5ZEvylQBA"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;➜ Github: &lt;a href="https://github.com/desphixs/Instagram-Clone"&gt;https://github.com/desphixs/Instagram-Clone&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Note: Subscribe to My YouTube Channel, I also Build a Netfix Clone using Django, you should check it out.&lt;/p&gt;

</description>
      <category>instagramclone</category>
      <category>django</category>
      <category>webdev</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
