Skip to content

yanns/TPA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 

Repository files navigation

About this project

This project aims at showing how to structure a play application with the cake pattern.

It was used in a presentation at Ping Conf in 2014:

It was then extended for compile time dependency injection with macwire (or simple class constructors)

Structure

This frontend application uses two backend: a micro-service about players and a video streaming app

The cake pattern in progressively introduces in a frontend application, from TBA_01 to TBA_06. The final version is TBA_05_final.

The version with macwire is TBA_macwire.

How to run this application

  • start the backends:
cd backends/PlayerService/
./sbt.sh run

in another terminal:

cd backends/VideoService/
./sbt.sh run
  • start one frontend, for example the final version:
cd frontend/TBA_05_final/
sbt run
  • check the tests with:
sbt test

Further developments

Some new versions of the frontend application were added after the presentation to explore other ways to structure an application:

  • TBA_07 does not use any components nor any dependency injection. The testing is done only with component tests and is explained in a blog post.
  • TBA_macwire uses simple constructors to express dependencies and MacWire to "inject" them. It is like a dependency injection at compile time.

About

Structure a Play application with the cake pattern (and test it)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published