Enterprise-grade blockchain security solutions website built with Next.js 15, Tailwind CSS, and Payload CMS.
- Modern Next.js 15 with App Router
- Payload CMS for wiki content management
- Tailwind CSS for styling
- Framer Motion for animations
- TypeScript for type safety
- SEO Optimized with proper meta tags
- Responsive Design for all devices
- Dark Theme with professional corporate styling
advancedblockchainsecurity/
├── src/
│   ├── app/
│   │   ├── layout.tsx          # Root layout with metadata
│   │   ├── page.tsx            # Homepage
│   │   ├── globals.css         # Global styles
│   │   └── wiki/               # Wiki section
│   │       ├── page.tsx        # Wiki index
│   │       └── [slug]/         # Dynamic wiki articles
│   │           └── page.tsx
│   ├── components/
│   │   ├── Navigation.tsx      # Header navigation
│   │   ├── Footer.tsx          # Footer component
│   │   ├── sections/           # Homepage sections
│   │   │   ├── Hero.tsx
│   │   │   ├── Services.tsx
│   │   │   └── Products.tsx
│   │   └── ui/                 # Reusable UI components
│   │       ├── Button.tsx
│   │       ├── Card.tsx
│   │       └── Badge.tsx
│   └── lib/
│       └── utils.ts            # Utility functions
├── public/                     # Static assets
├── payload.config.ts           # Payload CMS configuration
├── next.config.ts              # Next.js configuration
├── tailwind.config.ts          # Tailwind CSS configuration
└── tsconfig.json               # TypeScript configuration
- Node.js 18+ and npm
- MongoDB (local or MongoDB Atlas)
- 
Clone the repository cd /Users/pwner/Git/abs-website/advancedblockchainsecurity
- 
Install dependencies npm install 
- 
Set up environment variables cp .env.example .env.local Edit .env.localand update:- PAYLOAD_SECRET: Generate a secure random string
- DATABASE_URI: Your MongoDB connection string
- NEXT_PUBLIC_SERVER_URL: Your site URL
 
- 
Set up MongoDB Option A: Local MongoDB # macOS with Homebrew brew install mongodb-community brew services start mongodb-community # Or use Docker docker run -d -p 27017:27017 --name mongodb mongo:latest Option B: MongoDB Atlas (Recommended) - Sign up at https://www.mongodb.com/cloud/atlas
- Create a free cluster
- Get your connection string
- Update DATABASE_URIin.env.local
 
- 
Run the development server npm run dev The site will be available at: - Frontend: http://localhost:5000
- Payload Admin: http://localhost:5000/admin
 
- 
Create admin user - Navigate to http://localhost:5000/admin
- Create your first admin user account
- Start adding wiki articles!
 
- Navigate to http://localhost:5000/admin (or your production URL + /admin)
- Sign in with your admin credentials
- Click "Wiki" to manage wiki articles
- 
Click "Wiki" → "Create New" 
- 
Fill in the fields: - Title: Article headline
- Slug: URL-friendly version (e.g., "understanding-reentrancy")
- Category: Select from predefined categories
- Excerpt: Short description for SEO
- Content: Full article content (supports rich text)
- Tags: Add relevant tags
- Difficulty: Beginner/Intermediate/Advanced/Expert
- Read Time: Estimated minutes to read
- Status: Draft or Published
 
- 
Click "Save" (saves as draft) or "Publish" 
- 
Your article will appear at: /wiki/your-slug
- Smart Contract Security
- DeFi Security
- Blockchain Fundamentals
- Security Tools
- Best Practices
- Common Vulnerabilities
- Incident Response
- Compliance
# Development
npm run dev          # Start dev server on port 3001
# Production
npm run build        # Build for production
npm run start        # Start production server
# Other
npm run lint         # Run ESLintTo add a new section to the homepage:
- Create a new component in src/components/sections/
- Export it from src/components/sections/index.ts
- Import and add it to src/app/page.tsx
Example:
// src/components/sections/NewSection.tsx
export function NewSection() {
  return (
    <section className="py-24 bg-dark-900">
      {/* Your content */}
    </section>
  )
}Edit tailwind.config.ts to customize the color scheme:
colors: {
  primary: { /* Your primary colors */ },
  secondary: { /* Your secondary colors */ },
  // ...
}The site uses:
- Inter for body text
- Space Grotesk for headings
To change fonts, edit src/app/layout.tsx.
Replace the Shield icon in:
- src/components/Navigation.tsx
- src/components/Footer.tsx
- Push your code to GitHub
- Import project in Vercel
- Add environment variables:
- PAYLOAD_SECRET
- DATABASE_URI
- NEXT_PUBLIC_SERVER_URL
 
- Deploy!
The site can be deployed to any platform that supports Next.js:
- Netlify
- Railway
- AWS
- DigitalOcean
Important: Make sure your MongoDB instance is accessible from your deployment platform.
The site includes:
- Proper meta tags and Open Graph data
- Semantic HTML structure
- Dynamic sitemap (add app/sitemap.ts)
- Mobile-friendly responsive design
To improve SEO:
- Add more descriptive metadata in app/layout.tsx
- Create a sitemap.tsfor automatic sitemap generation
- Add robots.txtin thepublicfolder
- Ensure all wiki articles have good excerpts and titles
- Uses Next.js 15 App Router with automatic code splitting
- Static generation for wiki articles (ISR supported)
- Optimized images with Next.js Image component (recommended)
- Minimal JavaScript for fast page loads
- Environment variables for sensitive data
- MongoDB connection secured with authentication
- Admin panel protected with Payload auth
- Regular dependency updates recommended
For issues or questions:
- Check the Next.js documentation
- Check the Payload CMS documentation
- Review this README
© 2025 Advanced Blockchain Security. All rights reserved.
- BlockSecOps: https://blocksecops.com - Our unified Web3 security platform