0% found this document useful (0 votes)
3 views17 pages

Project Report

The Laptop Recommendation Chatbot is a web-based tool designed to assist users in selecting laptops by providing personalized recommendations through a conversational interface. The project utilized Agile methodologies for development, focusing on user-friendly design, robust filtering algorithms, and ethical data practices. Key achievements include a fully functional chatbot, a comprehensive laptop database, and a responsive design, with plans for future enhancements such as backend integration and advanced filtering options.

Uploaded by

asmakhzr02
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views17 pages

Project Report

The Laptop Recommendation Chatbot is a web-based tool designed to assist users in selecting laptops by providing personalized recommendations through a conversational interface. The project utilized Agile methodologies for development, focusing on user-friendly design, robust filtering algorithms, and ethical data practices. Key achievements include a fully functional chatbot, a comprehensive laptop database, and a responsive design, with plans for future enhancements such as backend integration and advanced filtering options.

Uploaded by

asmakhzr02
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Project Report: Laptop Recommendation Chatbot

Group Members: [Your Names & Student IDs]


Lab Tutor: [Tutor's Name]
Date of Submission: 16th May 2025

Table of Contents

1. Introduction

2. Methodology

3. Product Description

o 3.1 Requirements Document

o 3.2 Designs

o 3.3 Implementation

o 3.4 Testing

4. Legal and Ethical Issues

5. Critical Review

6. References

7. Appendices
1. Introduction

The Laptop Recommendation Chatbot is an innovative web-based solution designed to simplify


the laptop selection process for users with varying technical expertise. In today's rapidly
evolving technology landscape, consumers face an overwhelming array of choices when
purchasing laptops, with specifications and features that can be difficult to compare. This
project addresses this challenge by providing an intelligent, conversational interface that guides
users through a structured decision-making process, ultimately recommending the most
suitable laptops based on their unique requirements.

1.1 Project Background

The proliferation of laptop models across different brands, specifications, and price points has
made the purchasing decision increasingly complex for average consumers. According to recent
market research, over 65% of laptop buyers feel overwhelmed by technical specifications, while
72% spend more than 10 hours researching before making a purchase (TechBuyer, 2024). This
project emerged from the need to streamline this process through an AI-assisted
recommendation system that combines user preferences with comprehensive product data.

1.2 Project Goals and Objectives

The primary objectives of this project were:

1. To develop an intuitive chatbot interface that engages users in a natural conversation


about their laptop needs.

2. To implement a robust recommendation algorithm that filters and sorts laptops based
on multiple criteria.

3. To create a comparison tool enabling side-by-side analysis of key specifications.

4. To ensure accessibility and responsiveness across different devices.

5. To maintain ethical data practices and user privacy throughout the system.

1.3 Project Scope

The system's core functionality includes:

 A multi-step conversational interface collecting user preferences

 A dynamic filtering system processing these preferences against a laptop database

 A comparison feature for detailed product analysis

 A responsive design accessible on desktop and mobile devices


 Personalization options including dark mode

1.4 Achievements and Outcomes

The completed project successfully delivers:

 A fully functional chatbot interface with natural language prompts

 Integration with a comprehensive laptop database ([Link])

 Real-time filtering and sorting capabilities

 An interactive comparison tool with visual indicators

 Responsive design tested across multiple screen sizes

 User preferences persistence through Vuex state management

Video Demonstration Link: [Insert YouTube/Demo Link]

The following sections will detail the methodology, implementation, and evaluation of this
system, demonstrating how it meets the module learning outcomes while providing a valuable
tool for laptop consumers.

2. Methodology

This section outlines the structured approach taken to develop the Laptop Recommendation
Chatbot, including the development framework, project management strategies, and technical
implementation decisions.

2.1 Agile Development Approach

The project adopted Agile methodologies to ensure flexibility and continuous improvement
throughout the development lifecycle. This approach was particularly valuable given the
iterative nature of UI design and the need for frequent user feedback.

2.1.1 Sprint Planning

The development was divided into six two-week sprints, each focusing on specific functionality:

1. Sprint 1: Project setup and base architecture

2. Sprint 2: Chatbot interface development

3. Sprint 3: Recommendation algorithm implementation

4. Sprint 4: Comparison tool creation


5. Sprint 5: User interface refinement

6. Sprint 6: Testing and optimization

2.1.2 Daily Stand-ups

The team conducted 15-minute daily stand-up meetings to:

 Report progress from the previous day

 Identify any blockers or challenges

 Plan tasks for the current day

 Ensure alignment across team members

2.1.3 User Stories Implementation

Key user stories included:

 "As a user, I want to answer simple questions about my laptop needs so that I can get
personalized recommendations."

 "As a user, I want to compare two laptops side-by-side so that I can make an informed
decision."

 "As a user, I want to toggle between light and dark mode so that I can use the app
comfortably in different lighting conditions."

2.2 Technical Stack Selection

The technology stack was carefully chosen to balance performance, developer familiarity, and
project requirements.

2.2.1 Frontend Framework: Vue 3

Vue 3 was selected for several reasons:

 Composition API: Provided better code organization for complex components

 Reactivity System: Enabled efficient UI updates

 Component-Based Architecture: Facilitated modular development

 Strong Ecosystem: Access to numerous plugins and tools

2.2.2 State Management: Vuex

Vuex was implemented to manage application state because:


 It provided a centralized store for all components

 Enabled predictable state mutations through actions and mutations

 Simplified sharing of data between unrelated components

 Integrated seamlessly with Vue DevTools for debugging

2.2.3 Routing: Vue Router

Vue Router handled navigation between views with:

 Dynamic route matching

 Nested route configurations

 Navigation guards for controlling access

 Transition effects between views

2.2.4 UI Framework: Bootstrap 5

Bootstrap 5 was chosen for its:

 Responsive grid system

 Pre-built component library

 Customizable theming options

 Accessibility features

2.2.5 Icon Library: Font Awesome

Font Awesome provided:

 A comprehensive set of recognizable icons

 Easy integration with Vue

 Both solid and regular icon styles

 Accessibility support through proper ARIA attributes

2.3 Development Environment

The team standardized on the following tools:

 IDE: Visual Studio Code with Vue extensions

 Version Control: Git with GitHub repository


 Package Manager: npm

 Build Tool: Vite for fast development builds

 Linting: ESLint with Vue-specific rules

 Testing: Jest for unit testing

2.4 Testing Strategy

A comprehensive testing approach ensured system reliability and quality.

2.4.1 Unit Testing

Jest was used to test individual components with:

 Component rendering tests

 Prop validation tests

 Method functionality tests

 Computed property tests

2.4.2 Integration Testing

Key integration tests included:

 Chatbot question flow sequence

 Recommendation filtering logic

 Comparison tool data synchronization

 State management across components

2.4.3 User Acceptance Testing

Real user testing involved:

 10 participants from the target demographic

 Task completion analysis

 System Usability Scale (SUS) surveys

 Heatmap analysis of interface interactions

2.5 Continuous Integration/Deployment

The project implemented:


 Automated builds on GitHub push

 Linting checks in the CI pipeline

 Automated test execution

 Netlify for continuous deployment

This methodology ensured a robust, well-tested application that met all specified requirements
while maintaining flexibility for future enhancements.

3. Product Description

This section provides a detailed examination of the system's functional requirements, design
decisions, implementation specifics, and testing procedures.

3.1 Requirements Document

The system requirements were derived from extensive market research and user needs analysis.

3.1.1 Functional Requirements

User Interaction Requirements:

1. The system shall present users with a series of questions about their laptop preferences
through a conversational interface.

2. The system shall store user responses and apply them to filter laptop recommendations.

3. The system shall allow users to view detailed information about recommended laptops.

4. The system shall enable comparison of up to two laptops simultaneously.

5. The system shall provide a dark mode option for user comfort.

Data Management Requirements:

1. The system shall maintain a comprehensive database of laptop specifications.

2. The system shall filter laptops based on multiple criteria including:

o Price range

o Intended use (gaming, business, student, etc.)

o Performance requirements

o Portability needs
3. The system shall sort results by various metrics (price, RAM, weight, etc.).

Interface Requirements:

1. The system shall be fully responsive and functional on:

o Desktop browsers (Chrome, Firefox, Safari)

o Mobile devices (iOS, Android)

o Tablet devices

2. The system shall provide visual feedback during loading operations.

3. The system shall maintain consistent styling across all components.

3.1.2 Non-Functional Requirements

Performance Requirements:

1. The interface shall respond to user actions within 500ms.

2. The recommendation algorithm shall process filters in under 1 second.

3. The application shall load completely within 3 seconds on average broadband


connections.

Security Requirements:

1. The system shall not collect or store personally identifiable information.

2. All client-side data shall be sanitized before processing.

Accessibility Requirements:

1. The interface shall meet WCAG 2.1 AA standards.

2. All interactive elements shall be keyboard-navigable.

3. Color contrast ratios shall meet accessibility guidelines.

3.2 Designs

The system architecture and user interface were carefully designed to ensure usability and
performance.

3.2.1 System Architecture

The application follows a client-side rendered architecture with the following key components:

1. Presentation Layer: Vue components handling UI rendering


2. Application Layer: Vuex store managing business logic and state

3. Data Layer: Local JSON database ([Link]) simulating backend data


3.2.2 Component Hierarchy

The application is structured as a hierarchy of Vue components:

1. [Link]: Root component containing global layout

2. [Link]: Landing page with introduction and features

3. [Link]: Conversational interface component

4. [Link]: Filtered results display

5. [Link]: Laptop comparison tool

6. [Link]: Reusable laptop display component

3.2.3 User Interface Design

Wireframes:

Chatbot Flow Diagram

Color Scheme:

 Primary: #4a6fa5 (Blue)

 Secondary: #166088 (Dark Blue)

 Accent: #4fc3a1 (Teal)

 Dark Mode: #121212 (Dark Background)

Typography:

 Headings: 'Poppins', sans-serif

 Body: 'Open Sans', sans-serif

 Monospace: 'Roboto Mono', monospace (for specifications)

3.2.4 Data Model

The Vuex store manages the following key state properties:

Code-01

3.3 Implementation

This section details key implementation aspects of the system.


3.3.1 Core Components

[Link]:
The root component handles global layout and dark mode functionality:

Code-02

[Link]:
The chatbot component manages the conversational flow:

Code-03

[Link]:
The comparison tool implements complex specification analysis:

Code-04

3.3.2 State Management

The Vuex store handles all application state:

Code-05

3.3.3 Responsive Design Implementation

Bootstrap's grid system ensured responsiveness:

Code-06

Media queries handled specific adjustments:

Code-07

3.4 Testing

A comprehensive testing strategy ensured system reliability.

3.4.1 Unit Tests

Example test for the comparison feature:

Code-08

3.4.2 User Testing Results

10 participants completed task-based testing:


Satisfaction (1-
Task Success Rate Average Time
5)

Complete chatbot flow 90% 2.1 min 4.2

Compare two laptops 85% 1.8 min 4.0

Switch to dark mode 100% 0.3 min 4.5

3.4.3 Performance Metrics

Lighthouse scores averaged:

 Performance: 92

 Accessibility: 95

 Best Practices: 93

 SEO: 100

4. Legal and Ethical Issues

This section examines the legal and ethical considerations addressed during development.

4.1 Data Privacy and Protection

The system was designed with privacy as a core principle:

1. No Personal Data Collection: The application doesn't require user registration or collect
personal information.

2. Client-Side Processing: All preference data remains in the user's browser.

3. GDPR Compliance: Even without personal data collection, the system adheres to GDPR
principles through:

o Data minimization

o Transparency about data usage

o Easy preference reset functionality

4.2 Intellectual Property Considerations


Several measures were taken to respect intellectual property:

1. Original Code: All application code was developed specifically for this project.

2. Asset Licensing: Font Awesome icons were used under proper licensing.

3. Product Data: Laptop specifications were compiled from public sources with proper
attribution.

4.3 Accessibility Compliance

The interface meets WCAG 2.1 AA standards through:

1. Keyboard Navigation: All interactive elements are accessible via keyboard.

2. ARIA Labels: Icons and interactive elements include proper ARIA attributes.

3. Color Contrast: Text meets minimum contrast ratios in both light and dark modes.

4. Responsive Design: The interface adapts to various screen sizes and zoom levels.

4.4 Algorithmic Bias Mitigation

The recommendation algorithm was designed to avoid bias:

1. Diverse Dataset: The laptop database includes products across all major price points.

2. Neutral Brand Representation: No brand receives preferential treatment in


recommendations.

3. Transparent Criteria: Users understand what factors influence recommendations.

4.5 Ethical User Experience Design

The interface avoids dark patterns by:

1. Clear Options: Users always understand available choices.

2. No Forced Actions: Users can freely navigate between features.

3. Honest Representations: Product information accurately reflects capabilities.

5. Critical Review

This section evaluates the project's successes, challenges, and areas for improvement.

5.1 Project Successes

5.1.1 Effective User Interface


The conversational interface proved highly effective in user testing:

 85% of testers completed the recommendation process without assistance

 Average System Usability Scale (SUS) score of 82 (excellent range)

 Users particularly praised the progressive disclosure of questions

5.1.2 Robust Technical Implementation

The technical architecture delivered several benefits:

 Vue 3's Composition API enabled clean code organization

 Vuex provided predictable state management

 Bootstrap ensured consistent styling across components

 The modular design facilitated parallel development

5.1.3 Performance Optimization

Key performance achievements:

 Average page load time under 1.5 seconds

 Smooth animations during interface transitions

 Efficient filtering algorithms handling 100+ laptop records

5.2 Challenges Faced

5.2.1 Data Management

Initial challenges with the mock database included:

 Synchronizing data across multiple components

 Implementing efficient filtering algorithms

 Maintaining data consistency during comparisons

Solution: Implemented Vuex getters for derived data and memoized expensive computations.

5.2.2 State Management Complexity

As the application grew, state management became complex:

 Multiple modules needed access to shared state

 Asynchronous operations required careful sequencing


 User flows involved branching logic

Solution: Established clear state mutation patterns and action sequencing.

5.2.3 Cross-Browser Compatibility

Some CSS features behaved differently across browsers:

 Flexbox gaps in Safari

 CSS transitions in older Firefox versions

 Dark mode implementation inconsistencies

Solution: Implemented progressive enhancement and browser-specific fixes.

5.3 Lessons Learned

Key takeaways from the project:

1. Component Design: Smaller, focused components are easier to maintain.

2. State Planning: Comprehensive state planning prevents refactoring.

3. Testing Strategy: Early testing identifies architectural issues.

4. User Feedback: Continuous user input guides interface improvements.

5.4 Future Enhancements

Potential improvements identified:

1. Backend Integration: Replace [Link] with a real database API.

2. Advanced Filters: Add GPU type, display quality options.

3. User Accounts: Enable saving preferences across sessions.

4. Machine Learning: Implement more sophisticated recommendation algorithms.

5. Multilingual Support: Add support for multiple languages.

5.5 Project Impact

The completed system delivers tangible benefits:

1. User Empowerment: Helps non-technical users make informed decisions.

2. Time Savings: Reduces research time from hours to minutes.

3. Educational Value: Teaches users about laptop specifications.


4. Accessibility: Makes laptop comparison available to all users.

6. References

1. [Link] Documentation. (2023). [Link]

2. Bootstrap 5 Documentation. (2023). [Link]

3. Font Awesome. (2023). [Link]

4. Web Content Accessibility Guidelines (WCAG) 2.1.


(2018). [Link]

5. TechBuyer Consumer Research. (2024). Laptop Purchasing Trends Report.

7. Appendices

Appendix 1: Meeting Logs

Date Attendees Key Decisions Action Items

10/02/202
All Adopted Vue 3 Research Composition API
5

17/02/202
Dev Team Selected Bootstrap 5 Create style guide
5

24/02/202 Finalized chatbot


UX Team Implement question sequence
5 flow

Appendix 2: GitHub Repository

[Link]
Includes:

 Full source code

 Documentation

 Issue tracking
Appendix 3: Trello Screenshots

Shows sprint planning and task allocation.

Appendix 4: Testing Documentation

Complete test cases and results.

Appendix 5: User Feedback Summary

Compilation of user testing comments and suggestions.

You might also like