A comprehensive full-stack web application for domain registration and web hosting services in Bangladesh. Built with modern technologies and designed for scalability, performance, and exceptional user experience.
Alpha Net BD is a professional-grade domain registration and web hosting platform specifically designed for the Bangladesh market. The platform offers a complete suite of services including domain search and registration, multiple hosting tiers, SSL certificates, and comprehensive customer management tools.
- Real-time Domain Search: Instant availability checking across 50+ TLDs
- Domain Registration: Seamless registration process with automatic DNS setup
- Domain Transfer: Easy domain transfer with free 1-year extension
- Domain Management: Complete DNS management and domain settings
- Bulk Domain Search: Search multiple domains simultaneously
- Domain Suggestions: AI-powered alternative domain suggestions
- Shared Hosting: Multiple tiers (Basic, Premium, Business)
- VPS Hosting: Scalable virtual private servers
- Dedicated Servers: High-performance dedicated hosting
- SSL Certificates: Free and premium SSL options
- Email Hosting: Professional email solutions
- Website Builder: Drag-and-drop website creation tools
- Secure Authentication: JWT-based authentication system
- User Dashboard: Comprehensive service management interface
- Billing System: Automated billing and invoice generation
- Support Ticketing: Integrated customer support system
- Account Management: Profile and preference management
- Service Monitoring: Real-time service status and analytics
- Shopping Cart: Persistent cart with local storage
- Multiple Payment Methods: Credit card, mobile banking, bank transfer
- Order Management: Complete order tracking and history
- Automated Provisioning: Instant service activation
- Renewal Management: Automatic renewal notifications
- Promotional System: Discount codes and special offers
- Framework: Next.js 15 (App Router)
- Language: TypeScript 5.0
- Styling: Tailwind CSS v4
- UI Components: shadcn/ui
- Icons: Lucide React
- Fonts: Geist Sans & Geist Mono
- State Management: React Context API
- Form Handling: React Hook Form with Zod validation
- API Routes: Next.js API routes
- Authentication: Custom JWT implementation
- Database: Mock database with localStorage (production-ready for real DB)
- Payment Processing: Mock payment gateway (Stripe/PayPal ready)
- Email Service: Mock email service (SendGrid/Mailgun ready)
- File Storage: Local storage (AWS S3/Cloudinary ready)
- Package Manager: pnpm
- Linting: ESLint with TypeScript rules
- Formatting: Prettier
- Git Hooks: Husky for pre-commit hooks
- Testing: Jest and React Testing Library (configured)
- Build Tool: Next.js built-in bundler
``` alpha-net-bd/ βββ π app/ # Next.js App Router β βββ π (auth)/ # Authentication route group β β βββ π login/ β β β βββ π page.tsx # Login page β β βββ π register/ β β βββ π page.tsx # Registration page β βββ π about/ β β βββ π page.tsx # About us page β βββ π api/ # API routes β β βββ π auth/ β β β βββ π login/route.ts # Login API β β β βββ π register/route.ts # Registration API β β β βββ π logout/route.ts # Logout API β β βββ π domains/ β β β βββ π check/route.ts # Domain availability check β β β βββ π register/route.ts # Domain registration β β β βββ π transfer/route.ts # Domain transfer β β β βββ π suggestions/route.ts # Domain suggestions β β βββ π hosting/ β β β βββ π plans/route.ts # Hosting plans β β β βββ π provision/route.ts # Service provisioning β β βββ π orders/ β β β βββ π route.ts # Order management β β β βββ π [id]/route.ts # Individual order β β βββ π payment/ β β β βββ π process/route.ts # Payment processing β β β βββ π webhook/route.ts # Payment webhooks β β β βββ π methods/route.ts # Payment methods β β βββ π user/ β β βββ π profile/route.ts # User profile β β βββ π services/route.ts # User services β βββ π cart/ β β βββ π page.tsx # Shopping cart β βββ π checkout/ β β βββ π page.tsx # Checkout process β β βββ π loading.tsx # Checkout loading β βββ π contact/ β β βββ π page.tsx # Contact page β βββ π dashboard/ # User dashboard β β βββ π layout.tsx # Dashboard layout β β βββ π page.tsx # Dashboard home β β βββ π loading.tsx # Dashboard loading β β βββ π domains/ β β β βββ π page.tsx # Domain management β β β βββ π loading.tsx # Domains loading β β βββ π hosting/ β β β βββ π page.tsx # Hosting management β β β βββ π loading.tsx # Hosting loading β β βββ π billing/ β β β βββ π page.tsx # Billing history β β β βββ π loading.tsx # Billing loading β β βββ π support/ β β β βββ π page.tsx # Support tickets β β β βββ π loading.tsx # Support loading β β βββ π account/ β β βββ π page.tsx # Account settings β β βββ π loading.tsx # Account loading β βββ π domains/ β β βββ π page.tsx # Domain search β β βββ π loading.tsx # Domain search loading β βββ π hosting/ β β βββ π page.tsx # Hosting plans β β βββ π loading.tsx # Hosting loading β βββ π order-success/ β β βββ π page.tsx # Order confirmation β β βββ π loading.tsx # Success loading β βββ π ssl/ β β βββ π page.tsx # SSL certificates β βββ π vps/ β β βββ π page.tsx # VPS hosting β βββ π dedicated/ β β βββ π page.tsx # Dedicated servers β βββ π email/ β β βββ π page.tsx # Email hosting β βββ π help/ β β βββ π page.tsx # Help center β βββ π status/ β β βββ π page.tsx # Server status β βββ π privacy/ β β βββ π page.tsx # Privacy policy β βββ π terms/ β β βββ π page.tsx # Terms of service β βββ π globals.css # Global styles β βββ π layout.tsx # Root layout β βββ π page.tsx # Homepage β βββ π not-found.tsx # 404 page β βββ π loading.tsx # Global loading β βββ π error.tsx # Error boundary βββ π components/ # Reusable components β βββ π auth/ # Authentication components β β βββ π login-form.tsx # Login form β β βββ π register-form.tsx # Registration form β β βββ π social-auth.tsx # Social authentication β β βββ π protected-route.tsx # Route protection β β βββ π auth-guard.tsx # Authentication guard β βββ π checkout/ # Checkout components β β βββ π checkout-form.tsx # Checkout form β β βββ π payment-methods.tsx # Payment options β β βββ π order-summary.tsx # Order summary β β βββ π billing-form.tsx # Billing information β βββ π dashboard/ # Dashboard components β β βββ π dashboard-header.tsx # Dashboard header β β βββ π dashboard-sidebar.tsx # Dashboard navigation β β βββ π stats-cards.tsx # Statistics cards β β βββ π recent-orders.tsx # Recent orders β β βββ π service-status.tsx # Service status β βββ π domain/ # Domain components β β βββ π domain-search.tsx # Domain search form β β βββ π domain-suggestions.tsx # Domain suggestions β β βββ π domain-card.tsx # Domain result card β β βββ π domain-transfer.tsx # Domain transfer form β β βββ π domain-management.tsx # Domain management β βββ π hosting/ # Hosting components β β βββ π hosting-plan-card.tsx # Hosting plan card β β βββ π plan-comparison.tsx # Plan comparison table β β βββ π feature-list.tsx # Feature list β β βββ π hosting-calculator.tsx # Price calculator β βββ π layout/ # Layout components β β βββ π header.tsx # Site header β β βββ π footer.tsx # Site footer β β βββ π navigation.tsx # Navigation menu β β βββ π breadcrumb.tsx # Breadcrumb navigation β β βββ π sidebar.tsx # Sidebar component β βββ π marketing/ # Marketing components β β βββ π hero-section.tsx # Hero section β β βββ π features-grid.tsx # Features grid β β βββ π testimonials.tsx # Customer testimonials β β βββ π pricing-table.tsx # Pricing table β β βββ π cta-section.tsx # Call-to-action β β βββ π stats-section.tsx # Statistics section β βββ π ui/ # shadcn/ui components β β βββ π accordion.tsx # Accordion component β β βββ π alert-dialog.tsx # Alert dialog β β βββ π alert.tsx # Alert component β β βββ π avatar.tsx # Avatar component β β βββ π badge.tsx # Badge component β β βββ π button.tsx # Button component β β βββ π calendar.tsx # Calendar component β β βββ π card.tsx # Card component β β βββ π carousel.tsx # Carousel component β β βββ π chart.tsx # Chart component β β βββ π checkbox.tsx # Checkbox component β β βββ π command.tsx # Command component β β βββ π dialog.tsx # Dialog component β β βββ π dropdown-menu.tsx # Dropdown menu β β βββ π form.tsx # Form component β β βββ π input.tsx # Input component β β βββ π label.tsx # Label component β β βββ π navigation-menu.tsx # Navigation menu β β βββ π popover.tsx # Popover component β β βββ π progress.tsx # Progress component β β βββ π radio-group.tsx # Radio group β β βββ π scroll-area.tsx # Scroll area β β βββ π select.tsx # Select component β β βββ π separator.tsx # Separator component β β βββ π sheet.tsx # Sheet component β β βββ π skeleton.tsx # Skeleton loader β β βββ π slider.tsx # Slider component β β βββ π switch.tsx # Switch component β β βββ π table.tsx # Table component β β βββ π tabs.tsx # Tabs component β β βββ π textarea.tsx # Textarea component β β βββ π toast.tsx # Toast component β β βββ π toaster.tsx # Toast container β β βββ π toggle.tsx # Toggle component β β βββ π tooltip.tsx # Tooltip component β β βββ π use-mobile.tsx # Mobile hook β β βββ π use-toast.ts # Toast hook β βββ π theme-provider.tsx # Theme provider βββ π contexts/ # React contexts β βββ π auth-context.tsx # Authentication context β βββ π cart-context.tsx # Shopping cart context β βββ π theme-context.tsx # Theme context β βββ π notification-context.tsx # Notification context βββ π hooks/ # Custom React hooks β βββ π use-auth.ts # Authentication hook β βββ π use-cart.ts # Cart management hook β βββ π use-mobile.ts # Mobile detection hook β βββ π use-toast.ts # Toast notifications hook β βββ π use-local-storage.ts # Local storage hook β βββ π use-debounce.ts # Debounce hook βββ π lib/ # Utility libraries β βββ π auth.ts # Authentication utilities β βββ π database.ts # Database utilities β βββ π domain-api.ts # Domain API service β βββ π payment-gateway.ts # Payment processing β βββ π email-service.ts # Email service β βββ π validation.ts # Form validation schemas β βββ π constants.ts # Application constants β βββ π types.ts # TypeScript type definitions β βββ π utils.ts # General utilities βββ π public/ # Static assets β βββ π images/ # Image assets β β βββ π logo.png # Company logo β β βββ π hero-bg.jpg # Hero background β β βββ π testimonial-1.jpg # Testimonial images β β βββ π ... # Other images β βββ π icons/ # Icon assets β β βββ π favicon.ico # Favicon β β βββ π apple-touch-icon.png # Apple touch icon β β βββ π ... # Other icons β βββ π documents/ # Document assets β βββ π terms.pdf # Terms of service β βββ π privacy.pdf # Privacy policy β βββ π ... # Other documents βββ π styles/ # Additional styles β βββ π globals.css # Global CSS styles β βββ π components.css # Component-specific styles βββ π types/ # TypeScript definitions β βββ π auth.ts # Authentication types β βββ π domain.ts # Domain-related types β βββ π hosting.ts # Hosting-related types β βββ π payment.ts # Payment types β βββ π global.ts # Global type definitions βββ π utils/ # Utility functions β βββ π formatters.ts # Data formatters β βββ π validators.ts # Input validators β βββ π helpers.ts # Helper functions β βββ π constants.ts # Utility constants βββ π .env.local # Environment variables βββ π .env.example # Environment template βββ π .gitignore # Git ignore rules βββ π .eslintrc.json # ESLint configuration βββ π .prettierrc # Prettier configuration βββ π components.json # shadcn/ui configuration βββ π next.config.mjs # Next.js configuration βββ π package.json # Package dependencies βββ π pnpm-lock.yaml # Package lock file βββ π postcss.config.mjs # PostCSS configuration βββ π tailwind.config.ts # Tailwind configuration βββ π tsconfig.json # TypeScript configuration βββ π README.md # Project documentation βββ π LICENSE # License file ```
- Node.js: Version 18.0 or higher
- Package Manager: pnpm (recommended), npm, or yarn
- Git: For version control
-
Clone the Repository ```bash git clone https://github.com/your-username/alpha-net-bd.git cd alpha-net-bd ```
-
Install Dependencies ```bash
pnpm install
npm install
yarn install ```
-
Environment Setup ```bash
cp .env.example .env.local
nano .env.local ```
-
Start Development Server ```bash
pnpm dev
npm run dev
yarn dev ```
-
Open Application Navigate to
http://localhost:3000in your browser
```bash
pnpm build
pnpm start
pnpm export ```
Create a .env.local file in the root directory:
```env
NEXT_PUBLIC_APP_URL=http://localhost:3000 NEXT_PUBLIC_APP_NAME="Alpha Net BD"
DATABASE_URL="your-database-url"
JWT_SECRET="your-jwt-secret" JWT_EXPIRES_IN="7d"
STRIPE_PUBLIC_KEY="your-stripe-public-key" STRIPE_SECRET_KEY="your-stripe-secret-key" STRIPE_WEBHOOK_SECRET="your-stripe-webhook-secret"
SMTP_HOST="your-smtp-host" SMTP_PORT=587 SMTP_USER="your-smtp-user" SMTP_PASS="your-smtp-password"
DOMAIN_API_KEY="your-domain-api-key" DOMAIN_API_URL="your-domain-api-url"
AWS_ACCESS_KEY_ID="your-aws-access-key" AWS_SECRET_ACCESS_KEY="your-aws-secret-key" AWS_S3_BUCKET="your-s3-bucket" AWS_REGION="your-aws-region" ```
Modify app/globals.css to customize the color scheme:
```css @theme inline { --background: 222.2 84% 4.9%; --foreground: 210 40% 98%; --primary: 142.1 76.2% 36.3%; --primary-foreground: 355.7 100% 97.3%; /* Add more custom colors */ } ```
Update component styles in the respective component files or create custom CSS in styles/components.css.
Customize mock data in lib/database.ts:
```typescript export const mockDomains = [ { tld: '.com', price: 12.99, popular: true }, { tld: '.net', price: 14.99, popular: false }, // Add more TLDs ];
export const mockHostingPlans = [ { name: 'Basic', price: 4.99, features: ['10GB Storage', '100GB Bandwidth'], }, // Add more plans ]; ```
- Real-time Search: Instant domain availability checking
- Bulk Operations: Search and register multiple domains
- DNS Management: Complete DNS record management
- Domain Transfer: Seamless domain transfer process
- Auto-renewal: Automatic domain renewal system
- Multiple Tiers: Basic, Premium, Business, VPS, Dedicated
- Resource Monitoring: Real-time resource usage tracking
- Backup System: Automated daily backups
- Security Features: SSL certificates, malware scanning
- Performance Optimization: CDN integration, caching
- Responsive Design: Mobile-first approach
- Dark Theme: Professional dark theme with green accents
- Accessibility: WCAG 2.1 AA compliant
- Performance: Optimized for Core Web Vitals
- SEO Optimized: Meta tags, structured data, sitemap
- Authentication: JWT-based secure authentication
- Data Protection: Encrypted data storage
- Payment Security: PCI DSS compliant payment processing
- SSL/TLS: End-to-end encryption
- Rate Limiting: API rate limiting and DDoS protection
```bash
pnpm test
pnpm test:watch
pnpm test:coverage
pnpm test:e2e ```
``` tests/ βββ mocks/ # Mock files βββ components/ # Component tests βββ pages/ # Page tests βββ utils/ # Utility tests βββ e2e/ # End-to-end tests βββ setup.ts # Test setup ```
-
Connect Repository
- Push code to GitHub/GitLab/Bitbucket
- Connect repository to Vercel
- Configure environment variables
-
Automatic Deployment
- Every push to main branch triggers deployment
- Preview deployments for pull requests
- Automatic HTTPS and CDN
```dockerfile FROM node:18-alpine WORKDIR /app COPY package*.json ./ RUN npm install COPY . . RUN npm run build EXPOSE 3000 CMD ["npm", "start"] ```
```bash
pnpm build pnpm export
```
```typescript POST /api/auth/register POST /api/auth/login POST /api/auth/logout GET /api/auth/me ```
```typescript GET /api/domains/check?domain=example.com POST /api/domains/register POST /api/domains/transfer GET /api/domains/suggestions?query=example ```
```typescript GET /api/hosting/plans POST /api/hosting/provision GET /api/hosting/services PUT /api/hosting/upgrade ```
```typescript POST /api/orders GET /api/orders GET /api/orders/[id] PUT /api/orders/[id] ```
We welcome contributions! Please follow these guidelines:
-
Fork the Repository ```bash git fork https://github.com/your-username/alpha-net-bd.git ```
-
Create Feature Branch ```bash git checkout -b feature/amazing-feature ```
-
Make Changes
- Follow coding standards
- Add tests for new features
- Update documentation
-
Commit Changes ```bash git commit -m "feat: add amazing feature" ```
-
Push and Create PR ```bash git push origin feature/amazing-feature ```
- TypeScript: Use strict TypeScript
- ESLint: Follow ESLint rules
- Prettier: Format code with Prettier
- Naming: Use descriptive variable names
- Comments: Add JSDoc comments for functions
Follow Conventional Commits:
``` feat: add new feature fix: bug fix docs: documentation update style: formatting changes refactor: code refactoring test: add tests chore: maintenance tasks ```
- LCP: < 2.5s (Largest Contentful Paint)
- FID: < 100ms (First Input Delay)
- CLS: < 0.1 (Cumulative Layout Shift)
- Performance: 95+
- Accessibility: 100
- Best Practices: 100
- SEO: 100
```bash
pnpm analyze
pnpm depcheck ```
- HTTPS: Enforced HTTPS connections
- CSP: Content Security Policy headers
- CSRF: Cross-Site Request Forgery protection
- XSS: Cross-Site Scripting prevention
- SQL Injection: Parameterized queries
- Rate Limiting: API rate limiting
```bash
pnpm audit
pnpm audit fix ```
- Vercel Analytics: Built-in performance monitoring
- Core Web Vitals: Real user metrics
- Error Tracking: Automatic error reporting
- User Behavior: Track user interactions
- Conversion Rates: Monitor conversion funnels
- Revenue Tracking: Track sales and revenue
```bash
rm -rf .next
rm -rf node_modules pnpm install ```
```bash
pnpm tsc --noEmit
pnpm update @types/* ```
```bash
pnpm build:css
npx tailwindcss --help ```
- Documentation: Check this README and inline comments
- Issues: Search existing GitHub issues
- Discussions: Join GitHub discussions
- Support: Contact support@alphanetbd.com
This project is licensed under the MIT License - see the LICENSE file for details.
- Mehedi Pathan - Lead Developer & Designer
- Website: https://mehedipathan.online
- Email: mehedi@alphanetbd.com
- Role: Full-stack development, UI/UX design, DevOps
- View all contributors on GitHub Contributors
- Next.js Team - Amazing React framework
- Vercel - Deployment and hosting platform
- shadcn/ui - Beautiful UI component library
- Tailwind CSS - Utility-first CSS framework
- Lucide - Beautiful icon library
- Modern hosting providers for UX patterns
- Bangladesh market research for localization
- Industry best practices for security and performance
- Email: business@alphanetbd.com
- Phone: +880 1700-000000
- Address: Dhaka, Bangladesh
- Email: support@alphanetbd.com
- Documentation: docs.alphanetbd.com
- Status Page: status.alphanetbd.com
- Facebook: @alphanetbd
- Twitter: @alphanetbd
- LinkedIn: Alpha Net BD
- YouTube: Alpha Net BD
Alpha Net BD - Empowering Bangladesh's digital future with reliable domain and hosting solutions.
Built with β€οΈ in Bangladesh
