A modern, multilingual restaurant website built with Next.js for QuΓ‘n Thα»m XΖ°a, a Vietnamese seafood restaurant in TΓ’y Ninh, Vietnam. The website features comprehensive SEO optimization, multilingual support, and a responsive design.
This is a professional restaurant website that showcases Thα»m XΖ°a's seafood cuisine, dining areas, VIP rooms, and booking services. The website is designed to attract families, young adults, tourist groups, and corporate events with an emphasis on Vietnamese seafood dining experiences. The site features advanced SEO implementation targeting Vietnamese search engines and local business optimization.
- Next.js 15.3.3 - React framework with App Router
- React 19 - UI library
- TypeScript - Type-safe JavaScript
- Tailwind CSS - Utility-first CSS framework
- Keen Slider - Touch slider library
- Express.js - Node.js web framework
- Mongoose - MongoDB object modeling
- Helmet - Security middleware
- CORS - Cross-origin resource sharing
- Express Rate Limit - API rate limiting
- Vercel Analytics - Web analytics
- Vercel Speed Insights - Performance monitoring
- Custom SEO Implementation - Structured data, sitemaps, robots.txt
- Multi-language SEO - Vietnamese, English, Chinese, Khmer
- ESLint - Code linting
- Prettier - Code formatting
- PostCSS - CSS processing
- Autoprefixer - CSS vendor prefixes
- Vercel - Hosting and deployment platform
- Custom Express Server - Production server configuration
- 4 languages: Vietnamese (default), English, Chinese, Khmer
- Dynamic language switching
- SEO-optimized language routing
- Localized content management
- Hero Section - Eye-catching landing page
- Menu Showcase - Interactive food gallery
- Dining Areas - Outdoor, private rooms, banquet halls
- VIP Rooms - Luxury dining spaces (5 different rooms)
- Booking System - Table reservation functionality
- Events & News - Latest updates and announcements
- Technical SEO - Optimized meta tags, structured data
- Local Business Schema - Google Business integration
- Multilingual Sitemaps - Dynamic XML sitemaps
- Robots.txt Optimization - Search engine directives
- Performance Optimization - Image optimization, lazy loading
- Mobile-first approach
- Cross-device compatibility
- Touch-friendly interactions
- Optimized images for different screen sizes
- Server-side rendering (SSR)
- Static site generation (SSG)
- Image optimization
- Code splitting and lazy loading
- Compression and caching
Before running this project, make sure you have the following installed:
- Node.js - Version 18.0 or higher
- npm or yarn - Package manager
- MongoDB - Database (local or cloud instance)
- Git - Version control
Create a .env.local file in the root directory with the following variables:
# Database
MONGODB_URI=your_mongodb_connection_string
# Server Configuration
NODE_ENV=production
PORT=3000
# SEO & Analytics
NEXT_PUBLIC_SITE_URL=https://yourwebsite.com
VERCEL_ANALYTICS_ID=your_vercel_analytics_id
# Contact Information
NEXT_PUBLIC_PHONE=+84971807272
NEXT_PUBLIC_EMAIL=themxuaintn@gmail.comFollow these steps to set up the project locally:
git clone https://github.com/yourusername/NextJS_ThemXua.git
cd NextJS_ThemXua/themxuanpm install
# or
yarn install# Copy the environment template
cp .env.example .env.local
# Edit the .env.local file with your actual valuesnpm run dev
# or
yarn dev# Build the application
npm run build
# Start the production server
npm run startThe application will be available at http://localhost:3000.
- Visit
http://localhost:3000to view the website - Use the language switcher in the header to test multilingual functionality
- Navigate through different sections: Menu, VIP Rooms, Booking, Events
- The site uses a custom Express.js server for production
- Deploy to Vercel or your preferred hosting platform
- Configure environment variables in your hosting platform
- Update translations in
app/translations/directory - Modify SEO settings in
app/lib/seo.ts - Add new images to
public/images/ - Update menu items and content in respective component files
themxua/
βββ app/ # Next.js App Router
β βββ [lang]/ # Dynamic language routing
β βββ api/ # API routes
β β βββ robots/ # Dynamic robots.txt
β β βββ sitemap/ # Dynamic sitemap
β βββ booking/ # Booking page
β βββ components/ # React components
β β βββ sections/ # Page sections
β β βββ ui/ # UI components
β βββ contexts/ # React contexts
β βββ events/ # Events page
β βββ lib/ # Utility libraries
β β βββ analytics.ts # Analytics configuration
β β βββ seo.ts # SEO configuration
β β βββ structured-data.ts # Schema markup
β βββ menu/ # Menu page
β βββ news/ # News page
β βββ party/ # Party/Events page
β βββ translations/ # Language files
β β βββ en.json # English translations
β β βββ vi.json # Vietnamese translations
β β βββ zh.json # Chinese translations
β β βββ km.json # Khmer translations
β βββ utils/ # Utility functions
β βββ vip/ # VIP rooms page
β βββ globals.css # Global styles
β βββ layout.tsx # Root layout
β βββ page.tsx # Homepage
βββ lib/ # Shared utilities
βββ public/ # Static assets
β βββ images/ # Image assets
β βββ robots.txt # Static robots.txt
βββ next.config.ts # Next.js configuration
βββ tailwind.config.ts # Tailwind CSS configuration
βββ package.json # Dependencies and scripts
βββ server.js # Custom Express server
βββ tsconfig.json # TypeScript configuration
βββ SEO_GUIDE.md # SEO implementation guide
We welcome contributions to improve the website! Please follow these guidelines:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow the existing code style and conventions
- Use TypeScript for type safety
- Follow ESLint and Prettier configurations
- Write meaningful commit messages
- Translation improvements
- SEO enhancements
- Performance optimizations
- Accessibility improvements
- New features and components
- Bug fixes and testing
This project is licensed under the MIT License - see the LICENSE file for details.
- Restaurant: QuΓ‘n Thα»m XΖ°a TΓ’y Ninh
- Address: 23 HoΓ ng LΓͺ Kha, PhΖ°α»ng 3, TΓ’y Ninh, Vietnam
- Phone: +84 971 807 272
- Email: themxuaintn@gmail.com
- GitHub: LJFamily2
- Repository: NextJS_ThemXua
- Production: https://themxuatayninh.com
Made with β€οΈ for QuΓ‘n Thα»m XΖ°a TΓ’y Ninh