- Add index.html as the main entry point for the application. - Create package.json to manage dependencies and scripts for development. - Include favicon.svg for the application icon. - Configure PWA assets generation with pwa-assets.config.js. - Implement counter functionality in counter.js with notification on reaching 5. - Add JavaScript logo SVG for branding. - Set up main.js to render the application and handle user interactions. - Create notification.js to manage browser notifications. - Implement PWA registration and update handling in pwa.js. - Style the application with a new style.css file. - Configure Vite with PWA plugin in vite.config.js for service worker and manifest settings.
34 lines
581 B
TypeScript
34 lines
581 B
TypeScript
import { ObjectId } from 'mongodb';
|
|
|
|
export interface User {
|
|
_id?: ObjectId;
|
|
username: string;
|
|
password: string;
|
|
email?: string;
|
|
role?: 'user' | 'admin';
|
|
createdAt: Date;
|
|
updatedAt: Date;
|
|
}
|
|
|
|
export interface Transaction {
|
|
_id?: ObjectId;
|
|
userId: ObjectId;
|
|
amount: number;
|
|
type: 'income' | 'expense';
|
|
categoryId: ObjectId;
|
|
description: string;
|
|
date: Date;
|
|
createdAt: Date;
|
|
updatedAt: Date;
|
|
}
|
|
|
|
export interface Category {
|
|
_id?: ObjectId;
|
|
name: string;
|
|
userId: ObjectId;
|
|
icon?: string;
|
|
color?: string;
|
|
createdAt: Date;
|
|
updatedAt: Date;
|
|
}
|