An open API service indexing awesome lists of open source software.

https://github.com/sonickmumba/realtime_search_app


https://github.com/sonickmumba/realtime_search_app

Last synced: about 1 month ago
JSON representation

Awesome Lists containing this project

README

        

# 📗 Table of Contents

- [📖 About the Project](#about-project)
- [🛠 Built With](#built-with)
- [Tech Stack](#tech-stack)
- [Key Features](#key-features)
- [🚀 Live Demo](#live-demo)
- [💻 Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Setup](#setup)
- [Install](#install)
- [Usage](#usage)
- [Run tests](#run-tests)
- [Deployment](#deployment)
- [👥 Authors](#authors)
- [🔭 Future Features](#future-features)
- [🤝 Contributing](#contributing)
- [⭐️ Show your support](#support)
- [🙏 Acknowledgements](#acknowledgements)
- [❓ FAQ (OPTIONAL)](#faq)
- [📝 License](#license)

# 📖 Realtime search app

**Realtime search app** is a Rails-based tool that captures and stores user search queries in real time. It filters out incomplete input and only saves the final, meaningful search after the user finishes typing.

## 🛠 Built With

### Tech Stack Ruby on Rails

Client

Server

Database

### Key Features

- **[Live Typing Saving]**
- **[Background Job for Finalization ]**
- **[Easy Redis Integration]**
- **[RSpec Test Coverage]**
- **[Duplicate Prevention]**
- **[IP-Based Isolation]**
- **[Analytics]**

(back to top)

## 🔍 What it does

- Captures user input as they type
- Buffers it in Redis
- Waits for a short "pause" in typing (debounce)
- Then saves only the final search query in the database

## 💡 Example

Say someone types:

> What → What is → What is a → What is a good car

We don't want to store all those partial searches.

We **only** save:
✅ `What is a good car`

Same for another person typing:

> How → How is → How is emil hajric → How is emil hajric doing

We save:
✅ `How is emil hajric doing`

This keeps the search log clean and avoids spammy entries.

## 🛠️ Setup Instructions

### 1. Clone the repo

```bash
git clone https://github.com/your-username/realtime_search.git
cd realtime_search

## 🚀 Live Demo

> Add a link to your deployed project.

- [Live Demo Link](https://realtime-search-app-eb06ff750dcd.herokuapp.com/)

(back to top)

## 💻 Getting Started

To get a local copy up and running, follow these steps.

### Prerequisites

In order to run this project you need:

Example command:

```sh
gem install rails
```

### Setup

Clone this repository to your desired folder:

Example commands:

```sh
cd my-folder
git clone https://github.com/Sonickmumba/realtime_search_app.git
bundle install

rails db:create
rails db:migrate

```

### Install

Install this project with:

### Usage

To run the project, execute the following command:

Example command:

```sh
redis-server
rails s
```
-

### Run tests

To run tests, run the following command:

Example command:

```sh
bundle exec rails db:test:prepare
bundle exec rspec
```
-

### Deployment

You can deploy this project using:

(back to top)

## 👥 Authors

👤 **Author1**

- GitHub: [@Sonickmumba](https://github.com/Sonickmumba)
- Twitter: [@MumbaSonick](https://x.com/MumbaSonick)
- LinkedIn: [Sonick Mumba](https://linkedin.com/in/sonickmumba)

(back to top)

## 🤝 Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the [issues page](../../issues/).

(back to top)

## ⭐️ Show your support

> Write a message to encourage readers to support your project

If you like this project...

(back to top)

## 🙏 Acknowledgments

> Give credit to everyone who inspired your codebase.

I would like to thank...

(back to top)

## 📝 License

This project is [MIT](./LICENSE) licensed.

_NOTE: we recommend using the [MIT license](https://choosealicense.com/licenses/mit/) - you can set it up quickly by [using templates available on GitHub](https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/adding-a-license-to-a-repository). You can also use [any other license](https://choosealicense.com/licenses/) if you wish._

(back to top)