- Added ResponsiveDialog component for handling responsive dialogs in the UI. - Created ExpensesProvider to manage state and API interactions for expenses. - Developed ExpensesTabContent to display expenses with filtering options and dialogs for new and pay expense actions. - Implemented ExpensesTable for rendering expense data in a tabular format with actions. - Added dialogs for creating new expenses and paying existing ones with form validation. - Introduced PeriodicExpenseForm for managing periodic expenses with month selection. - Created PeriodicExpensesTabContent to manage and display periodic expenses with create/edit functionality. - Added GenerateCurrentMonthDialog for confirming monthly expense generation. - Implemented PeriodicExpensesTable for displaying periodic expenses with edit and delete actions.
27 lines
771 B
TypeScript
27 lines
771 B
TypeScript
import { Hono } from "hono";
|
|
import { serveStatic } from "hono/bun";
|
|
import { startQuoteJob } from "./modules/quotes/quote.job";
|
|
import quotesRouter from "./modules/quotes/quotes.routes";
|
|
import expensesRouter from "./modules/expenses/expenses.routes";
|
|
import { startExpenseJob } from "./modules/expenses/expense.job";
|
|
import { logger } from "./lib/logger";
|
|
|
|
const app = new Hono();
|
|
|
|
app.get("/api/health", (c) => {
|
|
return c.json({ status: "ok", timestamp: new Date().toISOString() });
|
|
});
|
|
|
|
app.route("/api/quotes", quotesRouter);
|
|
app.route("/api", expensesRouter);
|
|
|
|
app.use("/assets/*", serveStatic({ root: "./web" }));
|
|
app.get("*", serveStatic({ path: "./web/index.html" }));
|
|
|
|
startQuoteJob();
|
|
startExpenseJob();
|
|
|
|
logger.info("Backend started");
|
|
|
|
export default app;
|