1import { Hono } from "https://esm.sh/hono@3.11.7";
2import { getAllProducts, getProductById, getProductsByCategory, searchProducts } from "../database/queries.ts";
3import type { ApiResponse, Product } from "../../shared/types.ts";
4
22```
23โโโ backend/
24โ โโโ database/
25โ โ โโโ migrations.ts # Database schema setup
26โ โ โโโ queries.ts # Database query functions
27โ โโโ routes/
28โ โ โโโ products.ts # Product API endpoints
50- **Backend**: Hono (TypeScript API framework)
51- **Frontend**: React with TypeScript
52- **Database**: SQLite
53- **Styling**: TailwindCSS
54- **Real-time**: Server-Sent Events for chat
1import { Hono } from "https://esm.sh/hono@3.11.7";
2import { readFile, serveFile } from "https://esm.town/v/std/utils@85-main/index.ts";
3import { runMigrations } from "./database/migrations.ts";
4
5// Import route modules
16});
17
18// Initialize database on startup
19await runMigrations();
20
6 getExchangeTransactions,
7 updateTransactionStatus
8} from "../database/queries.ts";
9import type {
10 ExchangeQuote,
1import { Hono } from "https://esm.sh/hono@3.11.7";
2import { createChatMessage, getChatMessages } from "../database/queries.ts";
3import type { CreateChatMessageRequest } from "../../shared/types.ts";
4
1import { Hono } from "https://esm.sh/hono@3.11.7";
2import { createPrediction, getAllPredictions } from "../database/queries.ts";
3import type { CreatePredictionRequest } from "../../shared/types.ts";
4
103 }
104
105 console.log("Database migrations completed");
106}
16## Tech Stack
17
18- **Backend**: Hono.js API with SQLite database
19- **Frontend**: React with TailwindCSS
20- **Data**: CoinGecko API for cryptocurrency prices
25```
26โโโ backend/
27โ โโโ database/
28โ โ โโโ migrations.ts # Database schema
29โ โ โโโ queries.ts # Database operations
30โ โโโ routes/
31โ โ โโโ crypto.ts # Crypto price endpoints
54- `POST /api/chat` - Send chat message
55
56## Database Schema
57
58### predictions
30- [ ] add triggers to sidebar
31- [ ] add upload from SQL, CSV and JSON
32- [ ] add ability to connect to a non-val town Turso database
33- [x] fix wonky sidebar separator height problem (thanks to @stevekrouse)
34- [x] make result tables scrollable
1import { Hono } from "https://esm.sh/hono@3.11.7";
2import { readFile, serveFile } from "https://esm.town/v/std/utils@85-main/index.ts";
3import { runMigrations } from "./database/migrations.ts";
4import artistsRouter from "./routes/artists.ts";
5import portfolioRouter from "./routes/portfolio.ts";
13});
14
15// Initialize database
16await runMigrations();
17