A modern case management system built with React, TypeScript, and Tauri for desktop applications.
- Case Management: Create, edit, and manage client cases
- Payment Tracking: Track payments and debt amounts
- Client Information: Store client details and contact information
- Relatives Management: Manage client relatives with contact details
- Notes System: Add and manage case notes
- Status Tracking: Track case status with custom statuses
- Phone Number Management: Support for different phone types (home, mobile, WhatsApp)
- Dark/Light Theme: Toggle between themes
- Responsive Design: Works on desktop and mobile devices
- Frontend: React 18, TypeScript, Tailwind CSS
- Desktop: Tauri (Rust + WebView)
- Database: SQLite
- State Management: React Hooks
- UI Components: Heroicons, Custom Components
src/
├── components/ # Reusable UI components
│ ├── ui/ # Basic UI components
│ ├── cards/ # Card components
│ ├── charts/ # Chart components
│ └── index.ts # Component exports
├── constants/ # Application constants
│ └── index.ts # Statuses, phone types, etc.
├── hooks/ # Custom React hooks
├── pages/ # Page components
│ ├── Dashboard.tsx # Dashboard page
│ ├── Cases.tsx # Cases list page
│ ├── AddCases.tsx # Add case page
│ └── index.ts # Page exports
├── services/ # API services
│ └── caseService.ts # Case management API
├── styles/ # Global styles
├── types/ # TypeScript type definitions
│ └── index.ts # Type exports
├── utils/ # Utility functions
│ ├── validation.ts # Validation utilities
│ ├── formatting.ts # Formatting utilities
│ ├── notifications.ts # Notification utilities
│ └── index.ts # Utility exports
├── App.tsx # Main app component
└── main.tsx # App entry point
- Node.js 18+
- Rust (for Tauri)
- Git
- Clone the repository:
git clone <repository-url>
cd job- Install dependencies:
npm install- Run the development server:
npm run tauri devnpm run tauri build- Create a Case: Navigate to "Add Cases" and fill in client information
- View Cases: Go to "Cases" to see all cases with filtering and sorting
- Edit Case: Click the edit button on any case to modify details
- Add Relatives: Add client relatives with contact information
- Track Payments: Record payments and track debt amounts
- Add Notes: Add notes to track case progress
- 🏠 Home: Landline phone numbers
- 📱 Mobile: Mobile phone numbers
- WhatsApp: WhatsApp contact
- 📱+WhatsApp: Mobile with WhatsApp
- Nömrə işləmir: Number not working
- Cavab vermir: Not responding
- Ödəniş gözlənilir: Payment expected
- Ödənişi gecikdirir: Payment delayed
- Ödəniş etmir: Not paying
- Məhkəməyə verək: Send to court
- Məhkəmədə: In court
- İcrada: In execution
- WhatsApp yazdım: WhatsApp message sent
- Use TypeScript for type safety
- Follow ESLint rules
- Use functional components with hooks
- Write JSDoc comments for functions
- Use English comments and documentation
- Components: PascalCase (e.g.,
PhoneTypeDropdown.tsx) - Utilities: camelCase (e.g.,
formatDate.ts) - Constants: UPPER_SNAKE_CASE (e.g.,
CASE_STATUSES)
- Create types in
src/types/index.ts - Add constants in
src/constants/index.ts - Create utilities in
src/utils/ - Build components in
src/components/ - Add pages in
src/pages/ - Update exports in index files
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License.