AI-powered intelligent domain name generation and management platform that helps you find the perfect domain for your projects.
- Smart Domain Generation: Leverages OpenAI GPT-4 for intelligent naming suggestions
- Multiple Strategies: Direct combination, concept fusion, neologism creation, and cultural adaptation
- Context Understanding: Analyzes your project description to generate relevant names
- Real-time Availability: Batch domain availability checking with pricing comparison
- Multi-registrar Support: Compare prices across different domain registrars
- Favorites System: Save, organize, and track your preferred domain names
- Search History: Keep track of all your searches and results
- Multi-language: Full support for English, Chinese (Simplified), and Japanese
- Cultural Adaptation: Domain suggestions adapted for different markets
- RTL Support: Ready for right-to-left languages
- REST API: Complete API for programmatic access
- API Key Management: Generate and manage multiple API keys
- Usage Analytics: Track API usage with detailed metrics
- Rate Limiting: Built-in protection against abuse
- Responsive Design: Beautiful interface that works on all devices
- PWA Support: Install as a Progressive Web App
- Dark/Light Theme: Automatic theme switching
- Accessibility: WCAG 2.1 compliant
- Framework: Next.js 14 with App Router
- Language: TypeScript for type safety
- UI Library: Shadcn/ui + Radix UI
- Styling: Tailwind CSS for utility-first CSS
- Internationalization: next-intl for i18n
- Database: Supabase (PostgreSQL)
- Authentication: Supabase Auth with Google OAuth
- API: RESTful API with TypeScript
- Caching: Redis for performance optimization
- AI Models: OpenAI GPT-4 for domain generation
- Domain Checking: GoDaddy API for availability and pricing
- Analytics: Statsig for feature flags and analytics
- Monorepo: Turborepo for efficient builds
- Deployment: Vercel for seamless deployment
- CI/CD: GitHub Actions for automated testing and deployment
- Node.js 18+ and pnpm
- Supabase account and project
- OpenAI API key
- (Optional) GoDaddy API credentials for real domain checking
git clone https://github.com/houko/smart-domain.git
cd smart-domain
pnpm install
Copy the environment template and fill in your credentials:
cp apps/web/.env.example apps/web/.env.local
Required environment variables:
# Database (Required)
NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key
# AI Generation (Required)
OPENAI_API_KEY=your_openai_api_key
# Application URL (Required for production)
NEXT_PUBLIC_APP_URL=https://your-domain.com
# Domain Checking (Optional - uses mock data if not provided)
GODADDY_API_KEY=your_godaddy_api_key
GODADDY_API_SECRET=your_godaddy_api_secret
# Analytics (Optional)
NEXT_PUBLIC_STATSIG_CLIENT_KEY=your_statsig_client_key
Set up your Supabase database using the provided SQL files:
# Run database migrations
psql -h your-supabase-host -d postgres -f apps/web/sql/setup.sql
pnpm dev
Visit http://localhost:3000
to see your application running!
smart-domain/
βββ apps/
β βββ web/ # Next.js application
β βββ src/
β β βββ app/ # App Router pages
β β βββ components/ # React components
β β βββ lib/ # Utility functions
β β βββ types/ # TypeScript definitions
β βββ messages/ # Internationalization files
β βββ sql/ # Database schemas
βββ packages/
β βββ ai/ # AI generation logic
β βββ domain/ # Domain checking utilities
βββ docs/ # Documentation
The application uses PostgreSQL with the following main tables:
users
- User profiles and authenticationfavorites
- Saved domain namessearch_history
- Search recordsapi_keys
- API key managementusage_stats
- Analytics and usage tracking
POST /api/generate
- Generate domain suggestionsGET /api/v1/favorites
- Get user favoritesPOST /api/v1/favorites
- Add to favoritesGET /api/v1/history
- Get search historyGET /api/v1/stats
- Get usage statistics
See API Documentation for complete API reference.
Adding a new language:
- Create translation file:
cp apps/web/messages/en.json apps/web/messages/[locale].json
- Update
i18n.ts
configuration:
export const locales = ['en', 'zh', 'ja', 'your-locale'] as const;
- Translate the JSON file and test:
pnpm dev
Run the test suite:
# Unit tests
pnpm test
# E2E tests
pnpm test:e2e
# Type checking
pnpm type-check
# Linting
pnpm lint
- Connect your GitHub repository to Vercel
- Set environment variables in Vercel dashboard
- Deploy automatically on push to main branch
# Build Docker image
docker build -t smart-domain .
# Run container
docker run -p 3000:3000 --env-file .env.local smart-domain
# Build for production
pnpm build
# Start production server
pnpm start
We welcome contributions! Please read our Contributing Guide for details.
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature
- Make your changes and add tests
- Commit using conventional commits:
git commit -m "feat: add amazing feature"
- Push to your branch:
git push origin feature/amazing-feature
- Open a Pull Request
- Use TypeScript for all new code
- Follow the existing code style (Prettier + ESLint)
- Write tests for new features
- Update documentation as needed
- API Documentation - Complete API reference
- Deployment Guide - Production deployment
- Contributing Guide - How to contribute
- Changelog - Version history
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenAI for powerful AI capabilities
- Supabase for the amazing backend platform
- Vercel for seamless deployment
- Shadcn/ui for beautiful UI components
- Live Demo: https://smart-domain.com
- Issues: GitHub Issues
- Discussions: GitHub Discussions
β Star us on GitHub