untitled-4063members.ts2 matches
23import { Hono } from "https://esm.sh/hono@3.11.7";
4import { memberModel, billModel, feePackageModel } from "../database/models.ts";
5import { logger } from "../utils/logger.ts";
6import {
58const members = await memberModel.search(filters);
59
60// Simple pagination (in production, use database-level pagination)
61const startIndex = (page - 1) * limit;
62const endIndex = startIndex + limit;
untitled-4063auth.ts7 matches
8sendPasswordResetEmail
9} from "https://esm.sh/firebase@10.7.1/auth";
10import { auth } from "../database/firebase.ts";
11import { userModel } from "../database/models.ts";
12import { logger } from "../utils/logger.ts";
13import {
58const firebaseUser = userCredential.user;
59
60// Get user data from database
61const userData = await userModel.findByEmail(email);
62
63if (!userData) {
64logger.security('User not found in database during login', {
65email,
66firebaseUid: firebaseUser.uid
210const firebaseUser = userCredential.user;
211
212// Create user in database
213const userId = await userModel.create({
214email,
360}
361
362// Check if user exists in our database
363const userData = await userModel.findByEmail(email);
364if (!userData) {
474}
475
476// Update user in database
477await userModel.update(c.user!.uid, { email });
478
untitled-4063models.ts1 match
1// Database models and data access layer for the GYM Management System
23import {
untitled-4063README.md7 matches
17- **Frontend**: React 18.2.0 with TypeScript
18- **Backend**: Hono.js API framework
19- **Database**: Firebase Firestore
20- **Authentication**: Firebase Auth
21- **Styling**: TailwindCSS
80```
81โโโ backend/
82โ โโโ database/
83โ โ โโโ firebase.ts # Firebase configuration
84โ โ โโโ models.ts # Data models and types
85โ โ โโโ queries.ts # Database query functions
86โ โโโ routes/
87โ โ โโโ admin.ts # Admin routes
1452. **Configure Firebase**:
146- Create a new Firebase project
147- Enable Firestore Database
148- Enable Authentication (Email/Password)
149- Add environment variables to Val Town
177#### Data Integrity Tests
178- โ Input validation
179- โ Database constraints
180- โ Error handling
181- โ Data backup and recovery
204- **Serverless**: Val Town's serverless architecture for auto-scaling
205- **CDN**: Static assets served via CDN
206- **Database Indexing**: Optimized Firestore queries
207- **Caching**: Client-side caching for frequently accessed data
208209### Database Optimizations
210- **Compound Queries**: Efficient Firestore query patterns
211- **Pagination**: Large datasets handled with pagination
23import { Hono } from "https://esm.sh/hono@3.11.7";
4import { runMigrations, seedDatabase } from "./database/migrations.ts";
5import auth from "./routes/auth.ts";
6import tasks from "./routes/tasks.ts";
16});
1718// Initialize database on startup
19let dbInitialized = false;
2021async function initializeDatabase() {
22if (!dbInitialized) {
23console.log('Initializing TaskSwap database...');
24await runMigrations();
25await seedDatabase();
26dbInitialized = true;
27console.log('Database initialization complete');
28}
29}
3031// Middleware to ensure database is initialized
32app.use('*', async (c, next) => {
33await initializeDatabase();
34await next();
35});
taskswapmessages.ts1 match
8getTaskMessages,
9getTaskById
10} from "../database/queries.ts";
1112const messages = new Hono();
4import type { ApiResponse } from "../../shared/types.ts";
5import { requireAuth } from "./auth.ts";
6import { getUserById, getTasks } from "../database/queries.ts";
78const users = new Hono();
11updateUserTokens,
12createExchange
13} from "../database/queries.ts";
1415const tasks = new Hono();
12getSessionUser,
13deleteSession
14} from "../database/queries.ts";
1516const auth = new Hono();
taskswapqueries.ts1 match
1// Database query functions for TaskSwap
23import { sqlite } from "https://esm.town/v/stevekrouse/sqlite";