Información
Acceso a

Acerca de

11 agosto 2019 Actualizado 26 mayo 2020

Este sitio web es un CMS / Blog multi-lenguaje que construyo con Python, el framework Flask y SQLAlchemy. Está desplegado en mi servidor ISPConfig3 (Nginx + Mariadb) usando Docker que también se usa para el desarrollo. El sitio web cuenta con el registro user , muchas funciones de administrador, privacidad y seguridad, por lo que no es un proyecto pequeño. Algunos "aspectos destacados":

Tech

  • Python 3 (3.7)
  • Flask
  • SQLAlchemy
  • Mariadb
  • Docker, docker-compose
  • Bootstrap4
  • Fontawesome
  • Tinymce
  • ISPConfig3

Despliegue

Los pasos son el desarrollo, staging y la producción, todos usando docker y docker-compose. El desarrollo utiliza el servidor de desarrollo Flask , staging y la producción utiliza el servidor Gunicorn . Finalmente, ISPConfig3 es usado para controlar el dominio, la base de datos y el correo electrónico SMTP , Nignx está configurado como reverse proxy.

Privacidad

No espere encontrar aquí soluciones como el uso de los plugins CDNs, Google Analytics, Facebook , etc. La privacidad es una de las cosas más importantes de la vida. Aunque es imposible evitar que nos rastreen y recojan nuestros valiosos datos privados, creo que todos debemos hacer un esfuerzo para minimizar esto.

Seguridad

La seguridad siempre es un trabajo en progreso. Comienza con el diseño para la seguridad, lo que también significa que debes poner mucho esfuerzo en registrar las cosas. Hay grandes herramientas como OWASP ZAP y servicios en línea como securityheaders.com y detectify.com que pueden ayudarte a identificar las vulnerabilidades.

Multilenguaje

Aunque el texto de este sitio web está escrito en inglés, soporta múltiples idiomas usando la extensión Flask-Babel . Los textos en los otros idiomas son traducidos automáticamente por el momento usando la extensión DeepL API y a veces están lejos de ser perfectos, pero siempre puedes editar los archivos messages.po .

Aprendizaje automático

La inteligencia artificial (AI) está invadiendo nuestras vidas de muchas maneras. Python es el lenguaje usado con el aprendizaje automático y el aprendizaje profundo. Personalmente no me gustan estos desarrollos porque nadie puede ser responsable de las decisiones tomadas. Pero AI también puede ayudarnos de buenas maneras, como recomendar otras noticias al final de una noticia.

Más: Kivy

También buscaba un Python GUI. Comencé a usar tkinter pero pronto descubrí que esto tenía muchas limitaciones para mi propósito. Me topé con Kivy y fui a construir una primera aplicación con él. También puedes desplegar una aplicación Kivy en Android, pero ¿queremos apoyar el ecosistema Android ? También publicaré sobre mi proyecto Kivy .

¿Qué sigue?

En los próximos meses intentaré documentar algunas de las cosas que hice para que esto funcione, como usar SQLAlchemy sin Flask-SQLAlchemy, evitando las extensiones mal mantenidas de Flask , las migraciones utilizando las configuraciones de Alembic, minimizando el tamaño de las configuraciones de Docker image, docker-compose .

Gracias, Peter

Deje un comentario

Comente de forma anónima o inicie sesión para comentar.

Comentarios

Deje una respuesta.

Responda de forma anónima o inicie sesión para responder.