Καλησπέρα!
Για όσους έχουν ξανά δει τα Post μου, γνωρίζουν ότι φτιάχνω ένα σύστημα κρατήσεων για αντρικό barber shop. Ο πελάτης μου χρησιμοποιεί αυτήν την στιγμή μία αμερικάνικη υπηρεσία (επι πληρωμή) που σου επιτρέπει να έχεις ένα τέτοιο σύστημα ώστε οι πελάτες να μπορούν να κλείνουν ραντεβού online. Tο θέμα είναι ότι τον τελευταίο καιρό καποιος που θέλει να του κάνει κακό άρχισε να κλείνε κενά ραντεβού και δεν ξέρουμε τι να κάνουμε! Δημιουργεί τεράστιο πρόβλημα. Επικοινωνήσαμε με τους υπεύθυνους της υπερεσίας που νοικιάζει ο πελάτης και μας είπαν να αλλάξουμε τις ρυθμίσεις έτσι ώστε ο πελάτης να πρέπει να φτιάξει λογαριασμό για να κλείνει ραντεβού. Το κάναμε αλλά πάλι τα ίδια. Ο ύποπτος φτιάχνει ψεύτικους λογαριασμούς και σπαμάρει πάλι.
Το θέμα είναι ότι τώρα εγώ σχεδιάζω ένα σύστημα το οποίο θα λειτουργεί σύμφωνα με τις ανάγκες του πελάτη. Και άρχισα να σκέφτομαι πως να το κάνω έτσι ώστε να μην μπορεί κάποιος να κάνει τέτοιου είδους σπαμ. Η ιδέα μου είναι
1) Ο λογαριασμός του χρήστη θα φτιάχνετε μόνο από τον διαχειριστή του συστήματος ή θα πρέπει να γίνετε αποδοχή από τον διαχειριστή.
2) Θα υπάρχουν "κόφτες" στο πόσα ραντεβού θα μπορέι να κλείνει ένας λογαριασμός τον μήνα. (Με αίτηση στον διαχειρηστή θα υπάρχει τρόπος να αυξηθεί)
3) Θα υπάρχει μηχανισμός ban χρήστη σε περίπτωση κακής συμπεριφοράς (πχ κλείνει ραντεβού αλλά δεν εμφανίζεται ποτέ).
4) Επειδή ο χρήστης θα έχει την δυνατότητα να ακυρώνει τα ραντεβού του μέχρι την τελευταία στιγμή, θα πρέπει με κάποιον τρόπο να μην αφήσω
κάποιον να το εκμεταλλευτεί. Πχ κλείνει ραντεβού και τα ακυρώνει την τελευταία στιγμή, έτσι ώστε να μην φαίνεται κακή η συμπεριφορά αλλά επιβαρύνοντας
τους άλλους πελάτες και το μαγαζί. Άρα θα υπάρχουν κόφτες στο πόσα ραντεβού μπορεί να ακυρώνει κάθε 6-μηνο πχ.
Όλα αυτά όμως επιβαρύνουν την εμπειρία και των "σωστών" πελατών.
Επομένως, έρχομαι σε εσάς και ζητώ την γνώμη σας, μήπως υπάρχει άλλος τρόπος να πετύχω αυτό που θέλω χωρίς να πάρω τόσα δραστικά μέτρα;
Εμφάνιση 1-15 από 26
-
24-02-20, 19:11 Σύστημα Κρατήσεων: Πως να αποφύγω ψεύτικα ραντεβού - spam λογαριασμών; #1
-
24-02-20, 19:26 Απάντηση: Σύστημα Κρατήσεων: Πως να αποφύγω ψεύτικα ραντεβού - spam λογαριασμών; #2
γιαυτό φίλος μου κουρέας είπα ότι δεν θέλει ηλεκτρονικό σύστημα και μόνο τηλεφωνικά κλείνεις ραντεβού...
LL
__________________________________________________________
εσπρεσοσυζητήσεις https://www.e-spresso.gr/forum
-
24-02-20, 21:17 Απάντηση: Σύστημα Κρατήσεων: Πως να αποφύγω ψεύτικα ραντεβού - spam λογαριασμών; #3
Ίσως θα ήταν καλό να μην μπορεί κάποιος να κλείσει online αν δεν ειναι και "φυσικός" πελάτης. Δηλαδή η εγγραφή να γίνεται μονο στο κουρείο και μόνο από τον διαχειριστή της πλατφόρμας.
Αλλιώς πρέπει να περιορίσεις τον χρήστη ως προς τις εγγραφές και τις κρατήσεις. Ίσως ένας τρόπος να είναι η επιβεβαίωση με SMS. Email και κάρτα είναι εύκολο να βρεις, αριθμός τηλεφώνου πιο δύσκολο. Αυτό θα έχει ένα επιπλέον κόστος για την αποστολή του SMS (με περιορισμό στα 2-3 το 24ωρο) αλλά δεν νομίζω να είναι μεγάλο.
Ετσι πλέον κάθε πελάτης θα είναι συνδεδεμένος με έναν αριθμό τηλεφώνου και δεν θα επιτρέπεται σε κάποιον να έχει πάνω από μια κρατήσεις. Απλά θα κρατάς και banned κινητά για κάποιους που κλείνουν ραντεβού και δεν έρχονται ή ακυρώνουν συνεχώς.
-
24-02-20, 21:32 Απάντηση: Σύστημα Κρατήσεων: Πως να αποφύγω ψεύτικα ραντεβού - spam λογαριασμών; #4
Καλό αυτό με το κινητό. Πάντως για το παρακάτω:
Συμφώνησα ήδη με τον πελάτη να το κάνουμε έτσι. Επίσης, είπαμε να βάλουμε και ένα όριο (2 ραντεβού τον μήνα ο κάθε λογαριασμός) το οποίο μπορεί να αλλάξει με αίτηση του πελάτη στον διαχειρηστή της πλατφόρμας.
Αυτό πιστεύω είναι αρκετό. Δύσκολα θα έχουν τα κότσια να έρθουν από κοντά για να φτιάξουν σπαμ λογαριασμό.
Επίσης θα φτιάξω ένα συστηματάκι για τον διαχειρηστή το οποίο θα τον ειδοποιεί για ύποπτες συμπεριφορές και αν είναι σοβαρές ο διαχειρηστής θα έρχεται σε επαφή με τον συγκεκριμένο χρήστη. Αν δεν μπορεί να έρθει σε επαφή ή σε συνεννόηση και μετά από ειδοποίηση, θα του κλειδώνετε ο λογαριασμός και θα πρέπει να απευθυνθεί στον διαχειρηστή για ξεμπλοκάρισμα.
-
28-02-20, 16:36 Απάντηση: Σύστημα Κρατήσεων: Πως να αποφύγω ψεύτικα ραντεβού - spam λογαριασμών; #5
Καλησπέρα babaliari,
Είχα καιρό να μπώ στο φόρουμ, και επειδή μόλις είδα τα Posts για την εφαρμογή που φτιάχνεις, είπα να σου δώσω μια ιδέα από προσωπική εμπειρία.
Εγώ έφτιαξα ένα σύστημα πελατολογίου και επιβράβευσης (πόντοι, κάρτες, POS, Mobile APP, Dashboard, κτλ.). Μετά από πολλή - και τελικά άχρηστη - δουλειά, ανακάλυψα το Dreamfactory για API. Είναι πλατφόρμα που σου δίνει τη δυνατότητα να φτιάξεις ένα βασικό API μέσα σε λίγα λεπτά, και να το παραμετροποιήσεις όσο θες με λίγες ώρες δουλειά. Το στήνεις με οποιαδήποτε από τις: PHP, Node.JS, Python, V8Js. Θα δείς ότι η τιμή του πλέον δεν είναι προσιτή για μικρά Project, παρ'όλα αυτά η έκδοση 2.16.1 που χρησιμοποιώ εγώ είναι δωρεάν και εξαιρετικά σταθερή. Μπορείς να το συνδέσεις με πολλά άλλα συστήματα, αν και το έχω δοκιμάσει μόνο σε MySQL.
Το API σου δεν είναι καλό να βρίσκεται 'απευθείας' στο "Wild World Web", καλό είναι να το κρύβεις πίσω από Firewall και Reverse Proxy για πλήρη έλεγχο των Request. Εγώ χρησιμοποιώ Cloudflare, άπαιχτο στο είδος του και δωρεάν για τη δική σου περίπτωση. Το μεγαλύτερο πλεονέκτημα είναι ότι ανα πάσα στιγμή μπορώ να το κρύψω από την Public διεύθυνση του, και να είναι διαθέσιμο μόνο στους κεντρικούς Server. Επομένως άν δω περίεργες κινήσεις δεν χρειάζεται να ρίξω το σύστημα για να το προστατέψω, απλά πέφτουν τα Frontends.
Όσον αφορά για το Hosting, προσωπικά χρησιμοποίησα Plesk στην αρχή για όλα τα WEB κομμάτια, και έβαλα το Dreamfactory σε ξεχωριστό server. Τεράστιο λάθος όμως, καθώς ο χρόνος που περνούσε από τη στιγμή που ο πελάτης έβρισκε κάποιο bug, εώς ότου αυτό να διορθωθεί, μας οδηγούσε συνεχώς σε θυμωμένα τηλέφωνα, email κτλ.
'Βρήκα την υγειά μου' χρησιμοποιώντας Docker. Εφόσον έχω τα Containers μου έτοιμα and Running, όταν υπάρχει bug το διορθώνω, κάνω ένα Commit στο Git, και μετά από 2 λεπτά απλώς:
Κώδικας:docker image pull @MY APP@:latest docker stack deploy @MY APP@
Τέλος, εφόσον το σύστημά μου ήταν για πρατήρια καυσίμων, επέλεξε η τότε εταιρεία να δώσει σημασία περισσότερο στο Frontend πελατών μέσω υπολογιστή - Web App δηλαδή - , αλλά τελικά ακόμα και επαγγελματίες οδηγοί >50 ετών που έχουν απόλυτο "Technology Illiteracy", έχουν περισσότερη υπομονή να μάθουν να χρησιμοποιούν ένα APP στο κινητό, παρά να ανοίξουν μια ιστοσελίδα στον υπολογιστή τους. Άρα ότι κάνεις, κάν'το υπό την ιδέα ότι αν το εγχείρημα πάει καλά, θα χρειαστείς τουλάχιστον ένα Android APP (Στο λέω γιατί εμείς φάγαμε όλο το budget στην ομορφιά του Web APP πριν το καταλάβουμε).
Τα έγραψα όλα εδώ συγκεντρωτικά, παρά να απαντήσω στο κάθε θέμα ξεχωριστά, και δεν ξέρω άν έχει κάνει ήδη τις επιλογές σου στα υπόλοιπα κομμάτια.
Σε κάθε περίπτωση, για ότι από αυτά χρειαστείς στείλε μου ένα μήνυμα, έχω κάνει Open Source αρκετά κομμάτια από εκείνο το project που μπορεί να σε βοηθήσουν.People are usually shocked when the find out I'm not a very good electrician.
-
28-02-20, 18:59 Απάντηση: Σύστημα Κρατήσεων: Πως να αποφύγω ψεύτικα ραντεβού - spam λογαριασμών; #6
Ωραία όλα αυτά που λες! Cloudfare είχα σκοπό να χρησιμοποιήσω. Επίσης για αυτά που έλεγα στο OP, θα βάλουμε τελικά και sms service ετσι ώστε ο πελάτης να επιβεβαιώνει την εγγραφή του μέσω sms και επίσης σε περίπτωση ban να μπορώ να κάνω ban τον λογαριασμό χρησιμοποιόντας 2 στοιχεία (αριθμός, όνομα χρήστη). Έτσι μπορώ να αφήσω ανοικτές τις εγγραφές πελάτη και να μην γίνονται από τον διαχειριστή.
Για το docker που λες δεν ξέρω αν είναι το ίδιο, αλλά εγώ χρησιμοποιώ το git addon του plesk. Επομένως, όταν έχω ένα bug, το διορθωνω στο local machine μου όπου έχω όλα μου τα εργαλεία, κάνω commit και push στο GitHub και μετά στο plesk κάνω pull με ένα click και αναβαθίζεται όλο το site.
Ναι, θα φτιάξω android app για τους πελάτες (Θα υπάρχει όμως και web app). O διαχειρηστής έχει Iphone, επομένως του το κάνω σε web app (δεν ξέρω να φτιάχνω εφαρμογές για iOs).
[OffTopic]:
Είμαι προγραμματιστής 10 χρόνια, τον τελευταίο χρόνο ασχολούμε με full stack και ένα έχω να πω... Η css και το frontend γενικά μου έχουν βγάλει την πίστη πραγματικά! Ηδικα η css! Μου φαίνεται ποιο εύκολο να γράφω assembly...
Τώρα θα κάνω υπομονή να μάθω, δεν έχω άλλη επιλογή, αλλά στο μέλλον πρέπει σίγουρα να δουλεύω με ομάδα, δεν γίνεται μόνος.Τελευταία επεξεργασία από το μέλος babaliaris : 28-02-20 στις 19:13.
-
28-02-20, 19:34 Απάντηση: Σύστημα Κρατήσεων: Πως να αποφύγω ψεύτικα ραντεβού - spam λογαριασμών; #7
Για τα SMS πως έχεις σκοπό να το στήσεις?
Εγώ ξεκίνησα να φτιαχνω ένα Java function στο AWS Lambda, το οποίο το καλούσα από το API μόλις γινόταν εγγραφή, και εκείνο θα έστελνε το SMS μέσω AWS SNS. Δεν τελείωσε ποτέ ομως, αποφάσισαν ότι οι εγγραφές θα γίνονται στο κατάστημα.
People are usually shocked when the find out I'm not a very good electrician.
-
28-02-20, 19:52 Απάντηση: Σύστημα Κρατήσεων: Πως να αποφύγω ψεύτικα ραντεβού - spam λογαριασμών; #8
Δεν ξέρω ακόμα, ο πελάτης μου ήδη συνεργάζεται με sms service για άλλες δουλειές, τους ρώτησε και είπαν ότι η υπηρεσία τους γίνεται να χρησιμοποιηθεί μέσω web . Όταν θα το έχω έτοιμο, θα επικοινωνήσω μαζί τους και θα μου δώσουν οδηγίες. Να φανταστώ θα είναι rest api, θα έχω ένα κλειδί και θα κάνω requests για να στέλνω μηνύματα.
[OffTopic]: 3 μέρες παλεύω να το φτιάξω αυτό
-
28-02-20, 20:16 Απάντηση: Σύστημα Κρατήσεων: Πως να αποφύγω ψεύτικα ραντεβού - spam λογαριασμών; #9
Bootstrap είναι?
Προσπάθησε να αυτόματοποιήσεις όσο μπορείς το View κομμάτι. Εγώ ξεκίνησα με MVC δομή στη PHP, αλλά δε μου άρεσε ιδιαίτερα ο τρόπος που μου έβγαινε.
Τελικά έφτιαξα κάτι σαν libraries/components που έστειναν controls, όπως πίνακες, dropdowns, menus, και ένωσα το model & view σε ένα αρχείο.
Το μειονέκτημα ήταν ότι έπρεπε αν θέλει να μπεί καινούργιος προγραμματιστής στο project, έπρεπε να φάει πολύ χρόνο ψάχνοντας όλα τα components που έφτιαξα και μαθαίνωντας όλα τα constraints.
Πλεονέκτημα, ότι βγήκε πολύ πιο γρήγορα.
Για παράδειγμα, μια φόρμα/View για επεξεργασία ενός Card Level περιείχε μόνο αυτό:
Κώδικας:// Fetch API Object $api = new ApiClient(); $api->get_row('/card_level/', $card_level_id); // Check validity if ($api->get_response_code()!=200){ redirect($url['Card_Levels_GET']); } // Create Form $form = new Form(); $form->set_action('#'); $form->set_method('POST'); // Set Form Inputs $form->set_inputs([ ['title'=>tr('Level'), 'required'=>true, 'type'=>'text', 'name'=>'title', 'value'=>$api->get_resource()->title, 'placeholder'=>tr('Level')], ['title'=>tr('Position'), 'required'=>true, 'type'=>'text', 'name'=>'position', 'value'=>$api->get_resource()->position, 'placeholder'=>tr('Position')], ['title'=>tr('Enabled'), 'required'=>false, 'type'=>'select', 'name'=>'is_enabled', 'options'=>... ], ]); // Set Form Actions $form->set_buttons([ ['title'=>tr('Save'), 'enabled'=>true, 'value'=>'update'] ]); // Show Form $form->show_form(); // Initialize Form Handler $handler = new PostHandler(); $handler->set_api_action_uri('/card_level'); $handler->set_form_action_delete('/card_levels'); $handler->set_form_action_update('/card_levels'); $handler->set_id($card_level_id); $handler->set_id_name('card_level_id'); $handler->set_params([ ['title'=>'string'], ['position'=>'integer'], ['is_enabled'=>'integer'] ]); $handler->handle();
People are usually shocked when the find out I'm not a very good electrician.
-
28-02-20, 20:27 Απάντηση: Σύστημα Κρατήσεων: Πως να αποφύγω ψεύτικα ραντεβού - spam λογαριασμών; #10
Το app είναι σε Angular (frontend) όχι php. Επίσης είναι φούλ modul-able και κάθε κομμάτι είναι reusable (αφού έτσι δουλεύει η angular).
Χρησιμοποιώ bootstrap για το grid system της, που πιστεύω είναι από τα καλύτερα εκεί έξω, ακόμα καλύτερο και από το css grid (αν και το css grid σου ελλατώνει τους containers αλλά τέλος πάντων).
-
29-02-20, 00:27 Απάντηση: Σύστημα Κρατήσεων: Πως να αποφύγω ψεύτικα ραντεβού - spam λογαριασμών; #11
Για τα SMS θα πρέπει να βάλεις κάποιο περιορισμό ώστε να μην μπορεί κάποιος να σπαμαρει register request. Ίσως να μην αφήνεις μια ip να κάνει πάνω από 4-5 request ανά 24ωρο.
-
29-02-20, 00:37 Απάντηση: Σύστημα Κρατήσεων: Πως να αποφύγω ψεύτικα ραντεβού - spam λογαριασμών; #12
Α δηλαδή να μην μου τρώωει τα sms, διότι αν σπαμάρει πχ 200 register request την ημέρα, θα στέλνει 200 sms σωστά; Άσε που μπορεί να χρεώνομαι κιόλας;
- - - Updated - - -
Αν χρησιμοποιεί vpn; Βάζουν οι VPN κάποιον header στο request που να λένε ότι είναι vpn services; Έτσι ώστε να απορρίπτω requests από VPN's.
-
29-02-20, 12:19 Απάντηση: Σύστημα Κρατήσεων: Πως να αποφύγω ψεύτικα ραντεβού - spam λογαριασμών; #13
Μπορεί να σπαμαρει register σε άσχετα τηλέφωνα για να σε χρεώνει. Δεν νομίζω οι vpn να έχουν κάποιο header. Αλλά θα είναι και πιο δύσκολο για κάποιον να κάνει συνεχώς reconnect σε VPN μόνο και μόνο για να στείλει 3-4sms..
Μην το ψάχνεις υπερβολικά από τώρα. Βάλε κάποια βασικά μέτρα και μετά παρακολουθήσει το και λάβε επιπλέον μέτρα αν χρειαστεί. Μην ψάχνεις από τώρα πώς θα κόψεις το vpn!
-
29-02-20, 12:49 Απάντηση: Σύστημα Κρατήσεων: Πως να αποφύγω ψεύτικα ραντεβού - spam λογαριασμών; #14
Αντι να ψαχνεις vpn, βαλε καποιο geolocatιon service και αφηνε μονο ελληνικες ip. Και ασε τους κινεζους να κουρευονται (literaly) αλλου. (αν στο τελος σου χρειαστει)
-
29-02-20, 16:15 Απάντηση: Σύστημα Κρατήσεων: Πως να αποφύγω ψεύτικα ραντεβού - spam λογαριασμών; #15
Bookmarks