This commit is contained in:
2025-09-02 19:41:06 +03:00
commit d23055a0bf
17 changed files with 1608 additions and 0 deletions

11
src/api/mod.rs Normal file
View File

@@ -0,0 +1,11 @@
use axum::{Router, http::StatusCode, routing::get};
async fn root() -> (StatusCode, &'static str) {
(StatusCode::OK, "We Good twin :3c")
}
pub fn register_routes() -> Router {
let router = Router::new().route("/", get(root));
Router::new().nest("/api", router)
}

30
src/main.rs Normal file
View File

@@ -0,0 +1,30 @@
use axum::Router;
use tower::ServiceBuilder;
use tower_http::{services::ServeDir, trace::TraceLayer};
use tracing::{info, level_filters::LevelFilter};
use tracing_subscriber::FmtSubscriber;
mod api;
mod pages;
#[tokio::main]
async fn main() {
let sub = FmtSubscriber::builder()
.with_max_level(LevelFilter::DEBUG)
.finish();
tracing::subscriber::set_global_default(sub).unwrap();
info!("Server starting");
let app = Router::new()
.merge(pages::register_routes())
.merge(api::register_routes())
.fallback_service(ServiceBuilder::new().service(ServeDir::new("res")))
.layer(ServiceBuilder::new().layer(TraceLayer::new_for_http()));
let laddr = "0.0.0.0:8080";
let sock = tokio::net::TcpListener::bind(laddr).await.unwrap();
info!("Listening on http://{laddr}");
axum::serve(sock, app).await.unwrap();
}

12
src/pages/index.rs Normal file
View File

@@ -0,0 +1,12 @@
use askama::Template;
use axum::{http::StatusCode, response::Html};
#[derive(Debug, Template, Clone)]
#[template(path = "index.html")]
pub struct PageTemplate {}
pub async fn page() -> (StatusCode, Html<String>) {
let page = PageTemplate {};
(StatusCode::OK, Html(page.render().unwrap()))
}

8
src/pages/mod.rs Normal file
View File

@@ -0,0 +1,8 @@
use askama::Template;
use axum::{Router, routing::get};
pub mod index;
pub fn register_routes() -> Router {
Router::new().route("/", get(index::page))
}