converge / shakesearch

ShakeSearch

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ShakeSearch

Overview

This is a web app that allows a user to search for a text string in the complete works of Shakespeare.

How it works

It loads the complete works of Shakespeare into the database (PostgreSQL), and then allows the user to search for a text string in the database. The data parsing is done using goquery, and the search is done using PostgreSQL full text search.

A CLI tool at backend/cmd/cli is used to parse the data and create a migration file. The migration file is then run to load the data into the database. (the idea is to automate the process during CI/CD).

After data being parsed and loaded into the database, the backend exposes an API to search for the text string. The search is done using PostgreSQL full text search. And the weight of the title and content(chapter content) were balanced to get the best result. More details can be found here.

The frontend is a simple React app that allows the user to search for a text string and displays the results.

About

ShakeSearch


Languages

Language:HTML 99.5%Language:Go 0.4%Language:JavaScript 0.1%Language:CSS 0.0%Language:Dockerfile 0.0%Language:PLpgSQL 0.0%