an api to applications based on clean architecture (@unclebobmartin)