A comprehensive study guide for hardware engineering concepts, featuring 56 detailed questions across 6 major sections. Built with React and TypeScript for optimal learning experience.
- 56 Comprehensive Questions across 6 major hardware engineering topics
- Professional-grade content with detailed technical explanations
- Mathematical derivations and step-by-step calculations
- Circuit diagrams and comparison tables
- Progressive difficulty from basic to advanced concepts
- Responsive design optimized for all devices
- Accessibility-compliant with WCAG 2.1 AA standards
- High performance with code splitting and lazy loading
- Clean, minimalist interface focused on learning
Fundamental concepts in electrical circuit analysis including Ohm's law, Kirchhoff's laws, and power calculations.
Comprehensive coverage of resistors, capacitors, and inductors including their characteristics, parasitics, and applications.
In-depth coverage of diodes, BJTs, MOSFETs, and CMOS technology including device physics and circuit applications.
Power supplies, DC-DC converters, LDO regulators, and power management techniques with practical design considerations.
Operational amplifiers, amplifier circuits, and analog signal processing with detailed circuit analysis.
Digital logic, microcontrollers, communication protocols, and digital system design fundamentals.
- Node.js (v18 or higher)
- npm or yarn
-
Clone the repository:
git clone https://github.com/xignoe/hardwareEngineering.git cd hardwareEngineering -
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Open http://localhost:5173 to view it in the browser.
npm run dev- Start development servernpm run build- Build for productionnpm run preview- Preview production buildnpm test- Run tests with Vitestnpm run lint- Run ESLint
src/
├── components/ # Reusable UI components
│ ├── Navigation/ # Navigation and breadcrumb components
│ ├── QuestionCard/ # Question display components
│ ├── SectionList/ # Section overview components
│ └── LoadingSpinner/ # Loading state components
├── context/ # React context providers
├── data/ # Question data and section management
│ └── sections/ # Individual section data files
├── types/ # TypeScript type definitions
├── styles/ # Global styles and CSS variables
└── __tests__/ # Comprehensive test suite
The project includes comprehensive testing:
- Unit tests for all components
- Integration tests for user workflows
- Accessibility tests for WCAG compliance
- Performance tests for optimization
- E2E tests for complete user journeys
Run tests with:
npm test- Detailed explanations with theory and practical applications
- Mathematical derivations with step-by-step solutions
- Circuit diagrams using ASCII art for clarity
- Comparison tables for feature analysis
- Real-world examples and industry applications
- Design considerations and engineering trade-offs
- Industry-standard explanations and terminology
- Current technology and modern practices
- Professional-grade content suitable for engineers
- Cross-referenced topics with related concepts
- Code splitting for optimal loading
- Lazy loading of sections
- Service worker for offline capability
- Optimized bundles with tree shaking
- Responsive images and assets
- Accessibility optimizations
- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
- Mobile browsers (iOS Safari, Chrome Mobile)
Fully responsive design optimized for:
- Smartphones (320px+)
- Tablets (768px+)
- Desktop (1024px+)
- Large screens (1440px+)
We welcome contributions! Please see our contributing guidelines:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Add tests for new functionality
- Ensure all tests pass (
npm test) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
To add new questions to existing sections:
- Edit the appropriate section file in
src/data/sections/ - Follow the existing question format
- Update the question count in
sectionLoader.ts - Add tests for new content
To add entirely new sections:
- Create a new section file in
src/data/sections/ - Update
sectionLoader.tswith the new section - Add comprehensive tests
- Update documentation
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with modern web technologies for optimal performance
- Designed with accessibility and usability in mind
- Content curated from industry best practices and educational standards
- Inspired by the need for comprehensive hardware engineering education
- 56 Questions across 6 sections
- Professional-grade content with detailed explanations
- Comprehensive test coverage with 270+ tests
- Accessibility compliant (WCAG 2.1 AA)
- High performance with optimized bundles
- Mobile-first responsive design
Perfect for: Students, professionals, interview preparation, and anyone looking to deepen their understanding of hardware engineering principles.