A modern, mobile-first Customer Relationship Management system designed specifically for appliance repair businesses. Built with React, TypeScript, and Tailwind CSS.
- Customer Management - Complete customer database with service history
- Service Call Tracking - End-to-end job management from scheduling to completion
- Technician Dashboard - Mobile-optimized interface for field technicians
- AI Diagnostic Assistant - Intelligent troubleshooting and parts recommendation
- Route Optimization - Smart scheduling and GPS navigation integration
- Invoice Generation - Professional estimates and billing
- Google Calendar Integration - Bidirectional sync with technician calendars
- Real-time Updates - Live status updates across all devices
- Offline Support - PWA functionality for field work
- Digital Signatures - Customer sign-off on mobile devices
- Photo Documentation - Before/after photos with cloud storage
- Time Tracking - Automatic job timing and productivity metrics
- Frontend: React 18, TypeScript, Tailwind CSS
- State Management: Zustand
- Data Fetching: TanStack Query
- Animations: Framer Motion
- UI Components: Headless UI
- Icons: Lucide React
- Forms: React Hook Form + Zod validation
- Charts: Recharts
- Maps: Google Maps API
- Calendar: Google Calendar API
R/CRM is built with a mobile-first approach, ensuring technicians can efficiently manage their work from any device:
- Touch-optimized interface
- Responsive design (320px+)
- PWA installation support
- Offline functionality
- GPS integration
- Camera access for photos
The integrated AI assistant helps technicians diagnose problems faster:
- Appliance-specific troubleshooting guides
- Visual diagnostic mind maps
- Parts and tools recommendations
- Safety warnings and procedures
- Estimated repair times
- Difficulty assessments
Advanced scheduling features that eliminate conflicts and optimize routes:
- Real-time calendar sync
- Automatic conflict detection
- Emergency rescheduling
- Customer self-scheduling
- Route optimization
- Buffer time management
- Node.js 18+
- npm or yarn
- Google Maps API key
- Google Calendar API credentials
# Clone the repository
git clone <repository-url>
cd r-crm
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env
# Edit .env with your API keys
# Start development server
npm run devVITE_GOOGLE_MAPS_API_KEY=your_google_maps_key
VITE_GOOGLE_CALENDAR_CLIENT_ID=your_calendar_client_id
VITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_ANON_KEY=your_supabase_keysrc/
├── components/ # Reusable UI components
│ ├── AI/ # AI diagnostic components
│ ├── Dashboard/ # Dashboard widgets
│ ├── Layout/ # Layout components
│ └── ServiceCalls/ # Service call components
├── pages/ # Main page components
├── services/ # API and external services
├── store/ # State management
├── types/ # TypeScript type definitions
└── utils/ # Utility functions
- Customer Service Representatives (CSRs): Schedule appointments, manage customers
- Field Technicians: Mobile interface for job management
- Business Owners: Analytics and performance tracking
- Customers: Self-scheduling and service tracking
npm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build
npm run lint # Run ESLint- TypeScript for type safety
- ESLint + Prettier for code formatting
- Conventional commits for git history
- Component-based architecture
- Mobile-first responsive design
- Lighthouse score: 95+
- First Contentful Paint: <1.5s
- Time to Interactive: <3s
- Mobile-optimized bundle size
- Efficient code splitting
- Role-based access control
- Input validation and sanitization
- Secure API communication
- Data encryption at rest
- Audit logging
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For support and questions:
- Create an issue in the GitHub repository
- Contact the development team
- Check the documentation wiki
R/CRM - Revolutionizing appliance repair management, one service call at a time.