@ file : Suppress (" EXPERIMENT AL _ IS _ NOT _ ENABLED ") Ċ Ċ package Ġdev . z lag i . application Ċ Ċ import Ġcom . auth 0 . jwt . interfaces . JWT Verifier Ċ import Ġdev . z lag i . application . auth . firebase . Firebase Admin Ċ import Ġdev . z lag i . application . plugins .* Ċ import Ġdev . z lag i . data . dao . User Dao Ċ import Ġdev . z lag i . data . database . Database Provider Contract Ċ import Ġio . ktor . application .* Ċ import Ġio . ktor . client .* Ċ import Ġio . ktor . client . engine . c io .* Ċ import Ġio . ktor . client . features . json .* Ċ import Ġio . ktor . client . features . json . serializer .* Ċ import Ġorg . k oin . core . annotation . K oin Reflect API Ċ import Ġorg . k oin . ktor . ext . inject Ċ Ċ fun Ġmain ( args : ĠArray < String >): ĠUnit Ġ= ĊĠĠĠ Ġio . ktor . server . netty . Engine Main . main ( args ) Ċ Ċ @ Opt In ( K oin Reflect API :: class ) Ċ @ Suppress (" unused ") Ġ// Ġapplication . conf Ġreferences Ġthe Ġmain Ġfunction . ĠThis Ġannotation Ġprevents Ġthe ĠIDE Ġfrom Ġmarking Ġit Ġas Ġunused . Ċ fun ĠApplication . module () Ġ{ ĊĊĠĠĠ Ġval Ġdatabase Provider Ġby Ġinject < Database Provider Contract >() ĊĠĠĠ Ġval Ġuser Dao Ġby Ġinject < User Dao >() ĊĠĠĠ Ġval Ġjwt Verifier Ġby Ġinject < JWT Verifier >() ĊĊĠĠĠ Ġval Ġclient Ġ= ĠHttpClient ( C IO ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinstall ( Json Feature ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġserializer Ġ= ĠKotlin x Serializer () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġval ĠapiKey Ġ= Ġenvironment . config . property (" ones ign al . apiKey "). getString () ĊĊĠĠĠ Ġconfigure K oin () ĊĠĠĠ Ġconfigure Monitoring () ĊĠĠĠ Ġconfigure Serialization () ĊĠĠĠ Ġconfigure Security ( user Dao , Ġjwt Verifier ) ĊĠĠĠ Ġconfigure Routing ( client , ĠapiKey ) ĊĊĠĠĠ Ġ// Ġinitialize Ġdatabase ĊĠĠĠ Ġdatabase Provider . init () ĊĊĠĠĠ Ġ// Ġinitialize ĠFirebase ĠAdmin ĠSDK ĊĠĠĠ ĠFirebase Admin . init () Ċ } Ċ