  In this review we give a detailed introduction to the theory of (curved)
$L_\infty$-algebras and $L_\infty$-morphisms. In particular, we recall the
notion of (curved) Maurer-Cartan elements, their equivalence classes and the
twisting procedure. The main focus is then the study of the homotopy theory of
$L_\infty$-algebras and $L_\infty$-modules. In particular, one can interpret
$L_\infty$-morphisms and morphisms of $L_\infty$-modules as Maurer-Cartan
elements in certain $L_\infty$-algebras, and we show that twisting the
morphisms with equivalent Maurer-Cartan elements yields homotopic morphisms.
