Skip to content

efesn/safecall

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SafeCall CRM

SafeCall CRM is a security security focused Customer Relationship Management web app designed specifically for call center operations.

Features

Security & Access Control

  • Role-Based Access (RBAC): Distinct permissions for Agents, Supervisors, and Admins.
  • Data Privacy: Agents can only view customers and tickets assigned to them.
  • Sensitive Action Verification: Viewing detailed ticket information requires password re-authentication.
  • Security Logs: Comprehensive logging of logins, data access, and failed attempts (accessible by Supervisors/Admins).

Dashboards

  • Agent Dashboard: Personal stats (Calls taken, Tickets resolved) and quick actions.
  • Supervisor Dashboard: Aggregated team performance metrics, call volume trends, and agent efficiency tables.
  • Admin Dashboard: User management interface for creating, editing, and removing system users (Agents/Supervisors).

Core CRM Functions

  • Ticket Management: Full lifecycle management (Open -> Pending -> Resolved) with priority levels and categories.
  • Customer Management: Centralized database with automatic agent assignment (Load Balancing strategy).
  • Call History: Logs of inbound/outbound calls with duration and notes.
  • Campaigns: Manage marketing campaigns and target groups.

Integrations (Webhooks)

  • Twilio Integration: Automatically logs incoming calls and creates customer profiles.
  • Email Integration: Converts incoming emails into support tickets automatically.

Tech Stack

  • Backend: Python 3.10+, Django 5, Django REST Framework (DRF)
  • Frontend: React.js, Material UI (MUI)
  • Database: SQLite
  • Authentication: JWT (JSON Web Tokens) via djangorestframework-simplejwt

Installation & Setup

Prerequisites

  • Python 3.x
  • Node.js & npm

1. Backend Setup

cd server
# Create virtual environment
python -m venv venv
# Activate virtual environment
# Windows:
.\venv\Scripts\activate
# Mac/Linux:
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Run migrations
python manage.py migrate

# Create Superuser (Admin)
python manage.py createsuperuser

# Run Server
python manage.py runserver

The backend runs on http://127.0.0.1:8000.

2. Frontend Setup

cd client
# Install dependencies
npm install

# Run React App
npm start

The frontend runs on http://localhost:3000.

Testing Webhooks

You can test the auto-logging features using Postman or curl.

Twilio Webhook (Incoming Call)

POST http://127.0.0.1:8000/api/crm/webhooks/twilio/

{
    "Name": "John Doe",
    "CallSid": "CA123456789",
    "From": "+15550123456",
    "To": "+15550987654",
    "CallStatus": "ringing"
}

Email Webhook (Incoming Complaint)

POST http://127.0.0.1:8000/api/crm/webhooks/email/

{
    "sender": "jane.doe@example.com",
    "name": "Jane Doe",
    "subject": "Internet Connection Issue",
    "body": "My internet has been down for 2 hours."
}

Roles & Permissions Matrix

Feature Agent Supervisor Admin
View Own Stats Yes Yes Yes
View Team Stats No Yes Yes
Manage Tickets Yes (Only Assigned) Yes (All) Yes (All)
Manage Customers Yes (Only Assigned) Yes (All) Yes (All)
Create Campaigns No Yes Yes
View Security Logs No Yes Yes
User Management No No Yes

About

SafeCall CRM is a security focused Customer Relationship Management web app designed specifically for call center operations. Django & Reactjs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors