Вы находитесь на странице: 1из 19

Django-CRM

Release 0.9.0

Dec 06, 2019


Contents

1 Installation 3
1.1 Installation & Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Packages Used . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2 Modules in Sales 7
2.1 Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Accounts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4 Leads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.5 Opportunity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.6 Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.7 Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.8 Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.9 Invoices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.10 Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.11 Teams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3 Modules in Marketing 11
3.1 Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2 Contact List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.3 Contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.4 Email Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.5 Campaign . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

4 Internals 13
4.1 Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.2 Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.3 Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.4 Change Password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.5 Forgot Password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Index 15

i
ii
Django-CRM, Release 0.9.0

Django CRM is an opensource CRM on Django framework developed and maintained by Micropyramid. It has all the
basic features of Sales and Marketing to begin with and customise to meet industry needs.
We welcome code contributions, suggestions, and feature requests via github. Source Code is available in Micropyra-
mid Repository.

Contents 1
Django-CRM, Release 0.9.0

2 Contents
CHAPTER 1

Installation

1.1 Installation & Configuration

1. Create a django-crm directory using mkdir, move to it using cd

mkdir django-crm
cd django-crm

2. install virtualenv using the following command

sudo apt-get install virtualenv

3. create a python3 virtual environment and activate it using the following command

virtualenv -p python3 env


source ../env/bin/activate

4. create a django-crm directory again, move to it using cd

mkdir django-crm
cd django-crm

5. Install git using the following command and configure the account details

sudo apt-get install git

git config --user.email <your email id>


git config --user.name <your name>

6. Intialize the git using the following command

git init

7. Add django-crm repository using the following command

3
Django-CRM, Release 0.9.0

git remote add origin https://github.com/MicroPyramid/Django-CRM.git

7. Pull the latest code of django-crm using the following command

git pull origin master

8. Install project dependencies using the following commands

curl -sL https://deb.nodesource.com/setup_10.x | bash -


sudo apt-get update
sudo apt-get apt install -y ruby-dev nodejs postgresql-client redis-server
˓→wkhtmltopdf memcache

gem install compass sass


npm -g install less
pip install --no-cache-dir redis
pip install --no-cache-dir -r requirements.txt

9. We’re using elasticsearch for searching emails in application. Install elasticsearch using the following command

### Install Java

sudo add-apt-repository ppa:webupd8team/java


sudo apt-get update
sudo apt-get install oracle-java8-installer -y java -version

### Download and install the Public Signing Key


wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
˓→echo "deb https://packages.elastic.co/elasticsearch/2.x/debian stable main" |

˓→sudo tee -a /etc/apt/sources.list.d/elasticsearch-2.x.list

### Install Elasticsearch


sudo apt-get update && sudo apt-get install elasticsearch -y
# Start elasticsearch
sudo service elasticsearch start

10. open postgresql shell and create a database in postgresql using the following command

sudo su - postgres
psql
create database dj_crm;

11. we’re loading third party related keys from virtual environment env. We need to add those keys to tun the
application
# sendgrid details
SG_USER=<sendgrid username> SG_PWD=<sendgrid password>
#google developers account details
GP_CLIENT_ID=<oauth0 client id> GP_CLIENT_SECRET=<oauth0 client secret> EN-
ABLE_GOOGLE_LOGIN=<variable to configure google login in application>
#sentry details
SENTRYDSN=<sentry project dsn> SENTRY_ENABLED=<variable to configure sentry in appli-
cation>
#aws account details

4 Chapter 1. Installation
Django-CRM, Release 0.9.0

AWSBUCKETNAME=<aws bucket name> AWS_ACCESS_KEY_ID=<aws access key id>


AWS_SECRET_ACCESS_KEY=<aws access secret key>
12. Apply migrations to database using the following command

python manage.py migrate

13. Create superuser using the following command

python manage.py createsuperuser

It'll ask for username, email, password for user

14. Run the application using the following command and open the browsr, visit http://localhost:8000

python manage.py runserver

15. Use the following command for indexing documents in elasticsearch

python manage.py rebuild_idex

16. We’re using celery for sending emails, other related tasks in the application. Run celery using the following
commands

celery -A crm worker -l info

celery -A crm beat -l info

1.2 Packages Used


class center
django
celery
django-simple-pagination
django-compressor
sorl-thumbnail
django-phonenumber-field
phonenumbers
django-storages
psycopg2-binary
arrow
requests
boto3
lxml
cssselect
xlrd

1.2. Packages Used 5


Django-CRM, Release 0.9.0

xlwt
openpyxl
pdfkit
redis
coverage
raven
sorl-thumbnail
pytest
pytest-django
codacy-coverage
django-haystack
elasticsearch

6 Chapter 1. Installation
CHAPTER 2

Modules in Sales

2.1 Dashboard

This is the first page you’ll see when you login. Here you can see the general overview of your sales activity at a
glance. Which displays count of your total Accounts, Contacts, Leads, Opportunities, Recently created accounts &
opportunities.
• Recent Accounts: Here you can see recently created 10 accounts with respective info like account title, tags,
assigned user. By clicking on account title you will be redirected to account view page with detailed info.
• Recent Opportunities: Here you can see recently created 10 opportunities with respective info like opportunity
title, tags, assigned user. By clicking on opportunity title you will be redirected to opportunity view page with
detailed info.

2.2 Accounts

Accounts are nothing but converted leads. It has all the information of the company like Contacts, Opportunities,
Cases, Tasks, Invoices, Mails history associated with this account.
Here you can able to create a new account, check the existing accounts and update accounts. Here we have 2 types of
accounts, Open & Closed accounts. Open accounts are the active accounts. You can filter accounts by account title,
city, tags.
In the account view page, you can attach any kind of documents and you can add comments if you have any updates.

2.3 Contacts

Contacts relate to individual persons of the company. Each account or lead may have more than one contact and one
contact may associate with multiple accounts.

7
Django-CRM, Release 0.9.0

You can create a new contact, manage existing contacts. In the contact view page, you can see the detailed view with
associated Tasks, comments and attachments if any.
You can filter contacts by name, city and assigned user.

2.4 Leads

Leads plays a crucial role in the sales module. If anyone is interested towards your services, you can add them here.
These leads are not confirmed. Once a lead is qualified, you can convert them as an account.
You can create leads in two ways,
• By creating manually - You can create only one lead at a time.
• By uploading CSV file - You can create more than one lead in a single click.
There are 2 types of leads, open & closed leads. Open leads are the active leads. From the lead list page, you can view,
update or delete a lead.
From lead list page, click on the lead title, to check lead quick view. By clicking on the eye icon from table, you can
see the detailed view of a lead.

2.5 Opportunity

Requested services of the company are meant to be opportunities. New opportunities can be added and can be assigned
to accounts & contacts.
You can access opportunity view, edit and delete from the list page. In the list page, you can check which accounts are
linked to opportunities.
In the view page, you can check the detailed info an opportunity, uploaded attachments and comments.

2.6 Cases

Any customer issues or help will be logged here. Each case will be assigned to respective team or user. Cases can be
individual or it can be related to accounts or contacts.
From cases list page, you can create a new case and you can manage existing cases like edit, delete and close cases.
You can filter cases by its name, status, priority and assigned users.

2.7 Documents

Here you can upload any kind of documents and assign to either team or individual person. In list page, you can see
existing documents in a grid view with view, edit, delete and download options.
Assigned users can able to manage and download the documents from the list page. You can filter documents by it’s
name, status and assigned users.

8 Chapter 2. Modules in Sales


Django-CRM, Release 0.9.0

2.8 Tasks

Project requirements are called as tasks. Each project will be divided into multiple tasks and if you finish tasks on
time, then you can be able to complete a project with good productivity.
You can create tasks with deadlines to track easily. From the task list page, you can create a new task, view, update
and delete a task. In the task view page, you can check the uploaded documents and comments section.

2.9 Invoices

Which helps to generate a bill for your client or account based on the services you have provided. By doing this, you
can measure how much of revenue is generating for your company. You can create invoices for individuals and assign
to clients.
You can save invoice as either draft or send. Total there are 5 options in the invoice - Draft, Send, Pending, Paid,
Cancel.
• Draft - It will be used for future purpose
• Send - If you choose the invoice status as send, then it will be shared with the respective client
• Pending - Waiting for the payment
• Paid - Invoice amount has been paid by client
• Cancel - It will close the invoice
From invoice list page, you can change the invoice status, view, manage invoices. You can filer invoices by title,
invoice number, created by, assigned users, status, total amount.

2.10 Events

It is to schedule calls or meetings. There are 2 types of events,


Recurring - Based on the day selection, start & end dates, you can create recurring events Non-recurring - You can
create events for a specific date
When you assign an event for an user, they will receive a notification email reg: the event. You can upload attachments
in the events view page. After completion of call or meeting, they can add comments in the event view page.
You can filter events by name, created by, assigned users, date of meeting.

2.11 Teams

You can group users into teams. Instead of assigning leads, accounts etc. to multiple people, you can create a team
and assign them. For ex: You can create teams like sales, marketing etc.
In teams list page, you can see which users are involved in each team. From list page, you can access team view, edit,
delete features.
You can filter teams by name, created by, assigned users.

2.8. Tasks 9
Django-CRM, Release 0.9.0

10 Chapter 2. Modules in Sales


CHAPTER 3

Modules in Marketing

3.1 Dashboard

Here you can see the general overview of your sales activity at a glance. Which display statistical view of latest 5
campaigns with required data. At bottom of this report, you can latest 5 records of contact list & campaigns
• Recent Contact List - Here you can see contact list name, it’s tags. From here, you can switch to contact list
view page.
• Recent Campaigns - These are latest 5 campaigns with info of campaign title, tags, created on date. Click on
the campaign title, to check it’s detailed view.

3.2 Contact List

Use contact list to import bulk contacts into single list. In create page, you can download the sample file for your
reference.
It will be useful, at the time of sending a campaign. In contact list page, you can see name of the contact list, valid &
invalid contacts of the list, bounced contacts, failed contacts, duplicate contacts.
Click on the contact list title, to access view page. In view page, you can see detailed contacts info with count. Here
you can either edit or delete contacts.

3.3 Contacts

All the uploaded contacts will be appeared here. Here you can able to see valid, bounced, failed contacts with the
count. You delete existing contacts from the list page.
You filter contacts by email, domain name, created by, contact list. Click on each tab, to check contacts in a detailed
view.

11
Django-CRM, Release 0.9.0

3.4 Email Templates

Email templates are used at the time of campaign creation. From the list page, click on the plus(+) icon to create a
campaign using that template.
Click on eye icon, to see how the template will look like. You can filter email templates by name, created by.

3.5 Campaign

It will be useful to send promotional campaigns for multiple contacts and to generate more no. of leads. In campaign
create page, you can choose existing contact list & email templates.
Here you can choose option as whether to receive your replies to your account or CRM application. You can specify
the placeholders in the template. Placeholders are like name, email, company etc.
In the campaign view page, you can take a glance of everything. Like how many bounced contacts, unsubscribed
users, opened emails etc. If there are any links in your email, you can also track which users opened that link or not.
You can filter campaigns by name, created by.

12 Chapter 3. Modules in Marketing


CHAPTER 4

Internals

4.1 Users

To access the CRM, you can create users here with required permissions like user role (Admin & User), module level
permissions (sales & marketing). Based on these two, user can access CRM features, when they logged in.
There are 2 types of users, active & inactive(deleted users). From list page, you activate or deactivate user account and
you can reset the password for an user.

4.2 Settings

In settings page, you can add contacts, block domains, block emails. You can access this page from user drop down.
Only admins can able to access settings page.
If you add any contacts in this page, those users will receive an email if anyone in the organization runs a campaign.
If you block any domain or email, then they don’t receive any campaign related emails.

4.3 Profile

You can view/edit basic info of an user. You can access this page from user drop down. In this page, you can see
the name of your account, email, in which team you are involved, which module permissions you have like sales &
marketing, profile picture.

4.4 Change Password

For security purpose, you can change the password for your account. You can navigate to change password page, from
user drop down. You have to specify new & confirm password as per the instructions specified in this page.

13
Django-CRM, Release 0.9.0

4.5 Forgot Password

From the login page, you can request for forgot password. To reset the password, you have to specify your email.
After that, you will receive an email with instructions to set a new password for your account.
We welcome your feedback and support, raise github ticket if you want to report a bug or need new feature.
If you need any additional support? Contact us here
or
mailto:: “hello@micropyramid.com”

14 Chapter 4. Internals
Index

C
center (built-in class), 5

15

Вам также может понравиться