Back to Projects
Headless β€’ Custom App

MULTI-CONTRACTS

Enterprise CRM System
MULTI-CONTRACTS

Overview

MULTI-CONTRACTS is a CRM (Customer Relationship Management) system developed by Axalize Incorporated, specialized for managing contracts, customers, inventory, and business revenue. The system features a powerful Custom Dashboard, built on a ReactJS SPA architecture, integrating realtime chat via Pusher and utilizing Redux / Redux-Saga for state management, with Laravel on the backend.

  • URL: app.multicontracts.com.sg
  • Development Unit: Axalize Incorporated
  • Product Type: CRM System – Multi-channel Contract Management
  • Target Users: Enterprises, sales teams, managers

Technical Information
AttributeDetails
FrontendReactJS (SPA)
State ManagementRedux, Redux-Saga
RealtimePusher (WebSocket)
Data VisualizationChartJS
APIRESTful API
BackendLaravel (PHP)
HTTP ClientAxios
StylingCSS3, SASS, Bootstrap
Version ControlGit
Design ToolFigma

Key Features

πŸ“Š Dashboard & Reporting

FeatureDescription
Overview DashboardDisplays KPIs, revenue, and key metrics on a single screen
Visual ChartsChartJS – bar, line, pie, and area charts
Revenue ReportsRevenue statistics by time period, customer, and product
Inventory ReportsTrack stock quantities, stock-in/stock-out
Filter & Export DataFilter by time range, export reports

πŸ“ Contract Management

FeatureDescription
Create & Manage ContractsFull CRUD for contracts with detailed information
Multi-contractsSupports managing multiple contracts within a single system
Status TrackingContract pipeline: Draft β†’ Active β†’ Completed β†’ Expired
Contract HistoryRecords all changes and updates to contracts
Contract Expiry AlertsAutomatic notifications when a contract is about to expire

πŸ‘₯ Customer Management

FeatureDescription
Customer ProfilesStore detailed customer information
Customer ClassificationGroup, tag, and classify by criteria
Transaction HistoryTrack all purchase and contract history
Contract Linking1 customer – multiple contracts (1:N relationship)

πŸ’¬ Realtime Chat

FeatureDescription
Realtime MessagingInternal communication between members via Pusher WebSocket
Instant NotificationsPush notifications for new messages
Chat HistoryStore and search conversation history

πŸ“¦ Inventory Management

FeatureDescription
Product ManagementProduct list, quantities, and prices
Stock In/OutRecord stock receipt and dispatch vouchers
Inventory TrackingLow stock alerts, inventory reports
Contract LinkingAttach products to corresponding contracts

πŸ’° Revenue Management

FeatureDescription
Revenue TrackingRevenue statistics by day/week/month/year
Revenue ChartsVisualization using ChartJS
Performance AnalysisCompare revenue by period, by employee, by customer
Payment ManagementTrack outstanding debts, payments, and invoices

System Architecture
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                   Frontend (ReactJS)             β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚  β”‚  Redux    β”‚ β”‚  Redux    β”‚ β”‚   ChartJS      β”‚ β”‚
β”‚  β”‚  Store    β”‚ β”‚  Saga     β”‚ β”‚   Dashboard    β”‚ β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚            Axios HTTP Client              β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                       β”‚ RESTful API
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                Backend (Laravel)                  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚  β”‚  API      β”‚ β”‚  Auth     β”‚ β”‚   Pusher       β”‚ β”‚
β”‚  β”‚  Routes   β”‚ β”‚  System   β”‚ β”‚   Broadcast    β”‚ β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚              Database (MySQL)             β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Role in the Project
RoleDescription
PositionMain Frontend Developer
Primary ResponsibilityLead all Frontend development
Specific TasksConvert Figma β†’ Production UI, API integration, state management with Redux/Redux-Saga, Pusher realtime chat integration, ChartJS dashboard development, performance & UX optimization

Project Gallery
  • Screenshot
  • Screenshot
  • Screenshot
Tags

CRM Β· contracts Β· customer management Β· dashboard Β· realtime chat Β· ReactJS Β· Redux Β· Pusher Β· ChartJS Β· inventory Β· revenue Β· Laravel Β· SPA