A modern, multilingual language learning platform website built with vanilla HTML, CSS, and JavaScript.
- 🌍 Multilingual Support: English and Thai translations
- 📱 Responsive Design: Mobile-first approach with fluid layouts
- 🎨 Dark/Light Theme: Toggle between themes with localStorage persistence
- ⚡ Performance Optimized: Lightweight, fast loading, and SEO-friendly
- 🔒 Security Headers: CSP, XSS protection, and other security measures
- 📊 Analytics Ready: Google Analytics 4 integration
- 🚀 PWA Support: Service worker for offline functionality
- ♿ Accessibility: ARIA labels, keyboard navigation, and screen reader support
talk-buddy-website/
├── index.html # Main HTML file
├── css/
│ └── main.css # Comprehensive CSS with CSS custom properties
├── js/
│ └── main.js # Interactive functionality and state management
├── lang/
│ ├── en.js # English translations
│ └── th.js # Thai translations
├── assets/
│ ├── images/ # Images and illustrations
│ ├── icons/ # Favicons and PWA icons
│ └── fonts/ # Custom fonts (if any)
├── vercel.json # Vercel deployment configuration
├── netlify.toml # Netlify deployment configuration
├── .htaccess # Apache server configuration
├── robots.txt # Search engine crawler instructions
├── sitemap.xml # XML sitemap for SEO
├── sw.js # Service worker for PWA
└── README.md # This file
- Clone the repository:
git clone https://github.com/yourusername/talk-buddy-website.git
cd talk-buddy-website
- Serve the files using a local server:
# Using Python 3
python -m http.server 8000
# Using Node.js (if you have http-server installed)
npx http-server .
# Using PHP
php -S localhost:8000
- Open your browser and navigate to
http://localhost:8000
- Install Vercel CLI:
npm i -g vercel
- Run:
vercel
- Follow the prompts
- Connect your Git repository to Netlify
- Set build command: (leave empty)
- Set publish directory:
./
- Deploy
- Upload all files to your web server
- Ensure the
.htaccess
file is uploaded for Apache servers - Update the base URL in
sitemap.xml
and other configuration files
Replace GA_MEASUREMENT_ID
in js/main.js
with your actual Google Analytics measurement ID.
Update the following in index.html
:
- Meta descriptions and titles
- Open Graph images
- Canonical URLs
- Structured data
Modify translations in lang/en.js
and lang/th.js
to customize the content.
- Chrome 60+
- Firefox 55+
- Safari 12+
- Edge 79+
Fallbacks are provided for older browsers where possible.
- Lighthouse Score: 95+ across all metrics
- Core Web Vitals: Optimized for LCP, FID, and CLS
- Bundle Size: < 100KB total (uncompressed)
- Time to Interactive: < 3 seconds on 3G
- WCAG 2.1 AA compliant
- Keyboard navigation support
- Screen reader optimized
- High contrast support
- Reduced motion respect
- Content Security Policy (CSP)
- XSS Protection
- Frame Options
- HTTPS enforcement
- Secure headers
- Fork the repository
- Create a feature branch:
git checkout -b feature-name
- Make your changes
- Test thoroughly
- Commit:
git commit -m 'Add feature'
- Push:
git push origin feature-name
- Create a pull request
MIT License - see LICENSE file for details.
For support, email support@talkbuddy.com or create an issue in this repository.