Προς το περιεχόμενο

Βέλτιστη υλοποίηση βάσης για "συνδρομές"


L34x88iT

Προτεινόμενες αναρτήσεις

Δημοσ. (επεξεργασμένο)

Καλημέρα. 

Τώρα με τις καραντίνες θέλω να υλοποιήσω κάτι που είχα καιρό στο μυαλό μου. Θέλω να φτιάξω μία web εφαρμογή που θα κρατάει συνδρομές από hosting και domain πελατών. Όχι τίποτα το εξαιρετικό, απλά στο τελικό αποτέλεσμα θα έχω ένα πίνακα που θα βλέπω ποιανού η υπηρεσία λήγει άμεσα κλπ (Εντάξει λίγο πιο πολύπλοκο). 

Απλά δεν ξέρω πως είναι ο καλύτερος τρόπος και γενικά πως δουλεύουν τέτοιου είδους υπηρεσίες. Δεν θέλω να μου πείτε κώδικα κλπ κλπ. Απλά ποιος είναι καλύτερος τρόπος υλοποίησης ωστέ να ληγει μια υπηρεσία, να ανανεώνεται κλπ

Πολύ χονδρικά: Έχω πίνακα clients, έχω πίνακα services

Οι 2 τρόποι που έχω σκεφτεί:

α) Να έχω ένα πεδίο στο clients, πχ clients.expire_date και όταν ανανεώνει θα προσθέτω στην ημερομηνία λήξης πχ +30μέρες, +365 μέρες κλπ. Το κακό με αυτό είναι οτι 1)ο κάθε πελάτης θα είναι παντρεμένος με μια υπηρεσία (Δηλαδή πελάτης=υπηρεσία) και 2) οτί απλά θα βλέπω την πιο πρόσφατα ενημερωμένη ημερομηνία λήξης (Δεν θα βλέπω δήλαδη πόσες φορές έχει ανανεώσει)

β) Ένα πίνακα πχ invoices που κάθε φορά που θα κάνει πληρωμή κάποιος θα δημιουργείται ένα με έναρξη την ημέρα της πληρωμής και λήξη την ημέρα αυτή + 365 μέρες. Οπότε θα έλεγχω το πιο πρόσφατο (για τον χρήστη), invoice.expire_date.

Και τους 2 τρόπους τους έχω δοκιμάσει και δουλεύουν. Κάτι μέσα μου όμως λέει οτι κανένας από του 2 τρόπους δεν είναι ο σωστός/καλύτερος

 

Επεξ/σία από L34x88iT
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Το πρώτο είναι  λάθος γιατί ένας πελάτης δεν μπορεί να έχει ημερομηνία λήξης. Το δεύτερο δεν νομίζω ότι η απόδειξη παίζει κάποιο ρόλο. Νομίζω ότι πρέπει να έχεις ένα πίνακα που θα συνδυάζει τους πελάτες και το service που τους παρέχει. Αυτό θα έχει το id του πελάτη το id του service την ημερομηνία έναρξης και λήξης ή διάρκεια και μπορεί να έχει και ένα boolean ή το id του ivoice εφόσον πληρώθηκε.

 

 

  • Thanks 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ποία είναι η σχέση μεταξύ πελατών και υπηρεσιών; Αν ένας πελάτης μπορεί να χρησιμοποιεί πολλές υπηρεσίες και μια υπηρεσία μπορεί να χρησιμοποιείται από πολλούς πελάτες χρείαζεσαι έναν τρίτο πίνακα. Ο πίνακας αυτός θα έχει σαν κυριο κλειδί τον συνδυασμό των ΚΚ των πινάκων πελάτης και υπηρεσία και επιπρόσθετα ότι άλλο στοιχείο χρειάζεται να αποθηκεύσεις. 

Δεν είναι ο μόνος τρόπος αλλά έτσι θα το έκανα εγώ αν είχα μια Μ:Ν σχέση μεταξύ δυο πινακών.

  • Like 1
  • Thanks 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Καλημέρα.

Καταρχάς ευχαριστώ πολύ για τις απαντήσεις σας. Τώρα κατάλαβα πόσο λάθος ήταν ο πρώτο τρόπος. Στον δεύτερο τρόπο που λέω εννοώ και εγώ αυτό που λέτε για τρίτο πίνακαμ απλά εγώ έκανα ένα πάντρεμα και με την πληρωμή. Τώρα κατάλαβα οτί καλύτερα να είναι διαφορετικά. Ευχαριστώ πολύ!

19 ώρες πριν, k33theod είπε

Το πρώτο είναι  λάθος γιατί ένας πελάτης δεν μπορεί να έχει ημερομηνία λήξης. Το δεύτερο δεν νομίζω ότι η απόδειξη παίζει κάποιο ρόλο. Νομίζω ότι πρέπει να έχεις ένα πίνακα που θα συνδυάζει τους πελάτες και το service που τους παρέχει. Αυτό θα έχει το id του πελάτη το id του service την ημερομηνία έναρξης και λήξης ή διάρκεια και μπορεί να έχει και ένα boolean ή το id του ivoice εφόσον πληρώθηκε.

Ναι κάπως έτσι έχω υλοποιήσει τον δευτερο τρόπο που λέω. Δηλαδή ο τρίτος πίνακας μου είναι ο "invoice" που λέω

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

@L34x88iTΤο φτιάχνεις για να περάσεις την ώρα σου ως χόμπι τώρα που θα έχεις λίγο χρόνο παραπάνω, ή επειδή όντως το χρειάζεσαι? 

Αν είναι το πρώτο, πάσο, πολύ καλά κάνεις και ουσιαστικά θα δεις που θα σε σπρώξουν οι ανάγκες σου. 

Αν το κάνεις επειδή το χρειάζεσαι, σταμάτα τα όλα όπως είσαι σβήσε κώδικες πίνακες και βάσεις και απλα αγόρασε ένα script (των 30-40 ευρώ) από CodeCanyon για διαχείριση πελατών, και κάνε εκεί πάνω τις όποιες αλλαγές θες για να το φέρεις στα μέτρα σου (καμία αλλαγή δεν θα κάνεις γιατί έχουν σκεφτεί ήδη σχεδόν τα πάντα, αλλά οκ).

Δεν θα σε πάω σε WHMCS που είναι *ΑΚΡΙΒΩΣ* αυτό που θες, αλλά δυσκολεύομαι να σκεφτώ κάτι καλύτερο από αυτό: https://codecanyon.net/item/perfex-powerful-open-source-crm/14013737

Επεξ/σία από polaki
  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...