Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Share e short_url #95

Open
Lychfindel opened this issue Oct 27, 2020 · 1 comment
Open

Share e short_url #95

Lychfindel opened this issue Oct 27, 2020 · 1 comment
Labels
[database] implementation related to database enhancement New feature or request

Comments

@Lychfindel
Copy link
Member

Riprendendo la issue #85 bisogna cambiare il bottone di share facendone uno nostro senza usare addToAny.
Giustamente e' stato proposto di usare una short_url.

Riguardo la short_url c'e' questa bella e semplice libreria python: https://github.com/Alir3z4/python-short_url
La libreria semplicemente converte un intero in una sequenza di lettere e numeri (utilizzando dei metodi un po' intelligenti).

La mia proposta e' quindi quella di creare una database per le condivisioni, in ogni riga del db salviamo la url reale e anche il dizionario json, quando uno accede al sito tramite shorturl noi recuperiamo le info dal db e restituiamo direttamente il dizionario json senza dover rifare tutti i calcoli

@Lychfindel Lychfindel added enhancement New feature or request [database] implementation related to database labels Oct 27, 2020
@freerafiki
Copy link
Member

certo che come esempio shortare 12 in LhKA (che è più lungo) mi confonde, però l'idea mi pare ottima.
Non mi è chiaro il tutto, cerco di spiegare meglio?

  1. perchè dobbiamo convertire interi? perchè sarebbero gli ID di un elemento di una tabella nel nostro database, il quale contiene la URL della ricerca e le necessarie info json?
  2. viene fatto dinamicamente? quando una persona vuole condividere una ricerca, noi la salviamo nel database, gli restituiamo l'ID, e dopo un mese tipo la buttiamo via? (farle tutte mi sembra eccessivo)

Esempio per capire se ho capito:
a) utente cerca un percorso. Lo troviamo e mostriamo sulla mappa
b) utente clicca "condividi percorso"
b.1) via ajax mandiamo una richiesta al database, chiedendogli di salvare il json della ricerca (e magari l'URL)
b.2) il server aggiunge il json e l'url nella tabella, e ne estrae l'ID (che viene generato automaticamente nell'insert credo, no?)
b.3) il server shorta la url, da dequa.it/ricerca_ID (dove ID sarebbe un numero) a LhySzWnc o simili (o shortiamo solo la seconda parte, quindi tipo dequa.it/LHyzeC ?) e la ritorna a javascript
c) il browser riceve l'url e lo mostra sullo schermo dell'utente, che lo può copiare (o lo copiamo automaticamente)

Come le buttiamo via? O le teniamo là? Cronjob su pythonanywhere?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[database] implementation related to database enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants