<?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: sabaritech</title>
    <description>The latest articles on DEV Community by sabaritech (@sabaritech_3e920f22d220ef).</description>
    <link>https://dev.to/sabaritech_3e920f22d220ef</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%2F3917055%2Fb1e4506e-ca39-4113-bebd-d868e7320bd2.png</url>
      <title>DEV Community: sabaritech</title>
      <link>https://dev.to/sabaritech_3e920f22d220ef</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sabaritech_3e920f22d220ef"/>
    <language>en</language>
    <item>
      <title>MERN STACK project structure &amp; development</title>
      <dc:creator>sabaritech</dc:creator>
      <pubDate>Fri, 08 May 2026 04:36:18 +0000</pubDate>
      <link>https://dev.to/sabaritech_3e920f22d220ef/mern-stack-project-structure-development-501m</link>
      <guid>https://dev.to/sabaritech_3e920f22d220ef/mern-stack-project-structure-development-501m</guid>
      <description>&lt;p&gt;The MERN Stack development session is held as two days hands on interactive session with the various integration features which is useful to understand the basic functions and structure from cmd to hosting using multiple platforms.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a account in the vercel , render , Mongodb compass.&lt;/li&gt;
&lt;li&gt;install all the dependencies for the project .
-&amp;gt; node.js to run the server and connect it &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;create a React.js page to run the frontend file :&lt;/p&gt;

&lt;p&gt;cmd :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;first we need to check the node version (node -v).
&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%2F61jummobjhhwg4rcv1sq.png" alt=" " width="303" height="95"&gt;
2.npm install -g create-vite
&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%2Fzinki8fq4bpr2siv544m.png" alt=" " width="447" height="144"&gt;
3.npm create vite@latest my-react-app -- --template react
&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%2Fy8vrjjrv55admgrsrj67.png" alt=" " width="665" height="230"&gt;

&lt;ol&gt;
&lt;li&gt;selecting react + js to choose the language use for the development process.&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;

&lt;/ol&gt;

&lt;p&gt;CREATING THIS TABLE STRUCTURE USING THE BASIC HTML AND CSS .&lt;br&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%2Fb3vr2tvp56v8dggehyba.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%2Fb3vr2tvp56v8dggehyba.png" alt=" " width="343" height="196"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;THE BELOW CODE IS USED TO FORM THE STRUCTURE... &lt;/p&gt;

&lt;p&gt;I editing these thing in the App.jsx and App.css and that is imported in the route of the main.jsx and from there it will be exported &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%2Fxu799a42cwtc4luphg49.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%2Fxu799a42cwtc4luphg49.png" alt=" " width="438" height="297"&gt;&lt;/a&gt;&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%2Fnswnujwrko6zq7gmobi9.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%2Fnswnujwrko6zq7gmobi9.png" alt=" " width="286" height="405"&gt;&lt;/a&gt;&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%2Fzd4iz92150moy2ga5wq9.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%2Fzd4iz92150moy2ga5wq9.png" alt=" " width="340" height="292"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;My React App Project Structure&lt;/p&gt;

&lt;p&gt;my-react-app/&lt;br&gt;
│&lt;br&gt;
├── frontend/&lt;br&gt;
│ ├── node_modules/&lt;br&gt;
│ ├── public/&lt;br&gt;
│ ├── src/&lt;br&gt;
│ │ ├── App.jsx&lt;br&gt;
│ │ ├── main.jsx&lt;br&gt;
│ │ ├── calculator.js&lt;br&gt;
│ │ └── index.css&lt;br&gt;
│ │&lt;br&gt;
│ ├── package.json&lt;br&gt;
│ ├── package-lock.json&lt;br&gt;
│ ├── vite.config.js&lt;br&gt;
│ └── .gitignore&lt;br&gt;
│&lt;br&gt;
├── backend/&lt;br&gt;
│ ├── server.js&lt;br&gt;
│ ├── calculator.js&lt;br&gt;
│ ├── package.json&lt;br&gt;
│ ├── package-lock.json&lt;br&gt;
│ └── .gitignore&lt;br&gt;
│&lt;br&gt;
└── README.md&lt;/p&gt;

&lt;p&gt;Backend Server Code&lt;/p&gt;

&lt;p&gt;const { createServer } = require('node:http');&lt;/p&gt;

&lt;p&gt;const hostname = '127.0.0.1';&lt;br&gt;
const port = 3000;&lt;/p&gt;

&lt;p&gt;const server = createServer((req, res) =&amp;gt; {&lt;br&gt;
res.statusCode = 200;&lt;br&gt;
res.setHeader('Content-Type', 'text/plain');&lt;br&gt;
res.end('Hello World 23AI053 SABARI SEKARAN MU');&lt;br&gt;
});&lt;/p&gt;

&lt;p&gt;server.listen(port, hostname, () =&amp;gt; {&lt;br&gt;
console.log(Server running at http://${hostname}:${port}/);&lt;br&gt;
});&lt;/p&gt;

&lt;p&gt;Frontend Run Commands&lt;/p&gt;

&lt;p&gt;cd frontend&lt;br&gt;
npm install&lt;br&gt;
npm run dev&lt;/p&gt;

&lt;p&gt;Backend Run Commands&lt;/p&gt;

&lt;p&gt;cd backend&lt;br&gt;
node server.js&lt;/p&gt;

&lt;p&gt;.gitignore File&lt;/p&gt;

&lt;p&gt;node_modules/&lt;br&gt;
.env&lt;br&gt;
dist/&lt;/p&gt;

&lt;p&gt;Git Commands&lt;/p&gt;

&lt;p&gt;git init&lt;br&gt;
git add .&lt;br&gt;
git commit -m "Initial project setup"&lt;br&gt;
git branch -M main&lt;br&gt;
git remote add origin &lt;br&gt;
git push -u origin main&lt;/p&gt;

&lt;p&gt;Project Features&lt;/p&gt;

&lt;p&gt;• React + Vite Frontend&lt;br&gt;
• Node.js Backend Server&lt;br&gt;
• Calculator UI Design&lt;br&gt;
• HTTP Server Integration&lt;br&gt;
• GitHub Repository Setup&lt;br&gt;
• .gitignore Configuration&lt;br&gt;
• Frontend Running on Port 5173&lt;br&gt;
• Backend Running on Port 3000&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%2Fxvo8dofjxw2tnrk7z5f2.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%2Fxvo8dofjxw2tnrk7z5f2.png" alt=" " width="548" height="125"&gt;&lt;/a&gt;&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%2Fl4t2n4f5j5i38pklgdnq.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%2Fl4t2n4f5j5i38pklgdnq.png" alt=" " width="457" height="193"&gt;&lt;/a&gt;&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%2Fn8ho9ewb5mvausuyv1ew.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%2Fn8ho9ewb5mvausuyv1ew.png" alt=" " width="544" height="340"&gt;&lt;/a&gt;&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%2Fojbv13cg35xrvb86xi92.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%2Fojbv13cg35xrvb86xi92.png" alt=" " width="466" height="74"&gt;&lt;/a&gt;&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%2Fpvydgwsozypfzlu8u2fx.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%2Fpvydgwsozypfzlu8u2fx.png" alt=" " width="265" height="71"&gt;&lt;/a&gt;&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%2Fv7wwnivuelvnc2e62spg.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%2Fv7wwnivuelvnc2e62spg.png" alt=" " width="800" height="600"&gt;&lt;/a&gt;&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%2Fu4gcuwjvst9s7ayb66vu.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%2Fu4gcuwjvst9s7ayb66vu.png" alt=" " width="324" height="441"&gt;&lt;/a&gt;&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%2F93ufprq1ywa0tfa7ynuw.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%2F93ufprq1ywa0tfa7ynuw.png" alt=" " width="543" height="148"&gt;&lt;/a&gt;&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%2Fid2zyn2ywb5xfpgo40nh.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%2Fid2zyn2ywb5xfpgo40nh.png" alt=" " width="619" height="545"&gt;&lt;/a&gt;&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%2Fgdy201e52uivyqpqvrvk.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%2Fgdy201e52uivyqpqvrvk.png" alt=" " width="554" height="135"&gt;&lt;/a&gt;&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%2Fubwnb4tuucwux8zo7tj0.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%2Fubwnb4tuucwux8zo7tj0.png" alt=" " width="632" height="259"&gt;&lt;/a&gt;&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%2Feponpi84c1s0qelf823z.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%2Feponpi84c1s0qelf823z.png" alt=" " width="524" height="551"&gt;&lt;/a&gt;&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%2Fd6zf8ko1frlzi8a8603g.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%2Fd6zf8ko1frlzi8a8603g.png" alt=" " width="203" height="235"&gt;&lt;/a&gt;&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%2Fgot8fzwmsyqenpfyg2uh.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%2Fgot8fzwmsyqenpfyg2uh.png" alt=" " width="675" height="164"&gt;&lt;/a&gt;&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%2F7vgbzgmgjk2t6kpvh0ep.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%2F7vgbzgmgjk2t6kpvh0ep.png" alt=" " width="512" height="56"&gt;&lt;/a&gt;&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%2F8bhqwgk5ve1qbjcunar4.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%2F8bhqwgk5ve1qbjcunar4.png" alt=" " width="691" height="467"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The project setup and version control process was completed successfully using Git and GitHub. Initially, the repository was cloned and connected to the local project folder. Necessary Git operations such as initializing the repository, configuring the remote origin, staging files, committing changes, and pushing the project to GitHub were performed correctly. During the process, issues related to nested repositories, missing modules, and unwanted files were identified and resolved effectively.&lt;/p&gt;

&lt;p&gt;A proper &lt;code&gt;.gitignore&lt;/code&gt; file was created to exclude unnecessary and large files such as &lt;code&gt;node_modules&lt;/code&gt;, environment files, build folders, and editor configurations from being uploaded to the repository. Previously tracked unwanted files were removed from Git tracking using cache removal commands, ensuring a clean and optimized repository structure.&lt;/p&gt;

&lt;p&gt;Additionally, MongoDB CRUD operations such as insert, find, update, and delete were practiced successfully using &lt;code&gt;mongosh&lt;/code&gt;, improving understanding of database handling and query syntax. Errors caused by incorrect method names, case sensitivity, and syntax mistakes were identified and corrected step by step.&lt;/p&gt;

&lt;p&gt;Overall, the project environment is now properly configured with Node.js, Express.js, MongoDB, Git, and GitHub integration. The repository is clean, organized, and ready for future development, collaboration, deployment, and version management.&lt;/p&gt;

</description>
      <category>mern</category>
      <category>vercel</category>
      <category>mongodb</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
