Skip to content

CrediMon — smart credit and repayment tracking system: monitor debts, due dates, and client statuses.

Notifications You must be signed in to change notification settings

ClauseBreaker/CrediMon

Repository files navigation

CRM Case Management System

A modern case management system built with React, TypeScript, and Tauri for desktop applications.

Features

  • 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

Tech Stack

  • Frontend: React 18, TypeScript, Tailwind CSS
  • Desktop: Tauri (Rust + WebView)
  • Database: SQLite
  • State Management: React Hooks
  • UI Components: Heroicons, Custom Components

Project Structure

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

Getting Started

Prerequisites

  • Node.js 18+
  • Rust (for Tauri)
  • Git

Installation

  1. Clone the repository:
git clone <repository-url>
cd job
  1. Install dependencies:
npm install
  1. Run the development server:
npm run tauri dev

Building for Production

npm run tauri build

Usage

Case Management

  1. Create a Case: Navigate to "Add Cases" and fill in client information
  2. View Cases: Go to "Cases" to see all cases with filtering and sorting
  3. Edit Case: Click the edit button on any case to modify details
  4. Add Relatives: Add client relatives with contact information
  5. Track Payments: Record payments and track debt amounts
  6. Add Notes: Add notes to track case progress

Phone Number Types

  • 🏠 Home: Landline phone numbers
  • 📱 Mobile: Mobile phone numbers
  • WhatsApp: WhatsApp contact
  • 📱+WhatsApp: Mobile with WhatsApp

Case Statuses

  • 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

Development

Code Style

  • Use TypeScript for type safety
  • Follow ESLint rules
  • Use functional components with hooks
  • Write JSDoc comments for functions
  • Use English comments and documentation

File Naming

  • Components: PascalCase (e.g., PhoneTypeDropdown.tsx)
  • Utilities: camelCase (e.g., formatDate.ts)
  • Constants: UPPER_SNAKE_CASE (e.g., CASE_STATUSES)

Adding New Features

  1. Create types in src/types/index.ts
  2. Add constants in src/constants/index.ts
  3. Create utilities in src/utils/
  4. Build components in src/components/
  5. Add pages in src/pages/
  6. Update exports in index files

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

License

This project is licensed under the MIT License.

About

CrediMon — smart credit and repayment tracking system: monitor debts, due dates, and client statuses.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published