import app/database import app/router import app/web.{Context} import gleam/erlang/process import mist import wisp const db_name = "transactions.sqlite3" pub fn main() { wisp.configure_logger() let secret_key_base = wisp.random_string(64) let assert Ok(_) = database.with_connection(db_name, database.migrate_schema) let handle_request = fn(req) { use db <- database.with_connection(db_name) let ctx = Context(db: db) router.handle_request(req, ctx) } let assert Ok(_) = wisp.mist_handler(handle_request, secret_key_base) |> mist.new |> mist.port(8000) |> mist.start_http process.sleep_forever() }