Skip to content

michalwilman/CRM-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CRM Project (Django)

A simple but flexible Customer Relationship Management (CRM) system built with Django. It includes customer management, product catalog, order creation, dynamic price calculations, and an admin dashboard.

⚠️ This project was built as a learning exercise and may require updates to run on the latest Django versions.


Features

  • Customer management (create, view, update, delete)
  • Product catalog with price per product
  • Order system with support for multiple products per order
  • Live total price calculation per order (based on quantity and price)
  • Admin panel with login permissions
  • Dynamic order form with dropdown product selection
  • Display of all orders per customer
  • Built-in filtering for order status, date, time
  • Basic templates using Django templating system

Project Structure crm_project/ ├── manage.py ├── db.sqlite3 ├── mycrm/ # Main Django project settings │ └── urls.py ├── customers/ # App for managing customers │ └── views.py, models.py, admin.py, urls.py ├── products/ # App for insurance products │ └── models.py, admin.py, urls.py ├── orders/ # App for order creation and management │ └── models.py, forms.py, views.py, admin.py, urls.py ├── templates/ │ └── ... # HTML templates for rendering views

Requirements

  • Python 3.8+
  • Django 4.2+
  • pip (Python package manager)
  • venv (virtual environment)

Installation

1.Clone the repository:

git clone https://github.com/<michalwilman>/CRM-Project.git
cd CRM-Project

2.Create a virtual environment:

python -m venv venv
source venv/bin/activate     # On Windows: venv\Scripts\activate


3.Install dependencies:

pip install -r requirements.txt


4.Run initial migrations:

python manage.py makemigrations
python manage.py migrate


5.Create a superuser:

python manage.py createsuperuser


6.Start the development server:

python manage.py runserver

#Login to Admin Panel

Visit:
http://127.0.0.1:8000/admin/

Use the superuser credentials you just created.

Usage Examples

- Create new products (e.g. insurance types like "Home", "Travel", etc.)

- Add new customers

- Create orders and select products (with quantity)

- Orders will show up in the customer’s profile along with total price

- Order status (e.g., shipped or pending) is reflected dynamically

Technologies Used

Python

Django

SQLite

HTML/CSS (Django templates)

Troubleshooting

Model migration errors?
Delete the db.sqlite3 file and migrations folders (except __init__.py), then run migrations again.

rm db.sqlite3
find . -path "*/migrations/*.py" -not -name "__init__.py" -delete
python manage.py makemigrations
python manage.py migrate


Server not starting?
Make sure you have activated your virtual environment.

Future Improvements

REST API (with Django REST Framework)

User registration for customers (non-admin)

Export reports as PDF or Excel

Filtering by product or status

Frontend redesign with Bootstrap or React

Created by MICHAL WILMAN – built for hands-on learning, prototyping, and real-world use in small businesses.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors