A stunning, modern website for MANIORA - a digital agency specializing in website development, redesign, maintenance, and social media management.
- Modern Design: Futuristic, minimal design with Helvetica Neue font
- Responsive: Fully responsive across all devices
- Animations: Smooth scroll animations with Framer Motion
- Contact Form: EmailJS integration for sending emails
- Google Sheets: Form submissions saved to Google Sheets
- SEO Optimized: React Helmet for meta tags and SEO
- Material UI: Beautiful components with Tailwind CSS styling
- Frontend: React.js with Vite
- Styling: Tailwind CSS + Material UI
- Animations: Framer Motion
- Email: EmailJS
- Data Storage: Google Sheets via Apps Script
- Font: Helvetica Neue
- Deployment: Vercel/Netlify ready
-
Clone the repository
git clone <your-repo-url> cd maniora-website
-
Install dependencies
npm install
-
Start development server
npm run dev
-
Build for production
npm run build
-
Create EmailJS Account
- Go to EmailJS
- Sign up for a free account
-
Configure Email Service
- Add your email service (Gmail, Outlook, etc.)
- Note your Service ID
-
Create Email Template
- Create a new email template
- Use variables:
{{from_name}}
,{{from_email}}
,{{message}}
,{{service}}
- Note your Template ID
-
Update Configuration
- Open
src/pages/Contact.jsx
- Replace the placeholder values:
const emailjsConfig = { serviceId: 'YOUR_EMAILJS_SERVICE_ID', templateId: 'YOUR_EMAILJS_TEMPLATE_ID', publicKey: 'YOUR_EMAILJS_PUBLIC_KEY', };
- Open
-
Create Google Sheet
- Create a new Google Sheet
- Add headers: Name, Email, Message, Service, Timestamp
-
Create Google Apps Script
- Go to Google Apps Script
- Create a new project
- Replace the code with:
function doPost(e) {
try {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const data = JSON.parse(e.postData.contents);
const row = [
data.name,
data.email,
data.message,
data.service,
data.timestamp
];
sheet.appendRow(row);
return ContentService
.createTextOutput(JSON.stringify({ 'result': 'success' }))
.setMimeType(ContentService.MimeType.JSON);
} catch(error) {
return ContentService
.createTextOutput(JSON.stringify({ 'result': 'error', 'error': error.toString() }))
.setMimeType(ContentService.MimeType.JSON);
}
}
-
Deploy as Web App
- Click "Deploy" > "New deployment"
- Choose "Web app"
- Set access to "Anyone"
- Copy the Web App URL
-
Update Configuration
- Open
src/pages/Contact.jsx
- Replace the script URL:
const scriptURL = 'YOUR_GOOGLE_APPS_SCRIPT_WEB_APP_URL';
- Open
Update the color scheme in tailwind.config.js
:
colors: {
'maniora-red': '#FF2C1F',
'maniora-black': '#000000',
'maniora-gray': '#E0E0E0',
}
- Update company information in components
- Replace placeholder images with your own
- Modify services and portfolio items
- Update contact information
- Replace "MANIORA" with your brand name
- Update logo and favicon
- Modify social media links
- Home (
/
) - Hero section with services overview - About (
/about
) - Company mission, vision, and timeline - Services (
/services
) - Detailed service offerings - Portfolio (
/portfolio
) - Project showcase with filtering - Contact (
/contact
) - Contact form with EmailJS integration
- Connect your GitHub repository to Vercel
- Deploy automatically on push to main branch
- Custom domain setup available
- Connect your GitHub repository to Netlify
- Build command:
npm run build
- Publish directory:
dist
- Run
npm run build
- Upload
dist
folder to your hosting provider
- EmailJS Integration: Sends emails directly to your inbox
- Google Sheets: Stores all submissions in a spreadsheet
- Form Validation: Client-side validation for better UX
- Loading States: Visual feedback during submission
- Success/Error Messages: User-friendly notifications
src/
βββ components/ # Reusable components
βββ pages/ # Page components
βββ App.jsx # Main app component
βββ main.jsx # Entry point
βββ index.css # Global styles
Navbar.jsx
- Navigation with mobile menuFooter.jsx
- Footer with social linksHome.jsx
- Landing page with hero sectionContact.jsx
- Contact form with EmailJSServices.jsx
- Service offeringsPortfolio.jsx
- Project showcaseAbout.jsx
- Company information
- Lazy Loading: Images and components load on demand
- Optimized Build: Vite for fast development and builds
- SEO Ready: Meta tags and structured data
- Mobile First: Responsive design for all devices
Add Google Analytics by updating index.html
:
<!-- Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=GA_MEASUREMENT_ID"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'GA_MEASUREMENT_ID');
</script>
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
This project is licensed under the MIT License.
For support or questions:
- Email: maniora.official@gmail.com
- Create an issue in the repository
MANIORA - Transforming digital experiences through innovation and excellence.