אפליקציית Progressive Web App (PWA) מתקדמת לניהול יומן צלילה לדייגים. האפליקציה מותאמת לשימוש במובייל וטאבלט, עובדת גם ללא חיבור לאינטרנט, וניתנת להתקנה על המסך הראשי.
- ☁️ מסד נתונים בענן - כל הנתונים נשמרים ב-Firestore
- 🔐 Authentication - התחברות אנונימית או עם Google
- 📱 Real-time Sync - סנכרון מיידי בין כל המכשירים
- 🛡️ Security - אבטחה מתקדמת ברמת Google
- 💾 Offline Support - עבודה גם ללא אינטרנט
- פרטי צלילה מפורטים: תאריך, שעה, מיקום, עומק, משך, ראות
- תנאי מזג אוויר: מזג אוויר, טמפרטורות, רוח, גלים, זרם
- ציוד צלילה: מסכה, סנפירים, חליפה, משקל, ציוד נוסף
- שיטות דיג: רובה צלילה, פול ספייר, חכה, רשת ועוד
- דגים שנתפסו: רישום מפורט עם משקל, אורך, כמות והערות
- תמונות: העלאה ותצוגת תמונות מהצלילה
- הערות ודירוג: תיעוד חוויות אישיות ודירוג הצלילה
- חיפוש טקסט חופשי
- סינון לפי תאריכים, מיקום, שיטת דיג, עומק ודירוג
- מיון וארגון הצלילות
- סיכום כללי: סה"כ צלילות, דגים, שעות במים
- נתונים מפורטים: עומק ממוצע ומקסימלי, ראות, טמפרטורות
- דגים מובילים ושיטות דיג פופולריות
- פעילות אחרונה וטרנדים
- שמירה בענן עם Firebase
- ייצוא וייבוא נתונים (JSON)
- גיבוי ושחזור מלא
- סנכרון בין מכשירים
- עבודה ללא אינטרנט: כל הפונקציונליות זמינה גם offline
- התקנה על המסך הראשי: חוויה כמו אפליקציה native
- מהירות גבוהה: טעינה מהירה וביצועים מעולים
- מותאם למובייל: עיצוב responsive לכל גדלי מסך
- Safe Area: תמיכה מלאה ב-notch ו-safe areas של iPhone
- Node.js 16+
- npm או yarn
- חשבון Firebase (בחינם)
git clone https://github.com/your-username/orca-dive-log.git
cd orca-dive-log
npm install-
צור פרויקט Firebase:
- לך ל-https://console.firebase.google.com
- צור פרויקט חדש
- הפעל Firestore Database
- הפעל Authentication (Anonymous + Google)
-
העתק את ה-config:
- בFirebase Console, לחץ על הגדרות הפרויקט
- העתק את ה-firebaseConfig
- הדבק ב-
src/firebase/config.ts
-
הוראות מפורטות: ראה קובץ
firebase-instructions.mdלהוראות שלב אחר שלב
# הפעלת שרת הפיתוח
npm run dev
# בנייה לפרודקשן
npm run build
# צפייה בגרסת הפרודקשן
npm run preview- פתח את האפליקציה בדפדפן במובייל
- לחץ על "הוסף למסך הבית" (Safari) או "התקן" (Chrome)
- האפליקציה תותקן כאפליקציה native
- React 18 - ספריית UI מתקדמת
- TypeScript - פיתוח מאובטח עם types
- Redux Toolkit - ניהול state מתקדם
- React Router - ניווט בין דפים
- Tailwind CSS - עיצוב מודרני וגמיש
- Firebase Firestore - מסד נתונים NoSQL בענן
- Firebase Auth - מערכת התחברות מאובטחת
- Firebase Storage - אחסון תמונות בענן
- Real-time Listeners - עדכונים בזמן אמת
- Vite - build tool מהיר ומתקדם
- Vite PWA Plugin - יצירת PWA אוטומטית
- Service Worker - תמיכה offline ו-caching
- Web App Manifest - התקנה על המסך הראשי
- React Icons - אייקונים מקצועיים
- date-fns - עבודה עם תאריכים
- עיצוב RTL - תמיכה מלאה בעברית
- Responsive Design - מותאם לכל המכשירים
האפליקציה מיועדת לדייגי צלילה חופשית:
- דייגי רובה צלילה
- דייגי פול ספייר
- דייגי חכה תת-מימיים
- צוללים חובבים ומקצועיים
src/
├── components/ # רכיבי UI
│ ├── Auth/ # רכיבי התחברות
│ ├── Forms/ # טפסים
│ ├── Layout/ # רכיבי פריסה
│ ├── UI/ # רכיבי UI בסיסיים
│ └── Entries/ # רכיבים ספציפיים לצלילות
├── pages/ # דפי האפליקציה
├── store/ # Redux store ו-slices
├── firebase/ # הגדרות Firebase
├── hooks/ # React hooks מותאמים אישית
├── types/ # הגדרות TypeScript
├── utils/ # פונקציות עזר וקבועים
└── main.tsx # נקודת כניסה ראשית
- הוסף types חדשים ב-
src/types/ - עדכן את Firebase collections ב-
src/firebase/firestore.ts - עדכן את Redux store ב-
src/store/slices/ - צור רכיבים חדשים ב-
src/components/ - הוסף דפים חדשים ב-
src/pages/
npm run lint
npm run type-check- שינויים מתעדכנים מיד בכל המכשירים
- עבודה collaborative אפשרית
- עדכונים אוטומטיים ללא רענון
- כל משתמש רואה רק את הנתונים שלו
- אפשרות לשיתוף נתונים (עתידי)
- ניהול הרשאות מתקדם
- כל הפעולות עובדות offline
- סנכרון אוטומטי כשחוזרים online
- אחסון מקומי לביצועים מהירים
- Chrome, Firefox, Safari, Edge
- Windows, macOS, Linux
- iOS Safari (iPhone, iPad)
- Android Chrome
- Progressive Web App support
- iPad (Safari)
- Android tablets
- מותאם לכל גדלי מסך
אנו מזמינים תרומות לפרויקט:
- דיווח על באגים
- הצעות לתכונות חדשות
- שיפורי UI/UX
- תרגומים
- תיעוד
- Fork את הפרויקט
- צור branch חדש (
git checkout -b feature/amazing-feature) - Commit את השינויים (
git commit -m 'Add amazing feature') - Push לbranch (
git push origin feature/amazing-feature) - פתח Pull Request
פרויקט זה נבנה עבור קהילת הדייגים הישראלית ומיועד לשימוש חופשי.
אם נתקלת בבעיות:
- בדוק את
firebase-instructions.md - ודא שFirebase מוגדר נכון
- בדוק את ה-console לשגיאות
- פתח issue בGitHub
נבנה עם ❤️ לקהילת הדייגים הישראלית
- React + TypeScript
- Firebase (Firestore, Auth, Storage)
- Redux Toolkit
- Tailwind CSS
- Vite + PWA
- React Icons
- date-fns
🎣 תהנו מיומן הצלילה החדש! 🌊