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.
- π Features
- ποΈ Project Structure
- π§ Installation
- π Quick Start
- π Usage
- π Authentication
- πΌοΈ Screenshots
- π οΈ Technologies Used
- π€ Contributing
- π License
- π€ Author
β 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
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
- Python 3.8+ installed on your system
- MySQL server (8.0+ recommended)
- pip (Python package manager)
git clone https://github.com/HifzaanDev/CRM-App.git
cd CRM-App# Windows
python -m venv venv
venv\Scripts\activate
# macOS/Linux
python3 -m venv venv
source venv/bin/activatepip install django
pip install mysql-connector-python- Install MySQL from official website
- Create database:
python mydb.pyModify settings.py to use SQLite:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}python manage.py makemigrations
python manage.py migratepython manage.py createsuperuser- Start the development server:
python manage.py runserver-
Access the application:
- Main application: http://127.0.0.1:8000/
- Admin panel: http://127.0.0.1:8000/admin/
-
Create your first user account through the registration page
-
Start managing customers by adding new records
- View all customer records in a clean table format
- Quick access to customer actions (View, Edit, Delete)
- User authentication status and navigation
- 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
- Register: Create new user accounts
- Login: Secure authentication system
- Logout: Session management
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
The main dashboard displays all customer records with easy navigation and management options.
Detailed view of individual customer information with edit and delete options.
Clean and user-friendly registration form with validation.
- Django 4.1 - Python web framework
- Python 3.x - Programming language
- MySQL - Database management system
- HTML5 - Markup language
- CSS3 - Styling
- Bootstrap 5 - CSS framework
- JavaScript - Client-side scripting
- Django ORM - Object-relational mapping
- MySQL Connector - Database connectivity
- Django Forms - Form handling and validation
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Follow PEP 8 style guidelines
- Add comments for complex logic
- Update tests for new features
- Update documentation as needed
This project is licensed under the MIT License - see the LICENSE file for details.
Hifzaan Mohammad
- π GitHub: @HifzaanDev
- πΌ LinkedIn: Hifzaan Mohammad
- π§ Email: Contact via LinkedIn
Give a βοΈ if this project helped you!
- π 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