<?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: christal riziki</title>
    <description>The latest articles on DEV Community by christal riziki (@christal_riziki_62c4dd40f).</description>
    <link>https://dev.to/christal_riziki_62c4dd40f</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%2F3139074%2Fc493139c-2336-4720-af54-14b04541f2ce.jpg</url>
      <title>DEV Community: christal riziki</title>
      <link>https://dev.to/christal_riziki_62c4dd40f</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/christal_riziki_62c4dd40f"/>
    <language>en</language>
    <item>
      <title>Building an AI-Powered Task Scheduler with Angular and Gemini</title>
      <dc:creator>christal riziki</dc:creator>
      <pubDate>Tue, 31 Mar 2026 08:38:51 +0000</pubDate>
      <link>https://dev.to/christal_riziki_62c4dd40f/building-an-ai-powered-task-scheduler-with-angular-and-gemini-2i7</link>
      <guid>https://dev.to/christal_riziki_62c4dd40f/building-an-ai-powered-task-scheduler-with-angular-and-gemini-2i7</guid>
      <description>&lt;p&gt;In today’s fast-paced digital world, productivity tools are evolving beyond static task lists into intelligent assistants. In this project, I built an AI-powered task scheduler using Angular and Gemini, demonstrating how modern front end frameworks can seamlessly integrate with generative AI to enhance user experience.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Project Overview&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The application allows users to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Schedule tasks (name, email, type, date, time)&lt;/li&gt;
&lt;li&gt;View scheduled tasks dynamically&lt;/li&gt;
&lt;li&gt;Generate AI-powered reminders based on their task list&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This bridges the gap between traditional scheduling tools and intelligent automation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Architecture&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The system is built using:&lt;/p&gt;

&lt;p&gt;Frontend: Angular (Standalone Components)&lt;br&gt;
AI Integration: Google Gemini API&lt;br&gt;
HTTP Communication: Angular HttpClient&lt;br&gt;
State Handling: Component-level state&lt;br&gt;
&lt;code&gt;User Input → Angular Component → AI Service → Gemini API → Response → UI&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Angular Concepts Used&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;1. Standalone Components&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Instead of NgModules, the app uses Angular’s modern standalone architecture:&lt;/p&gt;

&lt;p&gt;`&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;code&gt;typescript&lt;br&gt;
@Component({&lt;br&gt;
  standalone: true,&lt;br&gt;
  imports: [FormsModule, CommonModule]&lt;br&gt;
})&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;`&lt;code&gt;&lt;/code&gt;&lt;br&gt;
This simplifies structure and improves scalability&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Service-Based Architecture&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;AI logic is separated into a service:&lt;/p&gt;

&lt;p&gt;`&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nd"&gt;Injectable&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="na"&gt;providedIn&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;root&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt;
&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;AiService&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;`&lt;/p&gt;

&lt;p&gt;This keeps the component clean and reusable.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;*&lt;em&gt;HTTP Requests with HttpClient
*&lt;/em&gt;
Instead of Axios, Angular’s native HttpClient is used:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;code&gt;typescript&lt;br&gt;
this.http.post(this.apiUrl, body)&lt;br&gt;
&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;

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

&lt;p&gt;Built-in RxJS support&lt;br&gt;
Interceptors&lt;br&gt;
Better Angular integration&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Gemini AI Integration&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The application uses Gemini to generate contextual reminders:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;code&gt;typescript&lt;br&gt;
&lt;/code&gt;const prompt = &lt;code&gt;Here are my tasks: ${JSON.stringify(tasks)}.&lt;br&gt;
Suggest a helpful reminder for me.&lt;/code&gt;;`&lt;/p&gt;

&lt;p&gt;&lt;code&gt;`&lt;br&gt;
API Request Structure&lt;br&gt;
{&lt;br&gt;
  "contents": [&lt;br&gt;
    {&lt;br&gt;
      "parts": [&lt;br&gt;
        { "text": "Prompt here" }&lt;br&gt;
      ]&lt;br&gt;
    }&lt;br&gt;
  ]&lt;br&gt;
}&lt;br&gt;
`&lt;/code&gt;plaintext&lt;br&gt;
`&lt;code&gt;&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;Response Handling&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;res?.candidates?.[0]?.content?.parts?.[0]?.text&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Challenges &amp;amp; Lessons Learned&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;API Errors (403 &amp;amp; 503)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;403 → Permission / API key issues&lt;br&gt;
503 → Model unavailable or overloaded&lt;/p&gt;

&lt;p&gt;** Solution:**&lt;/p&gt;

&lt;p&gt;Use stable model: gemini-3.1-flash-lite&lt;br&gt;
Enable API + billing&lt;br&gt;
Handle errors gracefully&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Angular Component Scope&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;CSS initially didn’t apply due to Angular’s style encapsulation.&lt;/p&gt;

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

&lt;p&gt;Match HTML structure with CSS classes&lt;br&gt;
Move global styles to styles.css&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Standalone Component Imports&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Error:&lt;/p&gt;

&lt;p&gt;'app-scheduler' is not a known element&lt;/p&gt;

&lt;p&gt;** Solution:**&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;code&gt;&lt;br&gt;
imports: [Scheduler]&lt;br&gt;
&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;br&gt;
 Security Consideration&lt;/p&gt;

&lt;p&gt;Calling Gemini directly from Angular exposes your API key.&lt;/p&gt;

&lt;p&gt;Best Practice:&lt;br&gt;
&lt;code&gt;Angular → Backend → Gemini API&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This protects credentials and improves scalability.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Impact&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This project demonstrates:&lt;/p&gt;

&lt;p&gt;How AI can enhance everyday applications&lt;br&gt;
The power of Angular in building scalable UIs&lt;br&gt;
The simplicity of integrating generative AI into real-world apps&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;By combining Angular and Gemini, we move from static interfaces to intelligent, context-aware applications.&lt;/p&gt;

&lt;p&gt;This is just the beginning of what AI-powered frontend development can achieve.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>javascript</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Building a Structured Healthcare Website with React &amp; Vite: A Practical Walkthrough</title>
      <dc:creator>christal riziki</dc:creator>
      <pubDate>Wed, 11 Feb 2026 23:04:34 +0000</pubDate>
      <link>https://dev.to/christal_riziki_62c4dd40f/building-a-structured-healthcare-website-with-react-vite-a-practical-walkthrough-5508</link>
      <guid>https://dev.to/christal_riziki_62c4dd40f/building-a-structured-healthcare-website-with-react-vite-a-practical-walkthrough-5508</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;Introduction&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;In this project, I built a modern healthcare website using React and Vite, with a strong emphasis on clean component architecture, maintainable styling, and real-world debugging. The application focuses on presenting healthcare services, professional expertise, and contact information in a clear, accessible, and scalable way specifically tailored for a women’s health and gynecologic oncology context.&lt;/p&gt;

&lt;p&gt;This article documents the technical decisions, folder structure, common errors encountered, and solutions applied during development.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Technology Stack&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;React (Functional Components)&lt;/p&gt;

&lt;p&gt;Vite (for fast development and bundling)&lt;/p&gt;

&lt;p&gt;CSS (modular, folder-based styling)&lt;/p&gt;

&lt;p&gt;React Router (page-level navigation)&lt;/p&gt;

&lt;p&gt;ES Modules&lt;/p&gt;

&lt;p&gt;Project Structure&lt;/p&gt;

&lt;p&gt;One of the earliest and most important steps was defining a clear folder structure:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;src/&lt;br&gt;
 ├─ pages/&lt;br&gt;
 │   ├─ Services.jsx&lt;br&gt;
 │   ├─ Contact.jsx&lt;br&gt;
 │   └─ Home.jsx&lt;br&gt;
 ├─ styles/&lt;br&gt;
 │   ├─ Services.css&lt;br&gt;
 │   └─ Contact.css&lt;br&gt;
 ├─ components/&lt;br&gt;
 │   └─ Navbar.jsx&lt;br&gt;
 └─ App.jsx&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Why this matters&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Pages represent full routes (/services, /contact)&lt;/p&gt;

&lt;p&gt;Components are reusable UI pieces&lt;/p&gt;

&lt;p&gt;Styles are centralized and easy to maintain&lt;/p&gt;

&lt;p&gt;Prevents import confusion and scaling issues later&lt;/p&gt;

&lt;p&gt;**&lt;/p&gt;

&lt;h2&gt;
  
  
  Building the Services Page
&lt;/h2&gt;

&lt;p&gt;**&lt;br&gt;
Defining a Proper React Component&lt;/p&gt;

&lt;p&gt;One of the first issues encountered was a classic beginner error:&lt;/p&gt;

&lt;p&gt;ReferenceError: Services is not defined&lt;/p&gt;

&lt;p&gt;This happened because JSX was written without wrapping it in a function component.&lt;/p&gt;

&lt;p&gt;Correct Approach&lt;/p&gt;

&lt;p&gt;Every React page must:&lt;/p&gt;

&lt;p&gt;Be wrapped in a function&lt;/p&gt;

&lt;p&gt;Return JSX&lt;/p&gt;

&lt;p&gt;Be exported&lt;/p&gt;

&lt;p&gt;`function Services() {&lt;br&gt;
  return (&lt;br&gt;
    &lt;br&gt;
      {/* JSX goes here */}&lt;br&gt;
    &lt;br&gt;
  );&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;export default Services;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Using Data-Driven Rendering&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Instead of hardcoding each service card, I used an array of objects and mapped over it:&lt;/p&gt;

&lt;p&gt;`const services = [&lt;br&gt;
  { title: "Gynecologic Oncology Care", text: "..." },&lt;br&gt;
  { title: "Cervical Cancer Prevention", text: "..." }&lt;br&gt;
];&lt;/p&gt;

&lt;p&gt;{services.map((service, index) =&amp;gt; (&lt;br&gt;
  &lt;/p&gt;
&lt;br&gt;
    &lt;h3&gt;{service.title}&lt;/h3&gt;
&lt;br&gt;
    &lt;p&gt;{service.text}&lt;/p&gt;
&lt;br&gt;
  &lt;br&gt;
``&lt;br&gt;
**
&lt;h2&gt;
  
  
  Benefits
&lt;/h2&gt;

&lt;p&gt;**&lt;/p&gt;

&lt;p&gt;Cleaner JSX&lt;/p&gt;

&lt;p&gt;Easier to update or add services&lt;/p&gt;

&lt;p&gt;More scalable for APIs or CMS integration&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Styling with External CSS&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The Import Error Problem&lt;/p&gt;

&lt;p&gt;A common Vite error appeared:&lt;/p&gt;

&lt;p&gt;Failed to resolve import "./Services.css"&lt;/p&gt;

&lt;p&gt;This happened because:&lt;/p&gt;

&lt;p&gt;The CSS file was located in src/styles&lt;/p&gt;

&lt;p&gt;The import path assumed the same folder&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Correct Import Path&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;import "../styles/Services.css";&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;Key Takeaway&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Vite is strict about file paths and capitalization.&lt;br&gt;
Always verify:&lt;/p&gt;

&lt;p&gt;Folder location&lt;/p&gt;

&lt;p&gt;Exact file name casing&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Structuring Sections for Readability&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The Services page was broken into clear semantic sections:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Intro Header&lt;/p&gt;

&lt;p&gt;Services Grid&lt;/p&gt;

&lt;p&gt;How It Works&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Choose My Services&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Each section had:&lt;/p&gt;

&lt;p&gt;A dedicated container&lt;/p&gt;

&lt;p&gt;Clear class names&lt;/p&gt;

&lt;p&gt;Logical hierarchy&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;This improves:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Accessibility&lt;/p&gt;

&lt;p&gt;Maintainability&lt;/p&gt;

&lt;p&gt;Team collaboration&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Aligning Content with Domain Knowledge&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The “Why Choose My Services” section was initially generic.&lt;br&gt;
I refined it to reflect actual expertise, including:&lt;/p&gt;

&lt;p&gt;Gynecologic oncology specialization&lt;/p&gt;

&lt;p&gt;Cervical cancer prevention&lt;/p&gt;

&lt;p&gt;Community outreach&lt;/p&gt;

&lt;p&gt;Digital health and health systems strengthening&lt;/p&gt;

&lt;p&gt;This highlights an important lesson:&lt;/p&gt;

&lt;p&gt;Good React code is not just about components—it’s about accurate, intentional content.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Building the Contact Page Header&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The Contact page required a minimal, professional header section:&lt;/p&gt;

&lt;p&gt;No buttons&lt;/p&gt;

&lt;p&gt;No CTA components&lt;/p&gt;

&lt;p&gt;Just a title and supporting text&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;section className="contact-section"&amp;gt;&lt;br&gt;
  &amp;lt;h1&amp;gt;Get in Touch&amp;lt;/h1&amp;gt;&lt;br&gt;
  &amp;lt;p&amp;gt;Contact us to schedule an appointment...&amp;lt;/p&amp;gt;&lt;br&gt;
&amp;lt;/section&amp;gt;&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Styled with:&lt;/p&gt;

&lt;p&gt;Centered layout&lt;/p&gt;

&lt;p&gt;Soft neutral background&lt;/p&gt;

&lt;p&gt;Accessible font sizes&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Debugging Mindset: Lessons Learned&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Throughout development, we encountered and resolved:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Undefined component exports&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Always define and export components properly&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Broken CSS imports&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Match folder structure and relative paths&lt;/p&gt;

&lt;p&gt;** Over-engineering**&lt;/p&gt;

&lt;p&gt;Keep pages simple unless reuse is required&lt;/p&gt;

&lt;p&gt;** Generic content**&lt;/p&gt;

&lt;p&gt;Align UI text with real domain expertise&lt;/p&gt;

&lt;p&gt;**&lt;/p&gt;

&lt;h2&gt;
  
  
  Best Practices Applied
&lt;/h2&gt;

&lt;p&gt;**&lt;/p&gt;

&lt;p&gt;Functional components only&lt;/p&gt;

&lt;p&gt;Clear file naming&lt;/p&gt;

&lt;p&gt;Relative imports (no magic paths)&lt;/p&gt;

&lt;p&gt;Data-driven rendering&lt;/p&gt;

&lt;p&gt;Separation of concerns (JSX vs CSS)&lt;/p&gt;

&lt;p&gt;**&lt;/p&gt;

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

&lt;p&gt;**&lt;/p&gt;

&lt;p&gt;This project demonstrates how real React development works:&lt;/p&gt;

&lt;p&gt;You build&lt;/p&gt;

&lt;p&gt;You break things&lt;/p&gt;

&lt;p&gt;You debug&lt;/p&gt;

&lt;p&gt;You refine both code and content&lt;/p&gt;

&lt;p&gt;By combining clean architecture, practical debugging, and domain-aligned content, we created a healthcare website that is both technically sound and professionally credible.&lt;/p&gt;

&lt;p&gt;This approach scales well—whether the next step is form handling, API integration, authentication, or deployment.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Setting Up Your First React Project with Vite and VS Code</title>
      <dc:creator>christal riziki</dc:creator>
      <pubDate>Tue, 03 Feb 2026 08:34:26 +0000</pubDate>
      <link>https://dev.to/christal_riziki_62c4dd40f/setting-up-your-first-react-project-with-vite-and-vs-code-on0</link>
      <guid>https://dev.to/christal_riziki_62c4dd40f/setting-up-your-first-react-project-with-vite-and-vs-code-on0</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;Introduction&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;React is one of the most popular JavaScript libraries for building modern user interfaces. For beginners, the biggest challenge is often not React itself, but setting up the development environment correctly. This article walks through a simple, modern, and reliable way to set up your first React project using Node.js, Vite, and Visual Studio Code, while addressing common issues beginners face.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Prerequisites&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Before starting a React project, you need the following:&lt;/p&gt;

&lt;p&gt;A computer running Windows, Linux, or macOS&lt;/p&gt;

&lt;p&gt;Node.js (LTS version recommended)&lt;/p&gt;

&lt;p&gt;npm (comes bundled with Node.js)&lt;/p&gt;

&lt;p&gt;Visual Studio Code &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Installing Node.js&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Download Node.js from the official website:&lt;br&gt;
&lt;a href="https://nodejs.org/" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After installation, verify it by running:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;node -v&lt;br&gt;
npm -v&lt;/code&gt;&lt;br&gt;
Why Use Vite Instead of Create React App?&lt;/p&gt;

&lt;p&gt;Vite is a modern build tool that provides:&lt;/p&gt;

&lt;p&gt;Faster startup time&lt;/p&gt;

&lt;p&gt;Instant hot reload&lt;/p&gt;

&lt;p&gt;Minimal configuration&lt;/p&gt;

&lt;p&gt;Industry adoption for modern React projects&lt;br&gt;
reating a React Project with Vite&lt;/p&gt;

&lt;p&gt;Run the following command in your terminal:&lt;/p&gt;

&lt;p&gt;npm create vite@latest my-first-react-app&lt;/p&gt;

&lt;p&gt;When prompted, select:&lt;/p&gt;

&lt;p&gt;Framework: React&lt;/p&gt;

&lt;p&gt;Variant: TypeScript /Javascript (Work with a languange that you best understand)&lt;br&gt;
During setup, you may see this prompt:&lt;/p&gt;

&lt;p&gt;Use rolldown-vite ?&lt;br&gt;
○ Yes&lt;br&gt;
● No&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What Is rolldown-vite?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;rolldown-vite is an experimental version of Vite that uses a new Rust-based bundler. While it promises better performance, it is not recommended for beginners due to limited documentation and potential instability.&lt;/p&gt;

&lt;p&gt;Always choose No when a beginner in  React.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Installing Dependencies&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Navigate into the project folder and install dependencies:&lt;/p&gt;

&lt;p&gt;cd my-first-react-app&lt;br&gt;
npm install&lt;/p&gt;

&lt;p&gt;Lastly Open your first react project in your Vs Code.&lt;/p&gt;

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