feat: Implement push notifications in Budget Manager PWA

- Added functionality for subscribing to push notifications in Settings.vue.
- Integrated service worker registration and notification permission requests.
- Enhanced Vite configuration for PWA with manifest and caching strategies.
- Created a script for generating PDF reports.
- Added project report markdown file detailing the PWA implementation and features.
This commit is contained in:
2025-05-23 23:54:46 +02:00
parent 26e3b76b11
commit 8681aa88af
37 changed files with 7034 additions and 85 deletions
+69 -6
View File
@@ -1,7 +1,70 @@
# Aplikacja do zarządzania finansami z powiadomieniami push
# Budget Manager PWA
- Zaprojektuj aplikację PWA umożliwiającą śledzenie wydatków i przychodów.
- Wykorzystaj Local Storage do przechowywania danych użytkownika.
- Zaimplementuj funkcje budżetowania, raportowania i analizy finansowej.
- Dodaj powiadomienia push, aby informować użytkowników o ważnych wydarzeniach finansowych.
- Wykorzystaj MongoDB do przechowywania danych.
A Progressive Web App for managing personal finances with push notifications.
## Features
- Track expenses and income
- Manage budget categories with custom colors
- View financial reports and analytics
- Receive push notifications for new transactions
- Works offline with local data storage
- Full PWA support for mobile installation
## Setup Instructions
### Backend
1. Navigate to the backend directory:
```bash
cd backend
```
2. Install dependencies:
```bash
bun install
```
3. Generate VAPID keys for push notifications:
```bash
cd scripts
bun run generate-vapid-keys.js
```
4. Copy the `.env.example` to `.env` and update with your VAPID keys:
```bash
cp .env.example .env
```
5. Start the backend server:
```bash
bun start
```
### Frontend
1. Navigate to the frontend directory:
```bash
cd frontend
```
2. Install dependencies:
```bash
bun install
```
3. Start the development server:
```bash
bun dev
```
## Push Notifications
The app supports push notifications for the following events:
- New transaction added
- Budget threshold exceeded
To enable push notifications:
1. Go to the Settings page
2. Toggle "Push Notifications" to On
3. Grant notification permissions when prompted