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

Προγραμμα αποθηκης- python


Hamurabi

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

11 ώρες πριν, masteripper είπε

Κόλησες στο SQlite...ΔΕΝ κάνει γιαυτή την δουλειά...SQlite είναι file-based χωρίς δυνατότητες network 

Δες λίγο εδώ για να ξεκινήσεις : https://stackoverflow.com/questions/8357496/access-sqlite-from-a-remote-server

Ξεκινα με τις πληροφορίες που πήρες σε Google forms/sheets...κτλ και όταν ανέβεις επίπεδο τότε θα δεις τι άλλες δυνατότητες υπάρχουν.

 

Δεν έχει σημασία μην κολλάς :). Το request πάει στο backend το backend είναι στον ίδιο host με το sqlite και κάνει τοπική σύνδεση και στέλνει κανονικά την απάντηση. Όταν χρησιμποποιείται κάποια άλλη db γίνεται με remote. Μπορεί να γίνει αλλά σε επιπέδο μικρών εφαρμογών η σύνδεση του backend με τη βάση είναι local

5 ώρες πριν, Hamurabi είπε

Ο ελαχιστος ελευθερος χρονος μου περιλαμβανει και δυο παιδια οπως ξαναειπα. 

Και επισης δεν φτιαχνω κατι για ναπληρωθω. Φτιαχνω κατι για δικο μου ανθρωπο κ επειδη μου αρεσει προσπαθω να μαθω οτι μπορω γυρω απο αυτο στον βαθμο που μπορω. 

 

Παμε στο θεμα μας παλι, 

Ετωτησεις

1)αν την. Εφαρμογή την ανεβασω σε Vps, πως την τρεχω απο υπολογιστή; 

Μιλαμε παντα για python εφαρμογη με database και gui φτιαγμενο σε tkinter. 

Επισης θα μπορει αν ειναι σε vps να τρέξει κ απτο κινητο; αν ναι πως; 

2)στο vps θα μπορει να ειναι και η βαση δεδομενων μου οπου εκει θα αποθηκεύεται αυτοματα οταν την επεξεργαζομαι απτο pc? 

Να σε ρωτησω οι δυνατοτητες network που αναφερεσαι ποιες ειναι?πεσμου ενα παραδειγμα.

ενα που ξερω ειναι οτι με sqlite δε μπορουν να επεξεργαζονται τη βαση πανω απο ενα ατομο ταυτοχρονα αν δε κανω λαθος.

τι αλλη δυνατοτητα network θα μου ηταν χρησιμη σε αυτο το προγρΑΜΜΑ?

σε ευχαριστω και παλι

Δεν θέλω να σε αποτρέψω αλλά για να κάνεις μόνος κάτι που να στέκεται, είναι δύσκολο ως ακατόρθωτο.  Τέτοια πράγματα χρειάζονται ομάδες ανθρώπων και μάλιστα έμπειρων.

Μόνο η σχεδίαση της βάσης, το να σκεφτείς δηλαδή πίνακες ερωτήματα σχέσεις κλπ και να μην κάνεις μ@κια είναι δύσκολο.

Πρόταση μου είναι να στραφείται σε έτοιμες δωρεάν λύσεις ή λύσεις με μικρό κόστος

 

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

  • Απαντ. 66
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Συχνή συμμετοχή στο θέμα

Δημοσιευμένες Εικόνες

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

Δεν έχει σημασία μην κολλάς :). Το request πάει στο backend το backend είναι στον ίδιο host με το sqlite και κάνει τοπική σύνδεση και στέλνει κανονικά την απάντηση. Όταν χρησιμποποιείται κάποια άλλη db γίνεται με remote. Μπορεί να γίνει αλλά σε επιπέδο μικρών εφαρμογών η σύνδεση του backend με τη βάση είναι local

Δεν θέλω να σε αποτρέψω αλλά για να κάνεις μόνος κάτι που να στέκεται, είναι δύσκολο ως ακατόρθωτο.  Τέτοια πράγματα χρειάζονται ομάδες ανθρώπων και μάλιστα έμπειρων.

Μόνο η σχεδίαση της βάσης, το να σκεφτείς δηλαδή πίνακες ερωτήματα σχέσεις κλπ και να μην κάνεις μ@κια είναι δύσκολο.

Πρόταση μου είναι να στραφείται σε έτοιμες δωρεάν λύσεις ή λύσεις με μικρό κόστος

 

Μα Το κάνω  και γιατι θελω να μαθω. 

Εχω ηδη φτιαξει ενα μεγαλο μερος του προγράμματος, φυσικα περνοντας και κομματια ετοιμου κωδικα. 

Εχω φτιάξει το gui μονος μου, τη βαση δεδομενων περνοντας κομματια ετοιμα, και τα κουμπια (add, remove, update). 

Τωρα ειμαι στο κομματι με τα ερωτηματα κ τις σχέσεις αλλα δε θελω πολλα, θελω λιγα κ απλα πραγματα. 

Βρηκα κ έτοιμο κωδικο για barcode reader που δουλευει κ με τη καμερα του λαπτοπ. Τα συνθετω σιγα σιγα. 

Αναρωτιεμαι αν ανεβασω to script σε vps πως θα το τρεχω μετα απτο pc? 

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

Αν η εφαρμογή σου είναι online ή σε vps που λες εσύ, που δεν χρειάζειται να είναι vps μπορεί να είναι και share "ναι υπάρχουν share hostings που υποστηρίζουν python" και ότι άλλο θέλει, ή ας το πω εγώ στο internet, τότε η λύση είναι web interface μία web εφαρμογή δηλαδή με κάποιες σελίδες. Αυτή για να τρέξει με python χρειάζεται framework. Κάποιος είπε για flask, εγώ ξέρω το django και υπάρχουν δεκάδες άλλα. Στην περίπτωση αυτή το gui σου δεν χρειάζεται και το script(κώδικας) που έχεις γράψει πρέπει να τον προσαρμόσεις στο framework Πρέπει να μάθεις επίσης css, html, javascript, το framework , πράγματα γύρω από από την ασφάλεια τα sessions κλπ κλπ :) . Γιαυτό σου λέω είναι δύσκολο.

Για να καταλάβεις καλύτερα τι γίνεται στήστο όλο local. Εγκατάστησε δηλαδή στον υπολογιστή σου webserver(apache), database αν θες κάποια άλλη, Το framework και ότι άλλο θες.

 

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

Μου πρότεινε ενας γνωστός και κατι αλλο ωστε να το φτιαξω συντομα και ναντον δωσω στον ανθρωπο να κανει τηνδουλεια του. 

Να ειναι με web interface με php και mysql και μουπε μαλιστα οτι δε χρειάζεται καν γνωσεις για coding υπαρχουν templates. 

Καπως σαν eshop δηλαδη η εικονα του, καλως έτσι :

 

Capture-2.png

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

Δημοσ. (επεξεργασμένο)
12 hours ago, Hamurabi said:

γνωμες?

Γνώμη μου είναι ότι θα χρειαστούν άλλες 5 σελίδες για το πως θα στήσεις wordpress σελίδα με κάποιο plugin για inventory management... Και κάποιες ακόμα για το πως θα στήσεις τοπικά server, καθώς το "τζάμπα" μάλλον παίζει κομβικό ρόλο στο όλο project. Αν θες να το παλέψεις, εδώ μια βασική λίστα για ανάγνωση:

 

Αν βγούμε από τη σφαίρα του "τζάμπα", μπορείς να βρεις ένα φθηνό hosting πλάνο μαζί με ένα φθηνό domain (~50ευρω/έτος, είμαι σίγουρος ότι υπάρχουν και φθηνότερα άμα ψάξεις) - πολλά από αυτά προσφέρουν εγκατάσταση wordpress με installer, οπότε τα περισσότερα προβλήματά σου θα λυθούν

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

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

Γιατι να χρειαστώ hosting? 

Δε γινεται να τρεχει στο τοπικο δικτυο κανοντας αυτα που λενε τα 2 πρωτσ links σου ας πουμε; δε μου φαίνονται ιδιαιτερα δυσκολα, γραφει αναλυτικα τα βηματα

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

Σε ευχαριστώ παρα πολυ για τη βοηθεια. 

Εχω βρει ενα project ακριβως σαν αυτο που θελω και ο τυπος εχει τον κωδικα ολα ετοιμα διαθεσιμα για download. 

Σκεφτομαι για να γλυτωσω χρόνο να το κατεβασω και να αρχισω να κανω παραμετροποιησεις εκει. Π.χ θελω να προσθεσω columns σε καποιους πινακες. 

Ειναι αυτο εδω:

https://www.freecodecamp.org/news/making-an-awesome-inventory-management-application-in-php-and-mysql-from-start-to-finish-90bc5996680a

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

Δημοσ. (επεξεργασμένο)
Στις 21/2/2022 στις 10:31 ΜΜ, Hamurabi είπε

μπορεις να το αναλυσεις σε παρακαλω?>

Παιδια αλλη μια ερωτηση. 

Αν θελω η database πουθαναι με sqlite3 να βρισκεται σε ενα server. Οπου θαντην αποθηκευει και διαβάζει απο εκει η python εφαρμογή μου..  Που μπορει να γινει αυτο οσο πιο φθηνα γίνεται; ή ακομα και δωρεαν; γινεται να αναιβει σε καποιο google drive ή κάτι τετοιο και να χρησιμοποιώ το path απο εκει ωστε να το φορτωνει η εφαρμογή αρχικά αλλα κ να το αποθηκεύει στη συνέχεια; 

Δεν θέλει πολύ ανάλυση οι λόγοι που το web παίζει παντού είναι οι εξής:

1. Responsieve Desighn (μάλλιστα υπάρχουν και ωραία frameworks όπως το bootstrap, το foundation και το tailwind)
2. Όλα τα devices του average Joe (κινητό/tablet κοκ) έχουν browser.

Hosting, οικονομικά γίνετε σε ένα παλιό μηχάνημα με python + κάποιον webserver που θα σερβίρει LAN ή μέσω VPN. Όμως θα πρέπει ο server να έχει σταθερή local ip (δλδ να μην παίρνει δυναμικά μέσω DHCP).

Ιδανικά θές ένα pc με:

  1. λινουξάκι
  2. python
  3. nginx
  4. cgi.


Εναλλακτικά μπορείς το python script να είναι ΚΑΙ webserver ενώ το στατικό μέρος να το αναλαμβάνει ένας nginx όποια κομμάτια θα θέλουν python απλά μπορεί να τα πασάρει.
Το αρνητικό και στις 2 περιτπώσεις, είναι ότι όλες οι συσκευές θα πρέπει να είναι προσβάσιμες στο ίδιο lan με το pc που κάνει host την εφαρμογή. Εκτός ΑΝ:

  1. Έχεις Dynamic Dns και Port forwarding.
  2. Η δημόσιά σου IP του router είναι στατική και είτε έχεις port forwarding στο router είτε έχεις έναν VPN server εγκατεστημένο στο Lan σου.
  3. Αξιοποιείς το TOR και η εφαρμογή σου παίζει σαν hidden service ΑΛΛΑ όλες οι συσκευές σου θα χρειάζονται TOR.

Μια προσέγγισή για το δεύτερο είναι να έχεις 2 φακέλους:
1. Assets: Html/Css/Js
2. Python: Rest api + Http

Το δεύτερο θα έχει την python εφαρμογή σου που θα σερβίρει json και θα εξυπηρετεί API Calls (θα κάνεις δικό σου API). Το πρώτο θα εμπεριέχει Html/Css και Javascript μόνο που μέσω Ajax θα επικοινωνεί με το API. Όποιο Ajax πάρε-δώσε μπορείς να το περνάς μέσω nginx που θα το προωθεί στο python λογισμικό.

Τέλος, αν χρησιμοποιείς flask, συμπίπτει στη δεύτερη προσέγγιση (python σε ρόλο webserver), και μπορείς να κάνεις το python  να σερβίρει στατικά αρχεία (html,css,js) όπως αναφέρετε στο: https://stackoverflow.com/a/20648053/4706711

Στις 24/2/2022 στις 11:14 ΠΜ, Hamurabi είπε

Μου πρότεινε ενας γνωστός και κατι αλλο ωστε να το φτιαξω συντομα και ναντον δωσω στον ανθρωπο να κανει τηνδουλεια του. 

Να ειναι με web interface με php και mysql και μουπε μαλιστα οτι δε χρειάζεται καν γνωσεις για coding υπαρχουν templates. 

Καπως σαν eshop δηλαδη η εικονα του, καλως έτσι :

 

Capture-2.png

PHP, Html, Css είναι μια καλή προσέγγιση μες mysql server, παρατάυτα η PHP μπορεί να αξιοποιεί και SQLite3 as well ειδικά στην περίτπωσή σου (χωρίς να υποτιμώ την κλασική mysql που μας μάθαν οι πατέρες μας).

Ακόμα η SQlite 3 είναι εύκολη στο backup λόγο ότι είναι ένα αρχείο Copy - Paste στο pc σου η ακόμα και σε cloud πχ. dropbox. Όμως θα πρέπει να προσέχεις να ΜΗΝ αλλάζεις το αρχείο καθώς ανεβαίνει και να ΜΗΝ το σερβίρεις μέσω Http. Έχε το σε ένα φάκελο εκτός των αρχείων του webserver πχ. στην διαδρομή του στύλ /var/db/my_app.sqlite

-----

Παραταύτα, να πω κάποιες βασικές συμβουλές (ΕΝΝΟV συμβουλές που αν δεν ακολουθηθούν παίρνω κεφάλια) που πρέπει να ακολουθήσεις οπωσδήποτε ότι και να κάνεις με το project:

  1. Αν γράψεις κώδικα να χρησιμοποιείς git η άλλο version control.
  2. Passwords να είναι αποθηκευμένα σε salted hash, συγκεκριμένα σε BCrypt. (Όυτε MD5 ΟΥΤΕ SHA-1). Αν πας σε php σου έχει στρωμένο χαλί σε αυτό το κομμάτι.
  3. ΠΑΝΤΑ μα ΠΑΝΤΑ αν ένα query είναι παραμετρικό να έχεις Prepared Statements. Αυτός ο νόμος αν παρενέβει, πλέφτει παντόφλα, suplex και headshot. Μετά grind το πτώμα σου και ότι έλιωσα το κάνω breaking Bad smoothie.

(Ξέρω έχω πληγές ακόμη από κακό κώδικα, και πρέπει να τελειώσει το μίασμα)

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

Δημοσ. (επεξεργασμένο)
Στις 24/2/2022 στις 10:14 ΠΜ, Hamurabi είπε

Μου πρότεινε ενας γνωστός και κατι αλλο ωστε να το φτιαξω συντομα και ναντον δωσω στον ανθρωπο να κανει τηνδουλεια του. 

 

Αυτό το πρότεινα εγώ πρώτος 😠

Στις 22/2/2022 στις 7:23 ΜΜ, k33theod είπε

Η πρόταση μου είναι να στραφείται σε έτοιμες δωρεάν λύσεις ή λύσεις με μικρό κόστος

 

 

21 ώρες πριν, Hamurabi είπε

γνωμες?

Άλλαξε η κατηγορία από προγραμματισμός σε software οπότε είσαι σε λάθος ενότητα :)

 

7 ώρες πριν, Hamurabi είπε

Γιατι να χρειαστώ hosting? 

Δε γινεται να τρεχει στο τοπικο δικτυο κανοντας αυτα που λενε τα 2 πρωτσ links σου ας πουμε; δε μου φαίνονται ιδιαιτερα δυσκολα, γραφει αναλυτικα τα βηματα

και πως θα βλέπει την αποθήκη από το κινητό που έλεγες. WEB χωρίς hosting δεν υπάρχει.

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

1 ώρα πριν, k33theod είπε

Αυτό το πρότεινα εγώ πρώτος 😠

 

Άλλαξε η κατηγορία από προγραμματισμός σε software οπότε είσαι σε λάθος ενότητα :)

 

και πως θα βλέπει την αποθήκη από το κινητό που έλεγες. WEB χωρίς hosting δεν υπάρχει.

 

Εχεις δικιο,οποτε για να φαινεται και απτο κινητο πρεπει ναναι σε hosting.δεκτο.

για ειδοποιησεις σε mail (πχ αν καποιο προιον εχει πολυ λιγα τεμαχια) παλι θελει hosting?

 

ας μου επιτραπει οσο ειμαι σε αναζητηση να παραμεινει το τοπικ γιατι αν τα βρω σκουρα ισως παραμεινω στον προγραμματισμο. ευχαριστω

2 ώρες πριν, dewn735 είπε

Τελικά θες να κερδίσεις χρόνο, ή να κάτσεις και να μάθεις; Γιατί και τα δύο μαζί δε παίζει

θελω να το δωσω σε συντομο σχετικα διαστημα στον ανθρωπο να κανει τη δουλεια του και παραλληλα οτι κανω νομιζω οτι μου δινει γνωσεις. ολα αυτα καινουργια ειναι για μενα και το μινιμουμ να κανω παλι γνωσεις περνω. μετα το εμβαθυνω οσο θελω εγω χωρις αγχος χρονου

1 ώρα πριν, PC_MAGAS είπε

Hosting, οικονομικά γίνετε σε ένα παλιό μηχάνημα με python + κάποιον webserver που θα σερβίρει LAN ή μέσω VPN. Όμως θα πρέπει ο server να έχει σταθερή local ip (δλδ να μην παίρνει δυναμικά μέσω DHCP).

Ιδανικά θές ένα pc με:

  1. λινουξάκι
  2. python
  3. nginx
  4. cgi.

 

Δεν εχω χρησιμοπιοησει ποτε Linux παρολα αυτα επειδη με εχει πιασει μια κριση μαθησης νεων πραγματων eχω παραγγειλει ενα raspberry pi . με αυτο νομιζω μπορω να κανω αυτο που περιγραφεθς απο πανω.αν εχεις κανα σχετικο tutorial ευκαιρο πασαρετο μου αν θες.

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

Δημοσ. (επεξεργασμένο)
1 ώρα πριν, Hamurabi είπε

για ειδοποιησεις σε mail (πχ αν καποιο προιον εχει πολυ λιγα τεμαχια) παλι θελει hosting?

Θες μια υπηρεσία να στέλνει email. To πατροπαράδοτο είναι το SMTP και μπορείς μέσω php/python να πάιξεις Out of the box, ποιο μοντέρνες λύσεις μπορείς μέσω Http. Για να επικοινωνείς μέσω http σε php μπορείς μέσω CURL ή με functions που δίνει η ίδια php. Hostinh providers επιτρέπουν να στέλνεις email μέσω PHP.

Σε python πάλι υπάρχουν βιβλιοθήκες. Μια υπηρεσία για email είναι η SMTP2Go που δίνει ένα όριο καλό για δωρεάν περιοδικά λίγα email. Gmail απ' την άλλη για να παίξεις θα πρέπει να ενεργοποιήσεις 2 factor authentication και να έχεις μεμονομένα credentials για SMTP. Προσωπικά για αρχή προτείνω SMTP2Go.

 

1 ώρα πριν, Hamurabi είπε

Δεν εχω χρησιμοπιοησει ποτε Linux παρολα αυτα επειδη με εχει πιασει μια κριση μαθησης νεων πραγματων eχω παραγγειλει ενα raspberry pi . με αυτο νομιζω μπορω να κανω αυτο που περιγραφεθς απο πανω.αν εχεις κανα σχετικο tutorial ευκαιρο πασαρετο μου αν θες.

Για linux distro προτείνω ubuntu server ή debian. Αντί turorial δίνω keywords, just add google or duckduckgo:

Γενικά keywords:

  1. Install SSH ubuntu
  2. Install SSH debian
  3. Use keys instead of passwords

Για python σαν standalone http server:

  1. Install python Ubuntu
  2. Install python Debian
  3. Run Flask as standalone app
  4. Use pip freeze
  5. Install pip dependencies

Για python μέσω CGI:

  1. Install Nginx
  2. Install python as CGI ubuntu with nginx
  3. Install python as CGI debian with nginx
  4. CGI python nginx

Για rasberry, την βάση καλό είναι να την αποθηκεύεις σε σκληρό δίσκο. Η SD κάρτα μπορεί να φθαρθεί εύκολα στο γράφε. Αν πάιξεις με mysql και αποθηκεύεις σε εξωτερικό σκληρό εκεί δεν ξέρω πως θα μπορείς να την επαναφέρεις σε περίπτωση απώλειας OS.

 

Προσωπικά θα πρότεινα να έβλεπες πως θα κούμπωνες SATA σκληρό με το compute module:

 

Όμως για να το στίσεις θα πρέπει να πάρεις το PCB kai na to τυπώσεις:

https://github.com/wiretrustee/cm4-sata-board

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

Αποφάσισα προκειμενου να δωσω στον συγγενή μου σύντομα το προγραμμα να κανει τη δουλεια του να παρω ενα ετοιμο open source, συγκεκριμενα αυτο εδω

https://projectworlds.in/free-projects/php-projects/inventory-management-system-in-php-mysql/

Και να αλλαξω καποια πραγματα. Πολυ βασικα. Δεν με ενδιαφέρει να μαθω php κτλ, θελω μονο να το παραμετροποίησω για να του το δώσω. Πχ απο αγγλικά ολα να τα κανω ελληνικα. Να έχει το logo του μαγαζιου του καπου πανω πανω και τελος να προσθεσω καμια κολονα πχ αν στα προιοντα έχει μεγεθος,  χρώμα, τιμη εγω να προσθεσω και κατηγορία. 

Αυτα ειναι κατι που μπορω να κανω χωρις να εχω τη παραμικρή γνωση απο php κτλ? 

(μετα θα συνεχίσω τα projects μου με python poυ μαρεσει και θα συνεχισω να σας πρηζω) 

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

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

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

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

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

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

Σύνδεση

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

Συνδεθείτε τώρα

  • Δημιουργία νέου...