Project Assignment: CRM Console Application using Core Java
Project Title:
Simple CRM Console Application
Project Overview:
Develop a console-based CRM system using Core Java that allows users to manage leads
and user details efficiently. This project will reinforce object-oriented programming concepts,
collections, and exception handling. The data will be stored in memory (using Java Collections)
for simplicity.
Project Requirements
1. User Management:
● Users should be able to add, update, and list users.
● Each user should have the following details:
○ User ID (Auto-generated, unique)
○ Name
○ Email
○ Phone Number
○ Role (e.g., Admin, Sales Representative)
2. Lead Management:
● Users should be able to add, update, and view leads.
● Each lead should have the following details:
○ Lead ID (Auto-generated, unique)
○ Customer Name
○ Contact Number
○ Email
○ Lead Status (New, Contacted, Qualified, Converted, Lost)
○ Assigned User (Sales Representative)
3. Lead Search & Filtering:
● Users should be able to search leads by name or email.
● Users should be able to filter leads based on status.
Project Guidelines
1. Use Object-Oriented Programming (OOP) Principles:
○ Create classes for User, Lead, and CRMSystem.
○ Implement encapsulation, inheritance, and polymorphism where applicable.
2. Use Collections for Data Storage:
○ Store users and leads using ArrayList or HashMap.
3. Implement Exception Handling:
○ Handle invalid inputs, duplicate entries, and missing data gracefully.
4. Create a User-Friendly Menu:
○ Implement a command-line menu for navigation.
○ Provide options like Add User, Add Lead, Update Lead, View Leads, Search
Leads, etc.