Skip to content

syedalaraib210-cpu/Offline-Search-Engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

22 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ•΅οΈ Offline Google Search Engine (Structured Programming Version)

Overview

This project is the first deliverable of our Object-Oriented Programming (OOP) course.
It implements an Offline Google Search Engine using structured programming concepts like arrays, pointers, dynamic memory allocation, and file handling.
The next deliverable will convert this project into a fully object-oriented version.

Features

  • πŸ” Search keywords within offline dataset files.
  • ⚠️ Notify the user when no results are found and suggest alternative keywords.
  • πŸ“ Modular design:
    • Data Handling Module: Manages datasets and file operations.
    • Search Engine Module: Handles keyword searching, result matching, and ranking.
    • User Interface Module: Provides console-based interaction.
  • πŸ“ Supports both text and binary file operations for offline usage.

Project Structure

Offline-search-engine/
β”œβ”€β”€ data/
β”‚ β”œβ”€β”€ dataset.bin
β”‚ └── filelist.txt
β”œβ”€β”€ include/
β”‚ └── engine.h
β”œβ”€β”€ src/
β”‚ β”œβ”€β”€ main.cpp
β”‚ β”œβ”€β”€ module1_filehndlng.cpp
β”‚ β”œβ”€β”€ module2_search.cpp
β”‚ └── module3_ui.cpp
β”œβ”€β”€ LICENSE
└── README.md

Contributors

Javeria Akram - BCSF24A005 – Repo Owner
Syeda Laraib – BCSF24A002 - contributor
Ayesha Arif – BCSF24A040 - contributor

Usage

  1. Clone the repository:

    git clone https://github.com/Javeriaakram-07/Offline-search-engine.git
    
  2. Navigate to the project folder and compile:

    g++ src/main.cpp src/module1_filehndlng.cpp src/module2_search.cpp src/module3_ui.cpp -Iinclude -o searchEngine
    
  3. Run the executable:

    ./searchEngine   # on Linux/macOS
    searchEngine.exe # on Windows
    
  4. Enter keywords to search the offline dataset.

Notes

βœ… This version is implemented using structured programming; the OOP version will be done in the next deliverable.
βœ… Only arrays, pointers, dynamic memory allocation, and file handling are used. No advanced data structures like vectors.
βœ… Modular structure allows multiple contributors to work on separate modules simultaneously.
βœ… Proper handling of cases when search results are not found with user-friendly messages.


About

πŸ” A C++ offline search engine implementing keyword search over local datasets. Built using structured programming concepts including arrays, pointers, dynamic memory allocation, and modular file handling. Developed as part of an OOP course project.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages