Live Site: teach.makeboldspark.com
LLM-Powered Educational Website - A modern, interactive learning platform that harnesses the power of Large Language Models to create personalized educational experiences.
TeachSpark is a live demonstration of an AI-powered educational platform built with .NET 10 MVC. It showcases how Large Language Models can be integrated into a modern web application to deliver personalized, adaptive learning experiences.
Live Site: teach.makeboldspark.com
Built by Mark Hazleton β Technical Solutions Architect Part of the MakeBoldSpark portfolio of technical demonstrations.
TeachSpark is a cutting-edge educational platform built with .NET 10 MVC and powered by advanced Large Language Models. It provides an intelligent, adaptive learning environment that personalizes content delivery based on individual learning patterns and preferences.
- π€ AI-Powered Learning - Intelligent content adaptation using LLM technology
- π Interactive Curriculum - Dynamic course content with real-time feedback
- π― Personalized Pathways - Customized learning journeys for each student
- π Progress Analytics - Comprehensive learning analytics and insights
- π Modern Web Experience - Responsive design with world-class UX
- β‘ High Performance - Optimized frontend build system with webpack
- .NET 10 SDK or later (the repo pins SDK 10.0.101 via
global.json) - Node.js 18.x or later
- Git for version control
-
Clone the repository
git clone https://github.com/MarkHazleton/TeachSpark.git cd TeachSpark -
Install dependencies
# Install root-level dependencies (Husky, lint-staged) npm install # Install frontend dependencies cd TeachSpark.Web npm install
-
Build the application
# From TeachSpark.Web directory npm run build # Or build the .NET solution (automatically runs npm build) dotnet build TeachSpark.sln
-
Run the application
# Development mode with hot reloading npm run dev # Or run the .NET application dotnet run
-
Open your browser Navigate to
http://localhost:5000(or the port specified in your configuration)
TeachSpark is built with a modern, scalable architecture:
- Framework: .NET 10 MVC
- Language: C#
- Architecture: Clean Architecture principles
- Database: Entity Framework Core (configurable provider)
- Build System: Webpack 5 with modern optimization
- Styling: Bootstrap 5 through the repository's webpack-managed SCSS pipeline
- JavaScript: ES6+ with Babel compilation
- Quality Tools: ESLint, Prettier, Stylelint
- Asset Management: Automated bundling and optimization
- Git Hooks: Husky for pre-commit automation
- Code Quality: Automated linting and formatting
- Bundle Analysis: Webpack Bundle Analyzer
- Hot Reloading: Development server with live updates
TeachSpark/
βββ π .husky/ # Git hooks configuration
βββ π .vscode/ # VS Code settings
βββ π TeachSpark.Web/ # Main web application
β βββ π Controllers/ # MVC Controllers
β βββ π Models/ # Data models and view models
β βββ π Views/ # Razor views
β βββ π src/ # Frontend source files
β β βββ π js/ # JavaScript modules
β β βββ π scss/ # SCSS stylesheets
β β βββ π favicon.ico # Static assets
β βββ π wwwroot/ # Generated static files
β βββ π webpack.config.js # Webpack configuration
β βββ π package.json # Frontend dependencies
β βββ π *.config.js # Build tool configurations
βββ π TeachSpark.sln # Visual Studio solution
βββ π README.md # This file
βββ π LICENSE # MIT License
βββ π package.json # Root-level dependencies
From the TeachSpark.Web directory:
# Development
npm run dev # Start development server with hot reloading
npm run watch # Build in watch mode
# Building
npm run build # Production build
npm run build:dev # Development build
npm run build:analyze # Build with bundle analysis
# Code Quality
npm run lint # Run ESLint
npm run lint:fix # Fix ESLint issues
npm run lint:css # Run Stylelint
npm run lint:css:fix # Fix Stylelint issues
npm run format # Format code with Prettier
npm run format:check # Check code formatting
npm run quality # Run all quality checks
npm run quality:fix # Fix all auto-fixable issues
# Maintenance
npm run clean # Clean build artifacts
npm run clean:all # Clean everything and recreate directoriesThis project maintains high code quality standards with automated tooling:
- ESLint: JavaScript linting with modern ES6+ rules
- Prettier: Consistent code formatting
- Stylelint: SCSS/CSS linting and best practices
- Pre-commit hooks: Repository-defined pre-commit automation
- Husky + lint-staged: Only lint changed files for faster commits
TeachSpark uses a modern webpack-based build system that provides:
- π Hot Module Replacement for instant development feedback
- π¦ Code Splitting for optimal loading performance
- ποΈ Asset Optimization with minification and compression
- π Content Hashing for cache invalidation
- π Bundle Analysis for performance monitoring
For detailed build system documentation, see .documentation/teachspark-web/build-system-documentation.md.
Project documentation that should not live beside code is organized under .documentation/guide.md.
We welcome contributions from the community! Please see our Contributing Guidelines for details on how to get started.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes following our coding standards
- Run quality checks (
npm run quality) - 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
- Write clear, descriptive commit messages
- Add tests for new functionality
- Update documentation for significant changes
- All commits should run the repository's defined quality checks before review
- π Bug Reports: Create an issue
- π‘ Feature Requests: Create an issue
- β Questions: Start a discussion
- π§ Contact: Please use GitHub Issues for all inquiries
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with .NET and ASP.NET Core MVC
- Frontend powered by Webpack and Bootstrap
- Code quality tools: ESLint, Prettier, Stylelint
- Git hooks managed by Husky
β Star this repository if you find it helpful!
TeachSpark β built by Mark Hazleton Β· MakeBoldSpark