1. Project Overview
Build a web-based Employee Management System specifically designed for Indian companies to manage employee information with proper data validation and Indian-specific requirements.
2. Employee Data Model
2.1 Required Fields
Employee {
employee_id: string (unique identifier - format: EMP001, EMP002...)
name: string (full name)
manager: string (reporting manager's name)
department: string (department name)
salary: number (annual salary in INR)
}
2.2 Indian-Specific Requirements
- Salary Display: Must show in INR format (₹75,000 or ₹7,50,000 for lakhs)
- Name Validation: Support for Indian names (including spaces, hyphens, dots)
- Department Names: Common Indian company departments (IT, HR, Finance, Operations, Marketing, Sales, Admin, Legal, R&D)
- Employee ID Format: Must follow EMP### pattern (EMP001, EMP002, etc.)
3. Core Functionality Requirements
3.1 Employee Management
- Add Employee: Create new employee records with all required fields
- View Employees: Display all employees in a table format
- Edit Employee: Modify existing employee information
- Delete Employee: Remove employee records (with confirmation)
- Employee Count: Display total number of employees
3.2 Search and Filter
- Search: Find employees by name, department, manager, or employee ID
- Real-time Search: Results should update as user types
- Case-insensitive: Search should work regardless of case
3.3 Data Validation
- Required Fields: Employee ID, Name, Department, and Salary are mandatory
- Unique Employee ID: No duplicate employee IDs allowed
- Salary Validation: Must be a positive number
- Input Sanitization: Prevent malicious input
3.4 Data Persistence
- Employee data must survive browser refresh/restart
- Changes should be saved automatically
4. User Interface Requirements
4.1 Main Dashboard
Must include:
- Page title: “Employee Management System”
- Button to add new employee
- Search functionality
- Employee table with columns: ID, Name, Manager, Department, Salary, Actions
- Edit and Delete buttons for each employee row
- Total employee count display
4.2 Add/Edit Employee Form
Must include:
- Form fields for all required data
- Form validation with error messages
- Save and Cancel buttons
- Clear indication if adding new or editing existing employee
4.3 Responsive Design
- Must work on desktop computers (1024px+ width)
- Must work on tablets (768px-1023px width)
- Must work on mobile phones (320px-767px width)
4.4 Indian Localization
- Currency symbol: ₹ (Indian Rupee)
- Number formatting: Support both ₹75,000 and ₹7,50,000 formats
- Professional appearance suitable for Indian corporate environment
5. Sample Data Requirements
The system should be pre-populated with at least 5 sample Indian employees:
Employee 1:
- ID: EMP001
- Name: Rajesh Kumar
- Manager: Priya Sharma
- Department: IT
- Salary: 750000
Employee 2:
- ID: EMP002
- Name: Priya Sharma
- Manager: Amit Singh
- Department: IT
- Salary: 1200000
Employee 3:
- ID: EMP003
- Name: Amit Singh
- Manager: Sunita Verma
- Department: HR
- Salary: 850000
Employee 4:
- ID: EMP004
- Name: Sunita Verma
- Manager: N/A
- Department: HR
- Salary: 1500000
Employee 5:
- ID: EMP005
- Name: Vikash Gupta
- Manager: Rajesh Kumar
- Department: IT
- Salary: 650000
6. Functional Requirements
6.1 Must Have Features
- Create, Read, Update, Delete (CRUD) operations for employees
- Search employees by any field
- Form validation for all inputs
- Data persistence across browser sessions
- Responsive design for all device sizes
- Indian Rupee currency formatting
- Employee count display
- Confirmation dialog before deleting employees
6.2 User Experience Requirements
- Intuitive and easy to navigate
- Fast response times
- Clear error messages
- Success confirmation messages
- Professional appearance
- Clean and organized layout
6.3 Data Requirements
- Support for at least 1000+ employee records
- Fast search results (under 1 second)
- Automatic data backup/save
- Data integrity maintenance
7. Browser Compatibility
Must work on:
- Google Chrome (latest version)
- Mozilla Firefox (latest version)
- Microsoft Edge (latest version)
- Safari (latest version on Mac)
8. Business Rules
8.1 Employee ID Rules
- Must be unique across all employees
- Must follow EMP### format (EMP001, EMP002, etc.)
- Auto-increment for new employees
- Cannot be changed once created
8.2 Salary Rules
- Must be in Indian Rupees (INR)
- Must be a positive number
- Display with proper Indian number formatting
- No upper limit restriction
8.3 Manager Rules
- Manager field can be empty (for top-level employees)
- Manager name should be a string
- No validation that manager exists in system (keep it simple)
8.4 Department Rules
- Must be provided for every employee
- Free text field (no dropdown restrictions)
- Common Indian departments: IT, HR, Finance, Operations, Marketing, Sales, Admin, Legal, R&D
9. Success Criteria
The system is considered successful when:
- All CRUD operations work correctly
- Search functionality returns accurate results
- Data persists across browser sessions
- Responsive design works on all target devices
- Form validation prevents invalid data entry
- Indian Rupee formatting displays correctly
- Sample data loads properly on first use
- User can manage 100+ employees without performance issues
10. Constraints
10.1 Technical Constraints
- Web-based application only (no mobile app required)
- Must work without internet connection after initial load
- No user authentication required (single user system)
- No file upload functionality required
10.2 Business Constraints
- Single company use (no multi-tenant support)
- Indian market focus (INR currency, Indian names)
- Simple reporting manager hierarchy (no complex org charts)
- Basic functionality only (no advanced HR features)
11. Out of Scope
The following features are NOT required:
- User login/authentication
- Employee photos
- Advanced reporting
- Payroll integration
- Leave management
- Performance tracking
- Multi-company support
- Email notifications
- Print functionality
- Data export/import
- Advanced analytics
- Role-based permissions
12. Delivery Expectations
12.1 Code Quality
- Clean, readable, and well-commented code
- Consistent coding style
- Error handling for edge cases
- Input validation and sanitization
12.2 Documentation
- README file with setup instructions
- Code comments explaining complex logic
- List of features implemented
12.3 Testing
- Manual testing of all features
- Test with sample data provided
- Test on different screen sizes
- Test edge cases (empty data, invalid inputs)