Skip to content

HifzaanDev/CRM-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

14 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Django CRM Application

Django Python MySQL Bootstrap

A modern, feature-rich Customer Relationship Management (CRM) system built with Django. This application provides comprehensive customer data management with an intuitive web interface, user authentication, and full CRUD operations.

πŸ“‹ Table of Contents

🌟 Features

βœ… User Authentication System

  • User registration and login
  • Session management
  • Password validation and security

βœ… Customer Management

  • Add new customer records
  • View customer details
  • Update existing records
  • Delete customer records
  • Comprehensive customer information storage

βœ… Responsive Design

  • Bootstrap 5 integration
  • Mobile-friendly interface
  • Clean and modern UI

βœ… Database Integration

  • MySQL database support
  • Django ORM for data management
  • Secure data storage

βœ… Form Validation

  • Client-side and server-side validation
  • Error handling and user feedback
  • Input sanitization

πŸ—οΈ Project Structure

CRM-App/
β”‚
β”œβ”€β”€ πŸ“ dcrm/                    # Django project configuration
β”‚   β”œβ”€β”€ __init__.py
β”‚   β”œβ”€β”€ asgi.py                 # ASGI configuration
β”‚   β”œβ”€β”€ settings.py             # Project settings
β”‚   β”œβ”€β”€ urls.py                 # Main URL configuration
β”‚   └── wsgi.py                 # WSGI configuration
β”‚
β”œβ”€β”€ πŸ“ website/                 # Main application
β”‚   β”œβ”€β”€ πŸ“ migrations/          # Database migrations
β”‚   β”‚   β”œβ”€β”€ 0001_initial.py
β”‚   β”‚   └── __init__.py
β”‚   β”‚
β”‚   β”œβ”€β”€ πŸ“ templates/           # HTML templates
β”‚   β”‚   β”œβ”€β”€ add_record.html     # Add customer form
β”‚   β”‚   β”œβ”€β”€ base.html           # Base template
β”‚   β”‚   β”œβ”€β”€ home.html           # Dashboard/home page
β”‚   β”‚   β”œβ”€β”€ navbar.html         # Navigation component
β”‚   β”‚   β”œβ”€β”€ record.html         # Customer detail view
β”‚   β”‚   β”œβ”€β”€ register.html       # User registration
β”‚   β”‚   └── update_record.html  # Update customer form
β”‚   β”‚
β”‚   β”œβ”€β”€ __init__.py
β”‚   β”œβ”€β”€ admin.py                # Django admin configuration
β”‚   β”œβ”€β”€ apps.py                 # App configuration
β”‚   β”œβ”€β”€ forms.py                # Form definitions
β”‚   β”œβ”€β”€ models.py               # Database models
β”‚   β”œβ”€β”€ tests.py                # Unit tests
β”‚   β”œβ”€β”€ urls.py                 # App URL patterns
β”‚   └── views.py                # View functions
β”‚
β”œβ”€β”€ .gitignore                  # Git ignore rules
β”œβ”€β”€ manage.py                   # Django management script
β”œβ”€β”€ mydb.py                     # Database setup script
└── README.md                   # Project documentation

πŸ”§ Installation

Prerequisites

  • Python 3.8+ installed on your system
  • MySQL server (8.0+ recommended)
  • pip (Python package manager)

Step 1: Clone the Repository

git clone https://github.com/HifzaanDev/CRM-App.git
cd CRM-App

Step 2: Create Virtual Environment (Recommended)

# Windows
python -m venv venv
venv\Scripts\activate

# macOS/Linux
python3 -m venv venv
source venv/bin/activate

Step 3: Install Dependencies

pip install django
pip install mysql-connector-python

Step 4: Database Setup

Option A: MySQL Setup

  1. Install MySQL from official website
  2. Create database:
python mydb.py

Option B: SQLite (Development)

Modify settings.py to use SQLite:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

Step 5: Run Migrations

python manage.py makemigrations
python manage.py migrate

Step 6: Create Superuser

python manage.py createsuperuser

πŸš€ Quick Start

  1. Start the development server:
python manage.py runserver
  1. Access the application:

  2. Create your first user account through the registration page

  3. Start managing customers by adding new records

πŸ“– Usage

🏠 Dashboard

  • View all customer records in a clean table format
  • Quick access to customer actions (View, Edit, Delete)
  • User authentication status and navigation

πŸ‘€ Customer Management

  • Add Customer: Fill out the comprehensive form with customer details
  • View Customer: See detailed customer information
  • Edit Customer: Update existing customer records
  • Delete Customer: Remove customers from the system

πŸ” User Management

  • Register: Create new user accounts
  • Login: Secure authentication system
  • Logout: Session management

πŸ”’ Authentication

The application includes a robust authentication system:

  • User registration with form validation
  • Secure login/logout functionality
  • Session-based authentication
  • Protected routes requiring authentication
  • Password validation and security measures

πŸ–ΌοΈ Screenshots

Dashboard

The main dashboard displays all customer records with easy navigation and management options.

Customer Details

Detailed view of individual customer information with edit and delete options.

User Registration

Clean and user-friendly registration form with validation.

πŸ› οΈ Technologies Used

Backend

  • Django 4.1 - Python web framework
  • Python 3.x - Programming language
  • MySQL - Database management system

Frontend

  • HTML5 - Markup language
  • CSS3 - Styling
  • Bootstrap 5 - CSS framework
  • JavaScript - Client-side scripting

Tools & Libraries

  • Django ORM - Object-relational mapping
  • MySQL Connector - Database connectivity
  • Django Forms - Form handling and validation

🀝 Contributing

Contributions are welcome! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Development Guidelines

  • Follow PEP 8 style guidelines
  • Add comments for complex logic
  • Update tests for new features
  • Update documentation as needed

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ‘€ Author

Hifzaan Mohammad


🌟 Show your support

Give a ⭐️ if this project helped you!

πŸ“ˆ Future Enhancements

  • πŸ“Š Customer analytics dashboard
  • πŸ“§ Email integration
  • πŸ“± Mobile application
  • πŸ”„ API development
  • πŸ“‹ Export/Import functionality
  • πŸ” Advanced search and filtering
  • πŸ“ˆ Sales tracking and reporting

Built with ❀️ using Django and Python

About

A modern, feature-rich Customer Relationship Management (CRM)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published