22 ]
23 );
24 console.log("Voice note successfully inserted into database");
25 } catch (error) {
26 console.error("Error inserting voice note into database:", error);
27 throw error;
28 }
63 };
64 } catch (error) {
65 console.error("Error getting voice note from database:", error);
66 throw error;
67 }
19 )`);
20
21 console.log('Database migrations completed successfully');
22 } catch (error) {
23 console.error('Database migration failed:', error);
24 throw error;
25 }
1import { Hono } from "https://esm.sh/hono@3.11.7";
2import { runMigrations } from "./database/migrations.ts";
3import voiceNotesRoutes from "./routes/voicenotes.ts";
4import staticRoutes from "./routes/static.ts";
11});
12
13// Run database migrations on startup
14try {
15 await runMigrations();
10 getAllVoiceNotes,
11 deleteVoiceNote
12} from "../database/queries.ts";
13import { TABLE_NAME } from "../database/migrations.ts";
14import type { VoiceNote, VoiceNoteResponse, TranscriptionResponse } from "../../shared/types.ts";
15
176 }
177
178 // Delete from database
179 await deleteVoiceNote(id);
180
27```
28โโโ backend/
29โ โโโ database/
30โ โ โโโ migrations.ts # Database schema
31โ โ โโโ queries.ts # Database operations
32โ โโโ routes/
33โ โ โโโ voicenotes.ts # Voice note CRUD operations
51
52- **Backend**: Hono (TypeScript API framework)
53- **Database**: SQLite for voice note metadata
54- **Storage**: Val Town Blob storage for audio files
55- **AI**: OpenAI Whisper for transcription
22 ]
23 );
24 console.log("Voice note successfully inserted into database");
25 } catch (error) {
26 console.error("Error inserting voice note into database:", error);
27 throw error;
28 }
63 };
64 } catch (error) {
65 console.error("Error getting voice note from database:", error);
66 throw error;
67 }
19 )`);
20
21 console.log('Database migrations completed successfully');
22 } catch (error) {
23 console.error('Database migration failed:', error);
24 throw error;
25 }
1import { Hono } from "https://esm.sh/hono@3.11.7";
2import { runMigrations } from "./database/migrations.ts";
3import voiceNotesRoutes from "./routes/voicenotes.ts";
4import staticRoutes from "./routes/static.ts";
11});
12
13// Run database migrations on startup
14try {
15 await runMigrations();
10 getAllVoiceNotes,
11 deleteVoiceNote
12} from "../database/queries.ts";
13import { TABLE_NAME } from "../database/migrations.ts";
14import type { VoiceNote, VoiceNoteResponse, TranscriptionResponse } from "../../shared/types.ts";
15
176 }
177
178 // Delete from database
179 await deleteVoiceNote(id);
180
27```
28โโโ backend/
29โ โโโ database/
30โ โ โโโ migrations.ts # Database schema
31โ โ โโโ queries.ts # Database operations
32โ โโโ routes/
33โ โ โโโ voicenotes.ts # Voice note CRUD operations
51
52- **Backend**: Hono (TypeScript API framework)
53- **Database**: SQLite for voice note metadata
54- **Storage**: Val Town Blob storage for audio files
55- **AI**: OpenAI Whisper for transcription