this repo has no description
1use bspds::state::AppState;
2use std::net::SocketAddr;
3use tracing::info;
4
5#[tokio::main]
6async fn main() {
7 dotenvy::dotenv().ok();
8 tracing_subscriber::fmt::init();
9
10 let database_url = std::env::var("DATABASE_URL").expect("DATABASE_URL must be set");
11
12 let pool = sqlx::postgres::PgPoolOptions::new()
13 .max_connections(5)
14 .connect(&database_url)
15 .await
16 .expect("Failed to connect to Postgres");
17
18 sqlx::migrate!("./migrations")
19 .run(&pool)
20 .await
21 .expect("Failed to run migrations");
22
23 let state = AppState::new(pool).await;
24
25 let app = bspds::app(state);
26
27 let addr = SocketAddr::from(([127, 0, 0, 1], 3000));
28 info!("listening on {}", addr);
29 let listener = tokio::net::TcpListener::bind(addr).await.unwrap();
30 axum::serve(listener, app).await.unwrap();
31}