6

About

My app has similar goals to Stackdump. It is a browser which doesn't require internet connection and allows full-text search of Stack Overflow posts from the data dump. As opposed to being a server-based web app, it is wrapped in a convenient standalone Electron app.

Its main feature is an API documentation browser, but the SO search is something I'm particularly excited about, so I thought it's worth sharing here.

Screenshots

Example search result Tags choice

License

Zest (the application, not the content) is licensed under the MIT License. The content is obviously licensed under the cc-wiki license.

Download

The app is available for OS X, Linux, and Windows, and the relevant download pages are linked from http://zestdocs.org/. Code is available on GitHub.

Implementation details

As a performance and storage optimization, user is given a choice of Stack Overflow tags to index, which are then selectively extracted from the .7z archives and made searchable. The whole process seems to take roughly below 2 hours on modern machines.

The XML parser is written in C++ basing on Xerces and the search engine is also C++ - based on the LucenePlusPlus port of the Lucene engine.

The HTML GUI is written in ClojureScript (maybe not the best choice for me, but I always wanted to try writing something larger in a Lisp-like language).

Limitations and plans

There is obviously lots of work to be done here, for now the SO answers displayed aren't even sorted properly by score, but I think it's worth gathering some initial feedback. (It also seems to help with keeping my motivation to work on it when I get some feedback.)

Anyway, some of other possible improvements I may implement in the future:

  1. Either a new SO dump .torrent file, or downloading directly from Internet Archive via HTTP. The current .torrent file used by Zest contains data from 2014. See the 2nd half of this GitHub comment for more discussion
  2. (Semi-)automated updates of the dump data.
  3. Support for other Stack Exchange websites than Stack Overflow.

Contact

Feel free to raise GitHub issues, email me at my address which is in the git repo, or join me in the mostly empty #zestdocs on Freenode.

You must log in to answer this question.

Browse other questions tagged .