Customer360 is a Django web application for managing customer information and interactions. It allows users to create new customers, record interactions, and view summaries of recent interactions.
- Clone the repository:
git clone https://github.com/yourusername/customer360.git
- Install dependencies:
pip install -r requirements.txt
- Apply migrations to set up the database:
python manage.py migrate
- Create a superuser to access the admin panel:
python manage.py createsuperuser
- Run the development server:
python manage.py runserver
- Access the application at http://localhost:8000/ and the admin panel at http://localhost:8000/admin/.
- Use the Django admin panel to manage customers and interactions.
- Create new customers, record interactions, and view summary reports.
- Home:
/
- Displays a list of customers with the option to interact with them. - New Customer:
/create/
- Form to add a new customer. - Interact:
/interact/<customer_id>/
- Form to interact with a specific customer. - Summary:
/summary/
- View recent interaction summaries.
customer360/
: Django project directory.settings.py
: Django settings for the project.urls.py
: URL configurations for routing.
customers/
: Django app for customer management.models.py
: Defines Customer and Interaction models.views.py
: Contains view functions for handling requests.templates/
: HTML templates for rendering pages.static/
: Static files (CSS, JS, etc.).
manage.py
: Django's command-line utility for administrative tasks.
- Represents a customer with basic information.
- Fields:
id
: Auto-generated primary key.name
: Name of the customer.email
: Email address of the customer.phone
: Phone number of the customer.address
: Address of the customer.social_media
: (Added in migration) Social media handle of the customer.
- Represents an interaction with a customer.
- Fields:
id
: Auto-generated primary key.customer
: ForeignKey to Customer model.channel
: Communication channel (phone, sms, email, letter, social media).direction
: Direction of interaction (inbound, outbound).interaction_date
: Date of the interaction.summary
: Summary of the interaction.