1import { sqlite } from "https://esm.town/v/stevekrouse/sqlite";
2
3// Database schema setup for FreelanceHub
4export async function runMigrations() {
5 console.log("Running database migrations...");
6
7 // Users table
78 await insertSampleData();
79
80 console.log("Database migrations completed successfully!");
81}
82
15```
16โโโ backend/
17โ โโโ database/
18โ โ โโโ migrations.ts # Database schema setup
19โ โ โโโ queries.ts # Database query functions
20โ โโโ routes/
21โ โ โโโ auth.ts # Authentication endpoints
42- **Backend**: Hono (TypeScript API framework)
43- **Frontend**: React 18.2.0 with TypeScript
44- **Database**: SQLite
45- **Styling**: TailwindCSS
46- **Real-time**: WebSocket for chat functionality
39โโโ backend/
40โ โโโ index.ts # Main API server
41โ โโโ database/
42โ โ โโโ migrations.ts # Database schema
43โ โ โโโ queries.ts # Database operations
44โ โโโ routes/
45โ โโโ notes.ts # Notes API endpoints
62- **Backend**: Hono.js for API routes
63- **Frontend**: React with TypeScript
64- **Database**: SQLite for note storage
65- **Styling**: TailwindCSS
52```
53โโโ backend/
54โ โโโ database/
55โ โ โโโ migrations.ts # Database schema setup
56โ โ โโโ queries.ts # Database operations
57โ โ โโโ seed.ts # Sample data seeding
58โ โโโ index.ts # Main Hono server
84
85- **Backend**: Hono (Fast web framework)
86- **Database**: SQLite with migrations
87- **Frontend**: React 18 with TypeScript
88- **Styling**: TailwindCSS + Custom CSS
133## ๐ง Setup & Development
134
135### Database Initialization
136The database is automatically initialized on first run with:
137- User management tables
138- Property and garden data
1import { Hono } from "https://esm.sh/hono@3.11.7";
2import { getAllContacts, createContact, deleteContact } from "../database/queries.ts";
3import type { ContactFormData, ApiResponse } from "../../shared/types.ts";
4
7 deleteNote,
8 searchNotes
9} from "../database/queries.ts";
10
11const notes = new Hono();
7- Clean, responsive registration form
8- Email and phone number validation
9- SQLite database storage
10- View all registered contacts
11- Duplicate prevention
16```
17โโโ backend/
18โ โโโ database/
19โ โ โโโ migrations.ts # Database schema setup
20โ โ โโโ queries.ts # Database query functions
21โ โโโ routes/
22โ โ โโโ contacts.ts # Contact management routes
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 {
5 createUser,
16 saveChatMessage,
17 getChatMessages
18} from "./database/queries.ts";
19import { GARDENS_DATA, CONTACT_INFO } from "../shared/types.ts";
20import { generateId, validateEmail, validatePhone } from "../shared/utils.ts";
27});
28
29// Initialize database on startup
30// Comment out after first run for better performance
31await runMigrations();
32
33// Seed sample properties (comment out after first run)
34// import { seedProperties } from "./database/seed.ts";
35// await seedProperties();
36
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 { getSettings, getDashboardStats } from "../database/queries.ts";
4
5const staticRoutes = new Hono();
1import { Hono } from "https://esm.sh/hono@3.11.7";
2import { runMigrations } from "./database/migrations.ts";
3import webhook from "./routes/webhook.ts";
4import api from "./routes/api.ts";
12});
13
14// Initialize database on startup
15try {
16 await runMigrations();