╔╗ ╦ ╦ ╦ ╦ ╔╦╗ ╦ ╦ ╦ ╔╦╗ ╦ ╦
╠╩╗ ║ ║ ║ ║ ║ ║║║ ║ ║ ╠═╣
╚═╝ ╚═╝ ╩ ╩═╝ ╩ ╚╩╝ ╩ ╩ ╩ ╩
██████╗ ██╗ █████╗ ██╗ ██╗ ██████╗ ███████╗
██╔════╝ ██║ ██╔══██╗ ██║ ██║ ██╔══██╗ ██╔════╝
██║ ██║ ███████║ ██║ ██║ ██║ ██║ █████╗
██║ ██║ ██╔══██║ ██║ ██║ ██║ ██║ ██╔══╝
╚██████╗ ███████╗ ██║ ██║ ╚██████╔╝ ██████╔╝ ███████╗
╚═════╝ ╚══════╝ ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚══════╝
██████╗ ██████╗ ██████╗ ███████╗
██╔════╝ ██╔═══██╗ ██╔══██╗ ██╔════╝
██║ ██║ ██║ ██║ ██║ █████╗
██║ ██║ ██║ ██║ ██║ ██╔══╝
╚██████╗ ╚██████╔╝ ██████╔╝ ███████╗
╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝
🔧 Built entirely using Claude Code - Anthropic's AI-powered development environment
Keep track of hobby electronics parts so you always know what you have, where it is, and how to get more.
🤖 Built with Claude Code - This project was developed using Claude Code, Anthropic's AI-powered development assistant.
A modern React frontend for managing hobby electronics inventory. This application provides an intuitive interface for organizing, tracking, and finding electronic components with smart location suggestions and AI-powered assistance.
Target Audience: Individual hobby electronics enthusiasts who want to efficiently manage their component inventory without the complexity of enterprise solutions.
Key Benefits:
- Simple Organization: Numbered boxes with numbered locations for easy physical organization
- Fast Search: Single search box finds parts by ID, manufacturer code, type, description, or tags
- Smart Suggestions: AI-powered location recommendations and part categorization
- Mobile-Friendly: Touch-optimized interface with responsive design
- Document Management: Attach and view PDFs, images, and links directly in the app
This frontend implements Phase 1 of the hobby electronics inventory system. For a complete feature overview, see docs/features.md.
- Part Management: Add, edit, and organize electronic parts with comprehensive metadata
- Inventory Tracking: Track quantities across multiple storage locations
- Box & Location System: Manage numbered boxes with configurable numbered locations
- Advanced Search: Find parts instantly with real-time search across all fields
- Type Management: Create and manage part categories with full CRUD operations
- Mobile Optimization: Responsive design optimized for phone and tablet usage
- AI Integration: Smart part analysis and auto-tagging capabilities
- Document Viewing: PDF and image viewing with upload capabilities
- Smart Suggestions: Location recommendations and reorganization planning
- Project Management: Track project requirements and stock availability
- Shopping Lists: Manage parts to purchase with conversion to inventory
- React 19 with TypeScript for modern component architecture
- TanStack Router for type-safe routing and navigation
- TanStack Query (React Query) for powerful API state management
- OpenAPI Client for type-safe backend communication
- Tailwind CSS with custom components for consistent styling
- Vite for fast development and optimized builds
- Node.js 18+ and pnpm package manager
- Backend service running (see backend README)
-
Clone the repository
git clone <repository-url> cd ElectronicsInventory/frontend
-
Install dependencies
pnpm install
-
Configure backend connection
The app expects the backend API to be running on
http://localhost:8000by default. If your backend runs on a different port, update the API configuration in the environment or configuration files. -
Generate API client
pnpm generate:api
This fetches the OpenAPI specification from the backend and generates TypeScript types and client hooks.
-
Start development server
pnpm dev
The application will be available at
http://localhost:3000
# Development
pnpm dev # Start development server with hot reload
pnpm check # Run TypeScript type checking and ESLint for code quality
# API Client Management
pnpm generate:api # Fetch OpenAPI spec and regenerate client
pnpm generate:routes # Generate TanStack Router route types
# Build & Deploy
pnpm build # Create production build
pnpm preview # Preview production build locallyThis project follows the development guidelines outlined in AGENTS.md. Key principles:
- Type Safety First: Use generated OpenAPI types exclusively
- Domain-Driven Architecture: Organize code by business domains (parts, boxes, types)
- Automatic Error Handling: Leverage centralized error management
- React Query Patterns: Use server state management consistently
- Component Composition: Prefer editing existing components over creating new ones
The application uses a generated API client based on the backend's OpenAPI specification. Always run pnpm generate:api after backend API changes to maintain type safety.
// Example: Using generated API hooks
import { useGetParts, usePostParts } from '@/lib/api/generated/hooks';
const { data: parts, isLoading } = useGetParts();
const createPartMutation = usePostParts();pnpm buildThe build process:
- Generates API client from cached OpenAPI spec
- Generates route types for TanStack Router
- Runs TypeScript compilation
- Creates optimized Vite build in
dist/
pnpm previewServes the production build locally for testing before deployment.
- Static Hosting: The built application is a static SPA suitable for CDN deployment
- API Configuration: Ensure the backend API URL is properly configured for your deployment environment
- CORS Settings: Backend must allow requests from your frontend domain
This is a research project exploring AI-assisted development workflows. Contributions should follow these guidelines (see docs/contribute/index.md for the complete contributor handbook):
- Fork and Pull Request: Create feature branches and submit PRs for review
- Code Standards: Follow patterns established in AGENTS.md
- Type Safety: Maintain strict TypeScript compliance
- Testing: Add appropriate tests when the testing framework is implemented
- Run
pnpm generate:apito ensure you have the latest API types - Make your changes following existing patterns
- Run
pnpm checkto verify code quality - Test your changes with
pnpm dev - Submit a pull request with a clear description
This project is part of ongoing research into AI-assisted software development. The codebase demonstrates patterns and practices for building modern React applications with AI development tools like Claude Code.
This project is licensed under the MIT License. See LICENSE for details.
Built with Claude Code - Experience the future of AI-assisted development.