Project Objective:
Create a fully dynamic [Link] website with an admin dashboard where you can:
✅ Add/edit/delete Portfolio items
✅ Add/edit/delete Services with pricing
✅ Control meta tags for SEO per page
✅ Integrate Google Analytics
✅ Manage [Link] and [Link]
✅ Submit to Google Search Console (Webmaster Tool)
Tech Stack:
• [Link] (Backend)
• [Link] (Framework)
• MongoDB (Atlas) (Database)
• EJS / Pug / Handlebars (for server-side rendering) OR React (for frontend)
• Mongoose (DB ORM)
• [Link] / JWT (Authentication)
• Multer / Cloudinary (Image uploads)
• Google Analytics, Search Console, [Link], [Link]
Folder Structure Example:
/project-folder
/public
/css
/images
/js
/routes
[Link]
[Link]
/controllers
[Link]
[Link]
/models
[Link]
[Link]
[Link]
/views
/admin
[Link]
[Link]
[Link]
[Link]
/website
[Link]
[Link]
[Link]
/config
[Link]
[Link]
[Link]
[Link]
[Link]
Step-by-Step Development Guide:
✅ 1⃣ Project Setup
• Install [Link], Express, Mongoose
• Setup MongoDB Atlas connection
• Install required packages:
pgsql
npm install express mongoose ejs multer cloudinary express-session passport jsonwebtoken
body-parser
✅ 2⃣ Create Models
• [Link]
• [Link]
• [Link]
Each with elds like title, description, imageURL, price, metaTitle, metaDescription, etc.
fi
✅ 3⃣ Create Admin Dashboard
• Login authentication using [Link]
• Admin routes for:
◦ Add/Edit/Delete Portfolio
◦ Add/Edit/Delete Services
◦ Update SEO meta tags for each page (store in DB)
◦ Update Pricing Pages
✅ 4⃣ Google Analytics Integration
• Create a Google Analytics property
• Get tracking code
• Embed it inside your views/partials/[Link]:
html
<script async src="[Link]
• <script>
• [Link] = [Link] || [];
• function gtag(){[Link](arguments);}
• gtag('js', new Date());
• gtag('config', 'G-XXXXXXX');
• </script>
•
✅ 5⃣ Generate [Link]
• Create a [Link] le dynamically via a route
Example: /routes/[Link]
• Use package:
nginx
npm install sitemap
✅ 6⃣ Create [Link]
• Create a [Link] in the root folder:
makefile
fi
User-agent: *
• Disallow:
• Sitemap: [Link]
•
✅ 7⃣ Submit to Google Webmaster Tools (Search Console)
• Verify your website via HTML meta tag or le upload
• Submit your [Link]
• Track URL indexing and analytics reports
✅ 8⃣ SEO Module in Admin Panel
• Input elds for:
◦ Page Title
◦ Meta Description
◦ Meta Keywords
• Save in SEO collection in MongoDB
• Fetch dynamically in website pages
Example:
fi
fi
html
<title><%= [Link] %></title>
<meta name="description" content="<%= [Link] %>">
Bonus Features:
• Image optimization before upload via Sharp / Cloudinary
• Social media preview meta tags (OpenGraph)
• Blog management (optional)
• Contact form with email noti cation (using Nodemailer)
Deployment:
• Host on DigitalOcean, Vercel, or [Link]
• Use PM2 for production server management
• Enable HTTPS via Let’s Encrypt
fi