En el curro nos ha tocado pelearnos con django y me ha gustado bastante. En casa me he propuesto darle también personalmente un poco a django y se me ha ocurrido hacer como un "buscador" o mas bien "filtrador" de wallpapers.
Información técnica:
Framework Backend: Django3
Framework Frontend: Bootstrap4
Buscador/Filtrador:
Actualmente permite los siguientes parámetros:
- tags: Permite indicar los tags por los que quieres buscar, internamente ejecuta una OR, vease busca cualquier imagen que tenga almenos uno de los tags.
Ejemplo:
Mostraría aquellas imagenes que tuvieran el tag league_of_legends O tengen_toppa_gurren_laganntags=league_of_legends+tengen_toppa_gurren_lagann
- tagsand: Al contrario que tags, solo mostrará aquellas imagenes que tengan los N parametros como minimo. Pueden tener mas pero han de tener todos los que se indican en el parametro.
Ejemplo:
Mostraría aquellas imagenes que tuvieran el tag league_of_legends Y luxanna_crownguard?tagsand=league_of_legends+luxanna_crownguard
- tags_exclude: Si queremos evitar un tag porque no queremos obtener imagenes que contengan ese tag, evitará mostrarlas.
Ejemplo:
Mostraría todas las imagenes salvo las que tienen el tag fiora o el tag annie.?tags_exclude=fiora+annie
- extensions: Si queremos tener solo imágenes jpg y png (evitando gif) podemos indicarle
Ejemplo:?extensions=png+jpg
- orientation: Permite indicar si queremos que sean verticales o horizontales
Ejemplo:
Muestra aquellas imágenes que dispone de mas píxeles horizontales que verticales (se incluyen dentro aquellas donde los pixeles horizontales sean igual a los verticales)?orientation=horizontal
- width_min: Permite indicar la anchura mínima
- width_max: Permite indicar la anchura máxima
- heigth_min: Permite indicar la altura mínima
- heigth_max: Permite indicar la altura máxima
La idea con el tema de las resoluciones es que luego puedo hacer alias en plan FULLHD que se traduzca en 1920x1080 (+-5%) de variación.
- rate: Existen bastantes wallpapers en konachan y yande.re subidos de tono, por defecto la web muestra aquellos "safe" aunque alguno esta en el limite , pero se puede activar que muestre safe + cuestionable o incluso todos. Actualmente los rates son iguales a los de konachan y yande.re. Ya veremos si cuando la suba a un vps le dejo el rate 3 o directamente separo la 1 y 2 en un site y en otro pongo la 1 + 2 + 3 como tiene konachan.
1 = Safe 2 = Cuestionable 3 = Explicito
Frontend:
- Estructura
- Buscador con filtro en menu lateral
- Notificador para avisar / eliminar las duplicadas (dependiendo si eres admin -> realiza la accion directamente, si es usuario -> tengo que hacer la cola de notificaciones)
Para evitar carga y consumo de datos tontamente, en el listado se muestran los thumbnail y ademas se hace uso de lazy load para evitar que si no llegas al final de la página, las fotos que hay sin entrar dentro de la ventana visible del navegador no se carguen.
Backend:
- El parser detecta aquellas imagenes con mismo hash y marca como duplicadas dejando solo 1 activa
- Cola de notificaciones enviadas por usuarios (por ejemplo de imagen duplicada)
Datos:
Actualmente recopila datos de los siguientes sites
- Konachan
- Yande.re