Skip to content
/ hemin Public

🔎 Hemin is a Podcast Catalog & Search Engine System built with Scala, Akka, and Elm

Notifications You must be signed in to change notification settings

mpgirro/hemin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HEMIN

Podcast Catalog & Search Engine System

Website hemin.io Build Status Codacy Badge Scala version Elm version Akka version Play Framework version Solr version Mongo version

Hemin is a podcast catalog & search engine infrastructure. It's engine is written in Scala, uses MongoDB to store the podcast/episode/feed catalog, and indexes the data with Solr. The REST API relies on the Play framework for routing and JSON. The server is fully asynchronous, and makes heavy use of Akka actors and Scala Futures. The current web client is written in Typescript and builds on the Angular framework Elm.

WebApp

A WebApp is available at hemin.io

There are several different frontend variant implementations for the Hemin system. The webapps are named after the letters in the greek alphabet. Currently there are these:

  • Alpha – based on Angular. An early proof-of-concept UI back from when Hemin was called something else and it's engine served as a scientific guinea pig (more about those days here). Development on Alpha is discontinued.
  • Beta – written in Elm. It is still work in progress and quite beta (pun intended), but will become the production implementation.

RESTful API

The base for all REST endpoints is: https://api.hemin.io/api/v1

Engine

The Hemin engine can be started as a standalone command line application that feature a REPL. Alternatively, it can be used embedded within another Scala/Java (or other compatible JVM language) application. This second way is how the API server integrates the engine.