https://github.com/sonickmumba/realtime_search_app
https://github.com/sonickmumba/realtime_search_app
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/sonickmumba/realtime_search_app
- Owner: Sonickmumba
- Created: 2025-04-13T16:12:31.000Z (2 months ago)
- Default Branch: develop
- Last Pushed: 2025-05-01T00:57:30.000Z (about 1 month ago)
- Last Synced: 2025-05-07T16:15:57.123Z (about 1 month ago)
- Language: Ruby
- Size: 670 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
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** 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.
### Tech Stack Ruby on Rails
Client
Server
Database
- **[Live Typing Saving]**
- **[Background Job for Finalization ]**
- **[Easy Redis Integration]**
- **[RSpec Test Coverage]**
- **[Duplicate Prevention]**
- **[IP-Based Isolation]**
- **[Analytics]**
## 🔍 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
> Add a link to your deployed project.
- [Live Demo Link](https://realtime-search-app-eb06ff750dcd.herokuapp.com/)
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:
👤 **Author1**
- GitHub: [@Sonickmumba](https://github.com/Sonickmumba)
- Twitter: [@MumbaSonick](https://x.com/MumbaSonick)
- LinkedIn: [Sonick Mumba](https://linkedin.com/in/sonickmumba)
Contributions, issues, and feature requests are welcome!
Feel free to check the [issues page](../../issues/).
> Write a message to encourage readers to support your project
If you like this project...
> Give credit to everyone who inspired your codebase.
I would like to thank...
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._