Production-Ready MERN Business Website
Budget / SalaryHourly project
TypeFreelance project
LocationRemote
Posted12 hours ago
# Project Brief — Production-Ready MERN Website
## Project Overview
I want to build a modern, fully responsive, production-ready business website using the MERN stack. The website should have a premium, professional UI, strong SEO, an admin dashboard, lead management, notifications, and easy content management.
The application should be designed so that the frontend, backend, database, authentication, SEO, notifications, and admin functionality work together as one complete system.
## Technology Stack
### Frontend
* React.js
* Vite
* Tailwind CSS
* React Router
* Redux Toolkit where global state management is required
* Axios
* Framer Motion for smooth animations
* Lucide React for icons
* Fully responsive design for mobile, tablet, laptop, and desktop
### Backend
* Node.js
* Express.js
* REST APIs
* JWT authentication
* bcrypt/password hashing
* Nodemailer for email notifications
* Cloudinary for image/media uploads
### Database
Use MySQL with a properly structured relational database.
The database should contain tables for:
* Admin users
* Website users if required
* Leads/inquiries
* Contact submissions
* Services
* Projects/portfolio
* Banners
* Testimonials
* Gallery/images
* Website settings
* Notifications
* SEO metadata
## Main Website Features
### Homepage
Create a premium homepage containing:
* Hero/banner section
* Company introduction
* Services
* Featured projects
* Portfolio/gallery
* Why choose us
* Testimonials
* Call-to-action section
* Contact section
* Footer
The homepage content should be manageable from the admin dashboard instead of being hardcoded.
### Services
Create a dynamic services section/page.
Admin should be able to:
* Add service
* Edit service
* Delete service
* Upload service image
* Add title
* Add description
* Add features
* Change display order
* Enable/disable service
### Portfolio / Projects
Create a dynamic portfolio system.
Each project should support:
* Project title
* Description
* Category
* Location
* Images
* Project details
* Completion date
* Featured status
Admin should be able to create, update, delete, and manage projects.
### Gallery
Create a responsive image gallery.
Features:
* Image upload
* Image preview
* Categories
* Delete image
* Featured images
* Ordering
* Cloudinary integration
### Contact / Lead Generation
The website must focus strongly on generating leads.
Create a professional inquiry form containing:
* Name
* Phone number
* Email
* Service
* Message
When a visitor submits the form:
1. Validate the form.
2. Save the lead to MySQL.
3. Send notification to the administrator.
4. Send confirmation email to the customer if email is provided.
5. Display a success message.
6. Prevent duplicate/spam submissions where possible.
The admin dashboard must show all incoming leads.
Lead statuses:
* New
* Contacted
* In Progress
* Converted
* Closed
Admin should be able to update lead status and add notes.
## Admin Dashboard
Create a secure admin dashboard with a modern professional interface.
### Dashboard Overview
Display:
* Total leads
* New leads
* Contacted leads
* Converted leads
* Total projects
* Total services
* Recent inquiries
* Recent activity
Use cards, charts, tables, filters, and responsive layouts.
### Admin Authentication
Implement:
* Admin login
* JWT authentication
* Protected routes
* Logout
* Password hashing
* Session/token handling
* Unauthorized access protection
Never expose passwords or sensitive authentication information in the frontend.
## Admin Content Management
Admin should be able to manage:
### Website Content
* Homepage
* About section
* Services
* Projects
* Gallery
* Testimonials
* Contact information
* Social media links
* Footer
* Banners
### Lead Management
* View leads
* Search leads
* Filter leads
* Update lead status
* Add notes
* Delete leads
* View complete lead details
### Media Management
* Upload images
* Preview images
* Delete images
* Manage Cloudinary URLs
* Assign images to sections
## Notifications
Implement notification functionality for new leads.
When a new lead is received:
* Admin should receive an email notification.
* Admin should see the notification inside the dashboard.
* Notification should contain the lead's name, phone, email, selected service, and message.
Design the notification system so WhatsApp/SMS integration can be added later.
## SEO
SEO is a major requirement.
Implement:
* Unique page titles
* Meta descriptions
* SEO-friendly URLs
* Open Graph metadata
* Twitter/X metadata
* Canonical URLs
* robots.txt
* sitemap.xml
* Structured data/schema markup where appropriate
* Proper heading hierarchy
* Image alt text
* Optimized images
* Fast loading
* Mobile-first responsive design
Create SEO fields in the admin dashboard so administrators can manage:
* SEO title
* Meta description
* Keywords where appropriate
* OG image
* Canonical URL
The website should be structured to support Google indexing and future Google Search Console integration.
## Performance
The website should be optimized for production.
Requirements:
* Lazy loading
* Image optimization
* Code splitting where appropriate
* Minified production build
* Efficient API requests
* Pagination for large datasets
* Database indexing
* Proper caching where useful
* Avoid unnecessary React re-renders
* Responsive images
Target strong Core Web Vitals and Lighthouse performance.
## Security
Implement production-grade security practices:
* JWT authentication
* Password hashing with bcrypt
* Input validation
* API validation
* CORS configuration
* Helmet
* Rate limiting
* Protection against SQL injection
* Protection against XSS
* Secure environment variables
* Proper error handling
* No secrets in source code
* Authentication middleware for admin APIs
## API Structure
Create clean REST APIs such as:
* POST /api/auth/login
* POST /api/auth/register if required
* GET /api/services
* POST /api/services
* PUT /api/services/:id
* DELETE /api/services/:id
* GET /api/projects
* POST /api/projects
* PUT /api/projects/:id
* DELETE /api/projects/:id
* GET /api/gallery
* POST /api/gallery
* DELETE /api/gallery/:id
* GET /api/leads
* POST /api/leads
* PUT /api/leads/:id
* DELETE /api/leads/:id
* GET /api/testimonials
* POST /api/testimonials
* PUT /api/testimonials/:id
* DELETE /api/testimonials/:id
Keep API controllers, routes, middleware, models, services, and utilities properly separated.
## UI/UX Requirements
The design should look like a professional commercial website rather than a basic template.
Requirements:
* Premium modern design
* Clean typography
* Good spacing
* Smooth animations
* Professional navigation
* Sticky header
* Mobile hamburger menu
* Responsive admin sidebar
* Loading states
* Skeleton loaders where appropriate
* Empty states
* Error states
* Toast notifications
* Confirmation dialogs
* Accessible forms
* Accessible buttons and navigation
Do not use Bootstrap. Use Tailwind CSS.
## AWS Deployment
The application should be deployable on AWS.
Recommended architecture:
Frontend:
* AWS S3
* CloudFront
Backend:
* AWS EC2 or another suitable AWS compute service
* Nginx
* PM2
Database:
* Amazon RDS MySQL
Media:
* Cloudinary
Domain/DNS:
* Amazon Route 53
SSL:
* HTTPS/SSL configuration
The application should use environment variables for:
* Database credentials
* JWT secret
* Cloudinary credentials
* SMTP credentials
* Frontend URL
* Backend URL
* Other sensitive configuration
## Code Quality
Generate clean, maintainable, production-ready code.
Requirements:
* Reusable React components
* Reusable API services
* Proper folder structure
* Meaningful variable/function names
* Error handling
* Form validation
* Consistent coding style
* No unnecessary duplicate code
* No hardcoded sensitive values
* Environment-based configuration
## Deliverables
The final project should include:
1. Complete React frontend
2. Complete Node.js/Express backend
3. MySQL database schema
4. Admin authentication
5. Admin dashboard
6. Lead management
7. Dynamic CMS/content management
8. Image upload with Cloudinary
9. Email notification system
10. SEO implementation
11. Responsive UI
12. REST APIs
13. Environment configuration
14. Database setup instructions
15. Local development instructions
16. Production deployment instructions
17. AWS deployment architecture
18. README documentation
## Important Requirement
Do not create a simple demo or static UI.
Build the project as a **real production-ready application** where the frontend, backend, MySQL database, authentication, admin dashboard, lead management, notifications, image uploads, SEO, and deployment configuration are properly integrated.
Before implementing features, establish a clean architecture and database structure. Make all important website content dynamic and manageable through the admin dashboard.
The final result should be scalable, secure, responsive, SEO-friendly, and ready for deployment.
## Project Overview
I want to build a modern, fully responsive, production-ready business website using the MERN stack. The website should have a premium, professional UI, strong SEO, an admin dashboard, lead management, notifications, and easy content management.
The application should be designed so that the frontend, backend, database, authentication, SEO, notifications, and admin functionality work together as one complete system.
## Technology Stack
### Frontend
* React.js
* Vite
* Tailwind CSS
* React Router
* Redux Toolkit where global state management is required
* Axios
* Framer Motion for smooth animations
* Lucide React for icons
* Fully responsive design for mobile, tablet, laptop, and desktop
### Backend
* Node.js
* Express.js
* REST APIs
* JWT authentication
* bcrypt/password hashing
* Nodemailer for email notifications
* Cloudinary for image/media uploads
### Database
Use MySQL with a properly structured relational database.
The database should contain tables for:
* Admin users
* Website users if required
* Leads/inquiries
* Contact submissions
* Services
* Projects/portfolio
* Banners
* Testimonials
* Gallery/images
* Website settings
* Notifications
* SEO metadata
## Main Website Features
### Homepage
Create a premium homepage containing:
* Hero/banner section
* Company introduction
* Services
* Featured projects
* Portfolio/gallery
* Why choose us
* Testimonials
* Call-to-action section
* Contact section
* Footer
The homepage content should be manageable from the admin dashboard instead of being hardcoded.
### Services
Create a dynamic services section/page.
Admin should be able to:
* Add service
* Edit service
* Delete service
* Upload service image
* Add title
* Add description
* Add features
* Change display order
* Enable/disable service
### Portfolio / Projects
Create a dynamic portfolio system.
Each project should support:
* Project title
* Description
* Category
* Location
* Images
* Project details
* Completion date
* Featured status
Admin should be able to create, update, delete, and manage projects.
### Gallery
Create a responsive image gallery.
Features:
* Image upload
* Image preview
* Categories
* Delete image
* Featured images
* Ordering
* Cloudinary integration
### Contact / Lead Generation
The website must focus strongly on generating leads.
Create a professional inquiry form containing:
* Name
* Phone number
* Service
* Message
When a visitor submits the form:
1. Validate the form.
2. Save the lead to MySQL.
3. Send notification to the administrator.
4. Send confirmation email to the customer if email is provided.
5. Display a success message.
6. Prevent duplicate/spam submissions where possible.
The admin dashboard must show all incoming leads.
Lead statuses:
* New
* Contacted
* In Progress
* Converted
* Closed
Admin should be able to update lead status and add notes.
## Admin Dashboard
Create a secure admin dashboard with a modern professional interface.
### Dashboard Overview
Display:
* Total leads
* New leads
* Contacted leads
* Converted leads
* Total projects
* Total services
* Recent inquiries
* Recent activity
Use cards, charts, tables, filters, and responsive layouts.
### Admin Authentication
Implement:
* Admin login
* JWT authentication
* Protected routes
* Logout
* Password hashing
* Session/token handling
* Unauthorized access protection
Never expose passwords or sensitive authentication information in the frontend.
## Admin Content Management
Admin should be able to manage:
### Website Content
* Homepage
* About section
* Services
* Projects
* Gallery
* Testimonials
* Contact information
* Social media links
* Footer
* Banners
### Lead Management
* View leads
* Search leads
* Filter leads
* Update lead status
* Add notes
* Delete leads
* View complete lead details
### Media Management
* Upload images
* Preview images
* Delete images
* Manage Cloudinary URLs
* Assign images to sections
## Notifications
Implement notification functionality for new leads.
When a new lead is received:
* Admin should receive an email notification.
* Admin should see the notification inside the dashboard.
* Notification should contain the lead's name, phone, email, selected service, and message.
Design the notification system so WhatsApp/SMS integration can be added later.
## SEO
SEO is a major requirement.
Implement:
* Unique page titles
* Meta descriptions
* SEO-friendly URLs
* Open Graph metadata
* Twitter/X metadata
* Canonical URLs
* robots.txt
* sitemap.xml
* Structured data/schema markup where appropriate
* Proper heading hierarchy
* Image alt text
* Optimized images
* Fast loading
* Mobile-first responsive design
Create SEO fields in the admin dashboard so administrators can manage:
* SEO title
* Meta description
* Keywords where appropriate
* OG image
* Canonical URL
The website should be structured to support Google indexing and future Google Search Console integration.
## Performance
The website should be optimized for production.
Requirements:
* Lazy loading
* Image optimization
* Code splitting where appropriate
* Minified production build
* Efficient API requests
* Pagination for large datasets
* Database indexing
* Proper caching where useful
* Avoid unnecessary React re-renders
* Responsive images
Target strong Core Web Vitals and Lighthouse performance.
## Security
Implement production-grade security practices:
* JWT authentication
* Password hashing with bcrypt
* Input validation
* API validation
* CORS configuration
* Helmet
* Rate limiting
* Protection against SQL injection
* Protection against XSS
* Secure environment variables
* Proper error handling
* No secrets in source code
* Authentication middleware for admin APIs
## API Structure
Create clean REST APIs such as:
* POST /api/auth/login
* POST /api/auth/register if required
* GET /api/services
* POST /api/services
* PUT /api/services/:id
* DELETE /api/services/:id
* GET /api/projects
* POST /api/projects
* PUT /api/projects/:id
* DELETE /api/projects/:id
* GET /api/gallery
* POST /api/gallery
* DELETE /api/gallery/:id
* GET /api/leads
* POST /api/leads
* PUT /api/leads/:id
* DELETE /api/leads/:id
* GET /api/testimonials
* POST /api/testimonials
* PUT /api/testimonials/:id
* DELETE /api/testimonials/:id
Keep API controllers, routes, middleware, models, services, and utilities properly separated.
## UI/UX Requirements
The design should look like a professional commercial website rather than a basic template.
Requirements:
* Premium modern design
* Clean typography
* Good spacing
* Smooth animations
* Professional navigation
* Sticky header
* Mobile hamburger menu
* Responsive admin sidebar
* Loading states
* Skeleton loaders where appropriate
* Empty states
* Error states
* Toast notifications
* Confirmation dialogs
* Accessible forms
* Accessible buttons and navigation
Do not use Bootstrap. Use Tailwind CSS.
## AWS Deployment
The application should be deployable on AWS.
Recommended architecture:
Frontend:
* AWS S3
* CloudFront
Backend:
* AWS EC2 or another suitable AWS compute service
* Nginx
* PM2
Database:
* Amazon RDS MySQL
Media:
* Cloudinary
Domain/DNS:
* Amazon Route 53
SSL:
* HTTPS/SSL configuration
The application should use environment variables for:
* Database credentials
* JWT secret
* Cloudinary credentials
* SMTP credentials
* Frontend URL
* Backend URL
* Other sensitive configuration
## Code Quality
Generate clean, maintainable, production-ready code.
Requirements:
* Reusable React components
* Reusable API services
* Proper folder structure
* Meaningful variable/function names
* Error handling
* Form validation
* Consistent coding style
* No unnecessary duplicate code
* No hardcoded sensitive values
* Environment-based configuration
## Deliverables
The final project should include:
1. Complete React frontend
2. Complete Node.js/Express backend
3. MySQL database schema
4. Admin authentication
5. Admin dashboard
6. Lead management
7. Dynamic CMS/content management
8. Image upload with Cloudinary
9. Email notification system
10. SEO implementation
11. Responsive UI
12. REST APIs
13. Environment configuration
14. Database setup instructions
15. Local development instructions
16. Production deployment instructions
17. AWS deployment architecture
18. README documentation
## Important Requirement
Do not create a simple demo or static UI.
Build the project as a **real production-ready application** where the frontend, backend, MySQL database, authentication, admin dashboard, lead management, notifications, image uploads, SEO, and deployment configuration are properly integrated.
Before implementing features, establish a clean architecture and database structure. Make all important website content dynamic and manageable through the admin dashboard.
The final result should be scalable, secure, responsive, SEO-friendly, and ready for deployment.
Apply on Freelancer →
Project sourced from Freelancer.com. Applications happen directly on the original platform — we never collect your data.