A modern, responsive Next.js theme for web development agencies. Built with TypeScript, Tailwind CSS, and MongoDB.
- Clone the repository
- Install dependencies:
npm install
- Set up environment variables:
cp .env.example .env.local
- Start the development server:
npm run dev
Create a .env.local file with the following variables:
MONGODB_URI=your_mongodb_connection_string
NEXTAUTH_SECRET=your_nextauth_secret
NEXTAUTH_URL=http://localhost:3000- Create a MongoDB database
- Update the connection string in
.env.local - The theme will automatically create necessary collections
Edit tailwind.config.js to customize colors and theme:
module.exports = {
theme: {
extend: {
colors: {
primary: '#your-color',
secondary: '#your-color',
},
},
},
}- Add your fonts to
public/fonts/ - Update
src/app/globals.csswith your font imports - Update font families in
tailwind.config.js
- Replace logo:
public/images/logo.svg - Replace favicon:
public/favicon.ico - Add your images to
public/images/
- Create, edit, and delete blog posts
- Rich text editor with image support
- SEO-friendly URLs
- Featured images
- Draft and published states
- Secure authentication
- Blog management
- User-friendly interface
- Responsive design
- Meta tags
- Open Graph tags
- Schema markup
- Sitemap generation
src/
├── app/ # Next.js app directory
│ ├── admin/ # Admin routes
│ ├── api/ # API routes
│ ├── blog/ # Blog routes
│ └── page.tsx # Home page
├── components/ # Reusable components
├── lib/ # Utility functions
└── styles/ # Global styles
Edit src/app/page.tsx to customize:
- Hero section
- Services
- Portfolio
- Testimonials
- Contact form
- Access admin dashboard at
/admin - Create new posts at
/admin/dashboard/create - Edit existing posts at
/admin/dashboard/edit/[slug]
- Global styles:
src/app/globals.css - Component styles:
src/components/*.tsx - Tailwind configuration:
tailwind.config.js
- Blog posts:
/api/blogs - Authentication:
/api/auth - Contact form:
/api/contact
interface Blog {
_id: string;
title: string;
slug: string;
content: string;
excerpt: string;
featuredImage: string;
status: 'draft' | 'published';
createdAt: string;
updatedAt: string;
}To set up the contact form functionality, you'll need to configure EmailJS:
-
Sign up for a free account at EmailJS
-
Create a new email service (Gmail, Outlook, etc.)
-
Create an email template with the following variables:
from_name: Sender's namefrom_email: Sender's emailmessage: Message contentsubject: Email subject
-
Create a
.env.localfile in the root directory and add your EmailJS credentials:
NEXT_PUBLIC_EMAILJS_SERVICE_ID=your_service_id
NEXT_PUBLIC_EMAILJS_TEMPLATE_ID=your_template_id
NEXT_PUBLIC_EMAILJS_PUBLIC_KEY=your_public_key- Install the EmailJS package:
npm install @emailjs/browserThe contact form will now send emails using your configured EmailJS service.
For support, please contact the theme author through Envato.
This theme is licensed under the Envato Regular License.