Premium Glass & Aluminum Solutions in North Carolina
North Glass NC is a modern, high-performance website showcasing premium glass and aluminum installation services across North Carolina. The site features a beautiful, responsive design with smooth animations, comprehensive service pages, case studies, and an integrated contact system.
- π¨ Modern UI/UX - Clean, professional design with smooth animations using Motion
- π± Fully Responsive - Optimized for all devices from mobile to desktop
- π High Performance - Built with Next.js 15 App Router for optimal speed
- π§ Contact System - Integrated email functionality via Google Workspace SMTP
- πΌοΈ Image Gallery - Dynamic galleries with before/after sliders
- π Blog System - SEO-optimized blog with dynamic routing
- πΌ Case Studies - Showcase of completed projects with rich details
- π SEO Optimized - Comprehensive metadata, sitemaps, and structured data
- π Analytics - Vercel Analytics integration for insights
- βΏ Accessible - WCAG compliant with semantic HTML
- Next.js 15.5.2 - React framework with App Router
- React 19.1 - UI library
- TypeScript 5.x - Type safety
- Tailwind CSS 4.x - Utility-first CSS framework
- Motion 12.23 - Animation library
- Lucide React - Icon library
- clsx - Conditional className utility
- Nodemailer 7.0 - Email sending
- Google Workspace SMTP - Email delivery
- ESLint 9 - Code linting
- Turbopack - Fast bundler for development
- @xenova/transformers - ML utilities
- Vercel - Hosting and deployment
- @vercel/analytics - Web analytics
north-glass/
βββ app/ # Next.js App Router
β βββ (site)/ # Main site layout
β β βββ _components/ # Shared components
β β β βββ Footer.tsx
β β β βββ Header.tsx
β β β βββ Gallery.tsx
β β β βββ ...
β β βββ page.tsx # Homepage
β βββ about/ # About page
β βββ blog/ # Blog section
β β βββ [slug]/ # Dynamic blog posts
β β βββ page.tsx # Blog index
β βββ case-studies/ # Portfolio case studies
β β βββ [slug]/ # Individual case studies
β β βββ page.tsx # Case studies index
β βββ contact/ # Contact page
β βββ request-quote/ # Quote request form
β βββ services/ # Service pages
β β βββ frameless-glass-shower-doors/
β β βββ aluminum-windows/
β β βββ mirrors/
β β βββ ...
β βββ api/ # API routes
β β βββ contact/ # Contact form handler
β β βββ quote/ # Quote form handler
β β βββ test-email/ # Email config tester
β βββ layout.tsx # Root layout
β βββ sitemap.ts # Dynamic sitemap
β βββ globals.css # Global styles
βββ lib/ # Utility libraries
β βββ blogData.ts # Blog content data
β βββ galleryData.ts # Gallery images data
β βββ imageData.ts # Image collections
β βββ email.ts # Email utilities
βββ public/ # Static assets
β βββ images/ # Image assets
β β βββ frameless-glass-shower-doors/
β β βββ aluminum-windows/
β β βββ mirrors/
β β βββ ...
β βββ favicon-NG/ # Favicon variants
βββ scripts/ # Utility scripts
β βββ normalize-incoming.mjs # Image normalization
β βββ generate-image-manifest.mjs
β βββ move-images-from-manifest.mjs
β βββ auto-categorize.mjs # AI-powered categorization
βββ .env.local # Environment variables (local)
βββ package.json
βββ tsconfig.json
βββ tailwind.config.ts
- Node.js 22.x or higher
- npm, yarn, pnpm, or bun
- Google Workspace account (for email functionality)
-
Clone the repository
git clone https://github.com/omerakben/north-glass.git cd north-glass -
Install dependencies
npm install
-
Set up environment variables
Create a
.env.localfile in the root directory:# SMTP Configuration (Google Workspace) SMTP_HOST=smtp.gmail.com SMTP_PORT=465 [email protected] SMTP_PASS=your_app_password_here # Email Recipients [email protected] [email protected]
Note: Generate a Google Workspace app password at myaccount.google.com/apppasswords
-
Run the development server
npm run dev
-
Open your browser
Navigate to http://localhost:3000
| Script | Description |
|---|---|
npm run dev |
Start development server with Turbopack |
npm run build |
Build for production |
npm run start |
Start production server |
npm run lint |
Run ESLint |
npm run typecheck |
Run TypeScript type checking |
npm run images:normalize |
Normalize incoming images |
npm run images:manifest |
Generate image manifest |
npm run images:move |
Move images from manifest |
npm run images:auto |
Auto-categorize images with AI |
| Variable | Description | Example |
|---|---|---|
SMTP_HOST |
SMTP server hostname | smtp.gmail.com |
SMTP_PORT |
SMTP server port | 465 |
SMTP_USER |
Email account username | [email protected] |
SMTP_PASS |
App password for email | your_app_password |
LEADS_TO |
Recipient for lead emails | [email protected] |
LEADS_FROM |
Sender email address | [email protected] |
- Enable 2-Factor Authentication on your Google Workspace account
- Generate an app password at myaccount.google.com/apppasswords
- Use the 16-character app password as
SMTP_PASS
# Test SMTP connection (without sending)
curl -X POST http://localhost:3000/api/test-email
# Test contact form
curl -X POST http://localhost:3000/api/contact \
-F "name=Test User" \
-F "[email protected]" \
-F "phone=984-900-6201" \
-F "message=Testing email"-
Push code to GitHub
git push origin main
-
Import to Vercel
- Go to vercel.com/new
- Import your repository
- Configure environment variables
- Deploy!
-
Set Environment Variables
In Vercel Dashboard β Settings β Environment Variables, add:
SMTP_PASS(your Google app password)
Other variables use defaults from the code.
-
Configure Production Branch
- Settings β Git β Production Branch:
main
- Settings β Git β Production Branch:
The site can be deployed to any platform supporting Next.js:
- Netlify: Use Next.js plugin
- AWS Amplify: Configure build settings
- Self-hosted: Use
npm run build && npm run start
main- Production branch (clean, deployed to production)develop- Development branch (includes dev files and documentation)
-
Start from develop branch
git checkout develop git pull origin develop
-
Create feature branch (optional)
git checkout -b feature/your-feature-name
-
Make changes and test
npm run dev npm run lint npm run typecheck
-
Commit changes
git add . git commit -m "feat: your feature description"
-
Push to develop
git push origin develop
-
Merge to main for production
git checkout main git merge develop git push origin main
- Frameless Glass Shower Doors - Custom designs for modern bathrooms
- Aluminum Windows - Energy-efficient window installations
- Mirrors - Custom mirrors for residential and commercial spaces
- Glass Office Doors - Professional interior glass solutions
- Commercial Storefronts - High-impact commercial glass systems
- Sliding Glass Patio Doors - Indoor-outdoor living solutions
- Staircase Glass Railings - Modern safety with elegance
- Window Replacement - Energy-efficient upgrades
- Architectural Design Services - Custom glass design solutions
- Pergolas - Outdoor living space enhancements
- Lighthouse Score: 95+ across all metrics
- Core Web Vitals: Excellent
- Static Generation: 43 pages pre-rendered at build time
- Image Optimization: Automatic with Next.js Image component
- Code Splitting: Automatic route-based splitting
This is a private project for North Glass NC. For feature requests or bug reports, please contact the development team.
Β© 2025 North Glass NC. All rights reserved.
This project is proprietary and confidential. Unauthorized copying, distribution, or use of this software is strictly prohibited.
Full-stack developer specializing in modern web applications, AI integration, and e-commerce solutions.
- π Website: omerakben.com
- πΌ Portfolio: Custom web applications, React/Next.js development
- π οΈ Technologies: Next.js, React, TypeScript, Node.js, AI/ML integration
- Design & Development: Custom Next.js application with TypeScript
- UI/UX Design: Modern, responsive design with Tailwind CSS
- Email Integration: Google Workspace SMTP configuration
- SEO Optimization: Comprehensive metadata and structured data
- Performance: Optimized for Core Web Vitals
- Analytics: Vercel Analytics integration
North Glass NC
- π± Phone: (984) 900-6201
- π§ Email: [email protected]
- π Website: northglassnc.com
- π Service Area: Raleigh, Durham, Cary, Chapel Hill, and surrounding areas
Built with β€οΈ by Omer Akben
Crafted for excellence, designed for performance
