Skip to content

Το Pitsas Camp Bank είναι ένα ολοκληρωμένο Electron Desktop Application για τη διαχείριση των χρημάτων των παιδιών σε κατασκηνώσεις. Παρέχει ένα ασφαλές και εύκολο στη χρήση σύστημα για:

License

Notifications You must be signed in to change notification settings

Lazpal/bank-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏦 Bank System

GitHub Pages dependencies preinstalled (status) Donate

Σύστημα διαχείρισης χρημάτων για κατασκηνώσεις - Ψηφιακή τράπεζα κατασκηνωτών 1 License Electron HTML5 CSS3 JavaScript Bootstrap Node.js

📋 Περιγραφή

Το Bank System by lazpal είναι ένα ολοκληρωμένο Electron Desktop Application για τη διαχείριση των χρημάτων των παιδιών σε κατασκηνώσεις. Παρέχει ένα ασφαλές και εύκολο στη χρήση σύστημα για:

  • 💰 Διαχείριση υπολοίπων κατασκηνωτών
  • 📊 Παρακολούθηση συναλλαγών
  • 👥 Οργάνωση ομάδων
  • 🔒 Έλεγχο ημερήσιων ορίων
  • 📱 Responsive design για όλες τις συσκευές
  • 🔄 Αυτόματο backup σύστημα
  • 🎯 Enhanced focus management

sreecesots

📚 Τεκμηρίωση

  • Οδηγός για Αρχάριους - Βήμα προς βήμα οδηγός για νέους χρήστες
  • �📖 Release Notes - Λεπτομέρειες έκδοσης και τεχνικές προδιαγραφές
  • 🔄 Auto Backup Info - Οδηγίες αυτόματου backup συστήματος
  • 🎯 Focus Fix Guide - Οδηγίες για focus management και shortcuts
  • 📄 LICENSE - Άδεια χρήσης και όροι

✨ Χαρακτηριστικά

🎯 Βασικές Λειτουργίες

  • Εγγραφή παιδιών με προσωπικά στοιχεία και ομάδα
  • Καταθέσεις/Αναλήψεις με πλήρη παρακολούθηση
  • Ημερήσια όρια με δυνατότητα παράκαμψης
  • Ιστορικό συναλλαγών με αναλυτικές πληροφορίες
  • Αναζήτηση και φιλτράρισμα για γρήγορη πρόσβαση
  • Αυτόματο backup κάθε 30 λεπτά και στο κλείσιμο
  • Emergency recovery με Ctrl+Shift+R

🎨 Διεπαφή Χρήστη

  • Bootstrap 5 για σύγχρονο design
  • Dark/Light mode για άνετη χρήση
  • Responsive design για desktop/tablet/mobile
  • Keyboard shortcuts για γρήγορη πλοήγηση
  • Smart alerts και ειδοποιήσεις
  • Enhanced focus management για popups/modals

🔐 Ασφάλεια & Διαχείριση

  • Multi-user σύστημα (Admin, Staff)
  • Backup/Restore δεδομένων
  • Export σε CSV/JSON για αρχειοθέτηση
  • Offline λειτουργία με localStorage
  • Electron security με context isolation
  • ASAR packaging για προστασία κώδικα

🏕️ Ομάδες Κατασκήνωσης

  • junior - Μικρότερα παιδιά
  • 1η κοινότητα - Πρώτη ομάδα
  • 2η κοινότητα - Δεύτερη ομάδα
  • 3η κοινότητα - Τρίτη ομάδα
  • Πανοράματα - Ειδική ομάδα
  • Προάστια - Περιοχή προαστίων
  • Ανεξάρτητη - Ανεξάρτητα μέλη
  • Ανεξάρτητες - Ανεξάρτητες δραστηριότητες

🚀 Γρήγορη Εκκίνηση

Προαπαιτούμενα

  • 🖥️ Windows 7/8/10/11 (x64/x86)
  • 📦 Node.js 16+ (για development)
  • 512MB RAM minimum
  • �📁 100MB ελεύθερος χώρος

Εγκατάσταση

📦 Production Use (Συνιστάται)

  1. Κατέβασε το installer:
    # Build το installer
    npm run build
  2. Εκτέλεση:
    • Τρέξε το Bank System start.bat
    • Ή χρησιμοποίησε το built installer από /dist

🛠️ Development Setup

  1. Clone το repository:

    git clone https://github.com/yourusername/pitsas-camp-bank.git
    cd pitsas-camp-bank
  2. Εγκατάσταση dependencies:

    npm install
  3. Εκκίνηση εφαρμογής:

    # Production mode
    npm start
    
    # Development mode
    npm run dev
    
    # Build για distribution
    npm run build

Scripts Διαθέσιμα

Script Περιγραφή
npm start Εκκίνηση σε production mode
npm run dev Development mode με dev tools
npm run build Build installer για Windows
npm run validate Έλεγχος production readiness
npm run security-audit Security audit
npm run pre-release Πλήρης validation + security check

Πρώτη Σύνδεση

Προεπιλεγμένοι λογαριασμοί:

Χρήστης Κωδικός Ρόλος
admin admin123 Διαχειριστής
staff1 staff123 Προσωπικό

📖 Οδηγός Χρήσης

1. Εγγραφή Νέου Παιδιού

  • Κλικ στο κουμπί "Προσθήκη Παιδιού"
  • Συμπλήρωση στοιχείων (όνομα, επώνυμο, ηλικία, ομάδα)
  • Ορισμός ημερήσιου ορίου
  • Αρχική κατάθεση (προαιρετικό)

2. Διαχείριση Χρημάτων

  • Κατάθεση: Προσθήκη χρημάτων στο λογαριασμό
  • Ανάληψη: Αφαίρεση χρημάτων με έλεγχο ορίων
  • Παράκαμψη ορίου: Για έκτακτες περιπτώσεις

3. Αναφορές & Στατιστικά

  • Προβολή συνολικών υπολοίπων ανά ομάδα
  • Ημερήσιες/εβδομαδιαίες αναφορές
  • Export δεδομένων για ανάλυση

⌨️ Συντομεύσεις Πληκτρολογίου

Συντόμευση Λειτουργία
Ctrl + N Νέο παιδί
Ctrl + F Αναζήτηση
Ctrl + S Αποθήκευση
Ctrl + E Export δεδομένων
Ctrl + B Backup
Ctrl + R Restore
Ctrl + D Dark mode
F1 Οδηγίες βοήθειας
Esc Κλείσιμο modal
Ctrl + Shift + R Emergency backup recovery
Ctrl + Alt + F Focus fix για popups

💡 Tip: Δες το Focus Fix Guide για περισσότερες πληροφορίες.

🛠️ Τεχνική Τεκμηρίωση

Δομή Αρχείων

pitsas-camp-bank/
├── Main.js                    # Electron main process
├── package.json              # Dependencies & build config
├── LICENSE                   # Άδεια χρήσης
├── README.md                 # Αυτό το αρχείο
├── RELEASE-NOTES.md          # Release information
├── AUTO_BACKUP_INFO.md       # Backup system guide
├── FOCUS_FIX_GUIDE.md        # Focus management guide
├── app/
│   ├── index.html           # Main UI
│   ├── app.js               # Application logic
│   ├── preload.js           # IPC bridge (security)
│   ├── styles.css           # Custom styles
│   ├── splash.html          # Splash screen
│   ├── production-config.js # Production configuration
│   └── img/
│       ├── logo.png         # Logo εφαρμογής
│       └── favicon.png      # Favicon
├── build.bat                 # Build script για Windows
├── dev.bat                   # Development script
├── Bank System start.bat     # Production launcher
├── validate-production.js    # Production validation
├── security-audit.js        # Security audit script
└── backup/                   # Backup directory

Τεχνολογίες

  • Frontend: HTML5, CSS3, JavaScript (ES6+)
  • Desktop: Electron 28.2.0 (LTS)
  • Styling: Bootstrap 5.3.0
  • Icons: Bootstrap Icons
  • Charts: Chart.js
  • Storage: localStorage API + File System
  • Security: Context Isolation, IPC validation
  • Build: Electron Builder με ASAR packaging

Αρχιτεκτονική

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   Main Process  │    │ Preload Script  │    │ Renderer Process│
│   (Main.js)     │◄──►│ (preload.js)    │◄──►│ (app.js)        │
│                 │    │                 │    │                 │
│ • Window Mgmt   │    │ • IPC Bridge    │    │ • UI Logic      │
│ • File System   │    │ • Security      │    │ • Business Logic│
│ • Auto Backup   │    │ • Validation    │    │ • User Interface│
│ • Focus Mgmt    │    │ • Error Handling│    │ • Local Storage │
└─────────────────┘    └─────────────────┘    └─────────────────┘

Αποθήκευση Δεδομένων

// Dual Storage System
// 1. localStorage (για συμβατότητα)
{
  "pitsasChildren": [...],      // Στοιχεία παιδιών
  "pitsasTransactions": [...],  // Συναλλαγές
  "pitsasUsers": [...],         // Χρήστες συστήματος
  "pitsasSettings": {...}       // Ρυθμίσεις εφαρμογής
}

// 2. File System (αυτόματα backups)
// Αποθηκεύεται στο: %APPDATA%/pitsas-camp-bank/auto-backup.json

Ασφάλεια

  • Context Isolation: Enabled για ασφάλεια
  • Node Integration: Disabled στο renderer
  • IPC Validation: Έλεγχος όλων των channels
  • Web Security: Enabled με εξαιρέσεις για τοπικά αρχεία
  • ASAR Packaging: Προστασία source code

🔧 Παραμετροποίηση

Ρυθμίσεις Εφαρμογής

  • Items per page: Αριθμός εγγραφών ανά σελίδα
  • Default daily limit: Προεπιλεγμένο ημερήσιο όριο
  • Auto backup: Αυτόματη δημιουργία αντιγράφων (κάθε 30 λεπτά)
  • Sound notifications: Ηχητικές ειδοποιήσεις
  • Dark mode: Σκούρο θέμα
  • Keyboard shortcuts: Συντομεύσεις πληκτρολογίου
  • Focus management: Enhanced focus για popups

Προσθήκη Νέων Ομάδων

Επεξεργασία του app/index.html στο section των ομάδων:

<option value="νέα-ομάδα">Νέα Ομάδα</option>

Production Configuration

  • Production mode detection: Αυτόματη ανίχνευση
  • Debug logging: Conditional στο production
  • Error handling: Enhanced με fallbacks
  • Performance optimization: ASAR + compression

📊 Demo Data

Το project περιλαμβάνει εκτεταμένα demo δεδομένα:

  • 50 παιδιά με ρεαλιστικά στοιχεία
  • 95+ συναλλαγές για δοκιμές
  • Όλες οι ομάδες με μέλη
  • Ποικιλία ηλικιών (8-17 ετών)

🐛 Troubleshooting

Συνήθη Προβλήματα

1. Η εφαρμογή δεν εκκινεί:

  • Βεβαιωθείτε ότι έχετε Node.js 16+ εγκατεστημένο
  • Τρέξτε npm install στον φάκελο της εφαρμογής
  • Χρησιμοποιήστε npm run validate για έλεγχο

2. Τα δεδομένα δεν αποθηκεύονται:

  • Ελέγξτε τα δικαιώματα του φακέλου
  • Το αυτόματο backup αποθηκεύει στο %APPDATA%/pitsas-camp-bank/
  • Χρησιμοποιήστε Ctrl+Shift+R για emergency recovery

3. Προβλήματα Focus με popups:

  • Χρησιμοποιήστε Ctrl+Alt+F για επαναφορά focus
  • Δείτε το Focus Fix Guide για περισσότερες λύσεις
  • Βεβαιωθείτε ότι τρέχετε τη νεότερη έκδοση

4. Build προβλήματα:

  • Τρέξτε npm run clean και μετά npm install
  • Βεβαιωθείτε ότι έχετε τα σωστά dependencies
  • Χρησιμοποιήστε npm run security-audit για έλεγχο

5. Performance issues:

  • Ενεργοποιήστε ASAR packaging στο build
  • Ελέγξτε τη RAM usage (<512MB)
  • Κάντε clean της cache με npm run clean

Logs & Debugging

  • Development logs: Visible στο npm run dev
  • Production logs: Minimal για performance
  • Error logs: Αποθηκεύονται στο system
  • Debug mode: cross-env NODE_ENV=development npm start

🤝 Συνεισφορά

Οι συνεισφορές είναι ευπρόσδεκτες! Για να συνεισφέρετε:

  1. Fork το repository
  2. Δημιουργήστε ένα feature branch (git checkout -b feature/amazing-feature)
  3. Commit τις αλλαγές σας (git commit -m 'Add amazing feature')
  4. Push στο branch (git push origin feature/amazing-feature)
  5. Ανοίξτε ένα Pull Request

Development Guidelines

  • Χρησιμοποιήστε ελληνικά comments στο code
  • Ακολουθήστε τις naming conventions
  • Τεστάρετε σε πολλαπλούς browsers
  • Διατηρήστε την responsive συμπεριφορά

📝 Changelog

v1.0.0 (2025-07-19) - PRODUCTION RELEASE

  • Electron Desktop App - Μετατροπή από web σε desktop application
  • 🔄 Αυτόματο Backup Σύστημα - Silent backup κάθε 30 λεπτά + on close
  • Enhanced Focus Management - Λύση για popup/modal focus issues
  • 🔒 Security Hardening - Context isolation, IPC validation, ASAR packaging
  • 🚀 Production Ready - Validation scripts, security audit, build optimization
  • 📦 Installer Support - NSIS installer + portable version
  • 💡 Emergency Features - Ctrl+Shift+R (backup recovery), Ctrl+Alt+F (focus fix)
  • �🎨 UI Improvements - Bootstrap 5 integration, splash screen
  • �️ Developer Tools - Build scripts, validation, security audit
  • 📚 Comprehensive Documentation - Multiple .md files με detailed guides

Previous Versions

  • v0.9.x - Web application versions
  • v0.8.x - Bootstrap integration
  • v0.7.x - Multi-user authentication
  • v0.6.x - Backup/Restore functionality
  • v0.5.x - Full responsive design
  • v0.4.x - Keyboard shortcuts
  • v0.3.x - Dark mode support
  • v0.2.x - Basic functionality
  • v0.1.x - Initial prototype

📄 Άδεια Χρήσης

Αυτό το project είναι υπό την άδεια Custom License.

Επιτρεπόμενες Χρήσεις:

  • ✅ Εκπαιδευτική χρήση
  • ✅ Χρήση σε κατασκηνώσεις
  • ✅ Τροποποίηση για προσωπική χρήση
  • ✅ Διανομή με attribution

Απαγορεύσεις:

  • ❌ Εμπορική χρήση χωρίς άδεια
  • ❌ Επαναπώληση
  • ❌ Αφαίρεση copyright notices

🚀 Deployment

Build για Production

# Validation check
npm run pre-release

# Build installer
npm run build

# Αρχεία θα βρίσκονται στο ./dist/

Distribution

  • Windows Installer: Pitsas_Camp_Bank_1.0.0_x64.exe
  • Portable Version: Pitsas_Camp_Bank_1.0.0_Portable.exe
  • 32-bit Support: Pitsas_Camp_Bank_1.0.0_ia32.exe

System Requirements

  • OS: Windows 7/8/10/11
  • RAM: 512MB minimum, 1GB recommended
  • Disk: 100MB free space
  • Screen: 1024x768 minimum resolution

📞 Επικοινωνία

Για ερωτήσεις ή υποστήριξη:

  • 📧 Email: pallazarosb@gmail.com
  • 👨‍💻 Developer: Lazaros Paliamaxidis
  • 🏷️ Version: 1.0.0 (Production Release)
  • 📅 Release Date: July 19, 2025

Υποστήριξη

  • 🐛 Bug Reports: Στείλτε email με screenshots
  • 💡 Feature Requests: Περιγραφή νέων χαρακτηριστικών
  • 📚 Documentation: Ελέγξτε τα .md files για οδηγίες
  • 🔧 Technical Support: Περιλάβετε system info και logs

☕ Support My Work

  • 🌐 PayPal Donate | If you like what I do, consider donating:

Donate


🏗️ Designed & Developed with ❤️ by Lazaros Paliamaxidis

🏕️ Φτιαγμένο για τις κατασκηνώσεις Pitsas Camp

🏦 Pitsas Camp Bank © 2025

📋 Production Ready - Version 1.0.0

About

Το Pitsas Camp Bank είναι ένα ολοκληρωμένο Electron Desktop Application για τη διαχείριση των χρημάτων των παιδιών σε κατασκηνώσεις. Παρέχει ένα ασφαλές και εύκολο στη χρήση σύστημα για:

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published