Rampart Demos

Here's some demos. They're not fancy, they are meant to show the basic capabilities of Rampart in a way that is easy to understand. All the demos and the site itself are running on a $5 Raspberry Pi Zero (1st Gen) with an SD card for storage (nothing fancy). We do this not because we're biased towards the Pi but because it shows how much Rampart can do with so little. You can view the source code for each of the demos by clicking the link at the bottom right of the page. You can view how the site functions and all its source by clicking Server Root Dir in the editor.

Wikipedia Search

This is a the fulltext search of the English Wikipedia entries. It shows how to use rampart-sql's fulltext index as well as its abstract function. Keep in mind that this is running on a $5 Raspberry Pi Zero and the data resides on an SD card. There are roughly 6.3 million entries contained in the table which is about 14 Gigabytes in size. The scripts to do the full build are available here on github.

run demo...

ip2Location Search

This demo uses uses the free csv file from ip2location.com to create a database and web search. You enter a ip address or domain name and it looks up the host's location. It demonstrates the basics of how to create SQL tables, import csv formatted data, indexing and formatting results. The csv has about 3 million records and is not particularly accurate, but it is another demonstration of what can be accomplished on minimal hardware with Rampart.

run demo...

Quotes Search

Here we have a demo which does a full text search on a database of quotes. It returns the single best match in JSON format, as an example of how you might use Rampart to deliver AJAX content as JSON.

run demo...

Chat over WebSockets

Using a combination of Rampart's server module and rampart.event it is a trivial matter to create a chat server that can deliver messages and files between clients. There is also a tutorial that provides details on how this was built, and also shows how to do the same using Redis Streams, which allow conversations to be saved and restored when reconnecting.

run demo...

Raspberry Pi News

A demonstration in Scraping and a Raspberry Pi News Aggregator. This demo is also the subject of a tutorial. It runs daily and grabs new stories and image links from three different Raspberry Pi news sites. It uses many of Rampart's modules to accomplish its tasks, including rampart-html to parse incoming html, rampart-sql to store and provide a full text search, rampart-curl to download pages and rampart.robots to comply with robots.txt restrictions.

run demo...

Nearest City Search

Search for the nearest city. This demonstrates the use of latitude/longitude geocodes in SQL to do bounded geographical searches and calculate distance and direction. It also uses a full text index for city name lookups. See the tutorial for a detailed run down on how this is accomplished.

run demo...

Manual Page Index and Search

This demo looks at all the commands available in the PATH environment variable and then creates an index on the corresponding man pages. When executed on the command line it creates the database, and when executed in from the web-server module it provides a search interface.

run demo...

Our Documentation

Our Documentation is built using Sphinx. After Sphinx builds the html we use this script to rewrite the pages and inject some client-side scripting (using rampart-html) that provides a type-ahead and an AJAX full text search. The same script also powers the server-side type-ahead and text search. You can see it in action in the search box on each page of the documentation. Again, it is all running on a Raspberry Pi Zero.

This Website

The site itself is generated with a Rampart script. The script allows the site to be produced both dynamically and statically. It was done this way so that, while coding, it would be easy to iteratively make tweaks and view the results. Once satified, the code can generate the static pages because they're faster to deliver. The static site generator routes the HTML through the Rampart HTML module to make it pretty. Use View Source in your browser to see what it does. This made it easier to locate <div> imbalances and other errors . You can see the site's source code by clicking the link at the bottom of the page that says "View JS Source."

Real time graphs

This little helpful demo shows how to quickly set up a real time graphs using Plotly. It graphs network traffic on the ethernet port of this machine.

run demo...