A comprehensive educational resource exploring how modern technology transforms language learning through AI, mobile apps, gamification, and digital tools.
This project delivers a multi-format educational product:
- Interactive Website - Responsive educational site with chapter navigation
- Amazon KDP Book - Professional EPUB and DOCX formats for publishing
- Online Course Module - Interactive slides, quizzes, and certificates
Target Audience: Language learners, educators, EdTech professionals, and technology enthusiasts
Core Value: Bridges theoretical understanding with practical application of language learning technology
- Static Site Generation: Lightning-fast performance with Astro
- Responsive Design: Mobile-first approach for accessibility
- SEO Optimized: Sitemap generation and meta tags
- Type-Safe: Built with TypeScript for reliability
- Modern Architecture: Component-based structure
- Multi-Format Publishing: Website, eBook (EPUB/DOCX), and course module
- KDP Ready: Amazon Kindle Direct Publishing compliant
- Bun installed (v1.0.0 or higher)
- Git installed
- Node.js 18+ (for compatibility)
- Clone the repository:
git clone https://github.com/YOUR_USERNAME/Language-Learning-with-Technology.git
cd Language-Learning-with-Technology- Install dependencies:
bun install- Start development server:
bun run devThe site will be available at http://localhost:4321
bun run dev # Start development server (website)
bun run start # Alias for devbun run build # Build all deliverables
bun run build:site # Build website only (static export)
bun run build:book # Build KDP book package (EPUB + DOCX)
bun run build:course # Build course module
bun run preview # Preview production build locally
bun run typecheck # Run TypeScript type checkingbun run test # Run all tests
bun run test:lighthouse # Performance audit
bun run test:accessibility # WCAG compliance testing
bun run test:epub # Validate EPUB format
bun run qa # Complete QA suite
bun run lint # Code quality check
bun run format # Code formattingLanguage-Learning-with-Technology/
├── content/ # Book content and chapters
│ ├── chapters/ # Markdown chapter files
│ ├── raw_text/ # Original content
│ └── rewritten/ # Edited versions
├── src/ # Website source code
│ ├── components/ # Reusable UI components
│ ├── layouts/ # Page layouts
│ ├── pages/ # Website pages
│ └── styles/ # Global styles
├── public/ # Static assets
│ ├── assets/ # CSS, JS files
│ └── images/ # Images, cover art
├── dist/ # Built deliverables
│ ├── site/ # Static website export
│ ├── kdp/ # Amazon KDP package
│ │ ├── *.epub # Book EPUB
│ │ ├── *.docx # Book DOCX
│ │ ├── cover.jpg # Cover image
│ │ ├── metadata.json # Book metadata
│ │ ├── UPLOAD-GUIDE.md # KDP publishing guide
│ │ └── AMAZON-LISTING.txt # Listing copy
│ └── course/ # Course module
│ ├── slides/ # Presentation files
│ ├── quiz.html # Interactive quiz
│ └── certificate.pdf # Certificate template
├── reports/ # QA and testing reports
├── scripts/ # Build and utility scripts
├── tests/ # Test files
└── config/ # Configuration files
This project is configured for automatic deployment to GitHub Pages via GitHub Actions.
- Update Astro Config: Edit
astro.config.mjsand replaceYOUR_USERNAMEwith your GitHub username:
site: 'https://YOUR_USERNAME.github.io',
base: '/Language-Learning-with-Technology',- Push to GitHub:
git add .
git commit -m "Initial commit"
git push origin main-
Enable GitHub Pages:
- Go to your repository settings
- Navigate to Pages section
- Set source to "GitHub Actions"
-
Deployment: The workflow automatically triggers on push to
mainbranch
If you need to deploy manually:
# Build the site
bun run build
# The dist/ folder contains your static site
# Push to gh-pages branch manually if neededOnce deployed, your site will be available at:
https://YOUR_USERNAME.github.io/Language-Learning-with-Technology
- Edit pages in
src/pages/ - Update components in
src/components/ - Modify content in
content/ - Commit and push changes
- GitHub Actions will automatically rebuild and deploy
# Check for updates
bun update
# Update specific package
bun update astro
# Rebuild after updates
bun run buildSee DEPLOYMENT-GUIDE.md for detailed troubleshooting steps.
This project uses GitHub Actions for continuous deployment:
- Trigger: Push to
mainbranch - Build Tool: Bun
- Target: GitHub Pages
- Caching: Dependencies cached for faster builds
- Workflow:
.github/workflows/deploy.yml
- TypeScript strict mode enabled
- ESLint configuration for code quality
- Prettier for code formatting
- Component-based architecture
- Static site generation for optimal loading
- Asset optimization enabled
- Code splitting configured
- Sitemap generation for SEO
Charles Martin Dissertation: Language Learning with Technology
MIT License - See LICENSE file for details
For issues or questions:
- Open an issue on GitHub
- Review the DEPLOYMENT-GUIDE.md
- Check Astro documentation: https://docs.astro.build
Built with Astro 🚀