SlideShare a Scribd company logo
1 of 26
Download to read offline
www.kevinzelada.cl
Emprendedor Tecnológico & Backend Developer mis preferencias
son Python/Django & Entusiasta de JavaScript.
@kevinzeladacl
Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl
Empresas & Startups
Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl
www.appfactory.cl
Cofounder Creativo
Partner tecnológico de negocios
Desarrollamos Web/Mobile Apps
www.findfounders.com
Cofounder & Developer
Plataforma para encontrar socios
de negocios e inversionistas.
www.primerocotiza.cl
CTO
Plataforma para cotizar servicios
a través de un formulario único
Comunidades
Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl
www.programadores.cl
Cofounder & Organizador
Red de programadores e
informáticos de Chile
www.suricataorg.com
Cofounder
ONG dedicada a entregar un
valor agregado a la educación
www.kevinzelada.cl
Developer
Web/Blog personal con tips,
articulos, consejos, etc.
Caso de ejemplo : FindFounders.com
Tema de Charla
“Creando un
MVP con DJANGO”
Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl
¿Qué es Django?
Un framework web de alto nivel escrito en Python
que fomenta el desarrollo rápido y limpio
y el diseño pragmático.
Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl
¿Quiénes usan Django?
Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl
Django es Python
● Python es un lenguaje de script de código abierto.
● Es multiplataforma: Linux, Mac OS X y Windows.
● Es multiparadigma: Funcional y orientado a objetos
● Es muy legible y conciso
● Es interpretado: No necesitamos compilar nuestros programas
● Python es fuertemente tipado pero tiene tipos dinámicos:
○ Una variable puede cambiar de tipo en ejecución pero el tipo se tiene en cuenta para las
operaciones
Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl
Django sigue el principio
Sigue el patrón MTV
Separa datos, interfaz de usuario y lógica de control:
★
Model → modelo de datos (models.py)
★
View →vistas de datos (views.py): qué
datos se presentan
★
Template → plantillas de páginas
(generalmente archivos HTML): cómo
se presentan los datosEl controlador es el propio framework
Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl
¿Qué hace Django?
Provee una estructura de trabajo bajo el patrón Model Template View
● Mapea objetos Python con la base de datos (ORM)
● Permite diseñar URLs amigables para buscadores (útil para SEO)
● Tiene un sistema de plantillas sencillo para diseñadores
● Genera una interfaz de administración automática
● Dispone de un framework para manejar formularios
● Puede gestionar sesiones de usuario, autenticación, caché, almacenamiento,
sitemaps, internacionalización, etc.
Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl
Django es modular
¿Qué es un MVP?
● Producto mínimo viable es la versión que nos permite lanzar el producto
con el mínimo de features (características) posible pero que siga
entregando el valor agregado de nuestro producto o servicio.
● Nos permite aprender información relevante de su lanzamiento y uso de
los usuarios mediante una serie de métricas.
● Tratamos de comprobar si los early adopter estan dispuestos a pagar por
nuestra solución a su problema y si entregamos el producto o servicio
adecuado?
Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl
¿Qué necesito para crear un MVP?
1. Tener una idea
2. Aterrizar tu idea
3. Establece un plazo
4. Evita perfecciones
5. Lanza rápido
6. Analiza tus feedback
Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl
¿Qué es FindFounders.com?
● Es una plataforma que permite encontrar socios de negocios o
inversionistas. Donde publicas tu aviso/oferta y esta puede ser
respondida por los usuarios de la plataforma.
● Stack
○ Django Framework
○ PostgreSQL y Redis
○ Digital Ocean (ubuntu)
● Tiempo : 1 mes - Tiempo promedio para un MVP
Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl
ORM - Simpleza en la BD
Es una herramienta que te permite realizar consultas SQL a la Base de
Datos, SIN UTILIZAR SQL, ¿Cómo es eso?, un ejemplo:
Sin ORM:
SELECT * FROM “autores_autor” INNER JOIN “autor_libro” ON (“autores_autor”.”id” = “autores_libro”.”autor_id”)
INNER JOIN “autores_libro_librerias” ON (“autores_libro”.”id” = “autores_libro_librerias”.”libro_id”)
INNER JOIN “autores_libreria” ON (“autores_libro_librerias”.”libreria_id” = “autores_libreria”.”id”) WHERE “autores_libreria”.”
nombre” = “La Cultura”
Con ORM:
Autor.objects.filter(libros__libreria__nombre = “La Cultura”)
Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl
Las Migraciones - Modelos DB
Las migraciones son cómo almacena Django cambios a sus modelos (y por
tanto el esquema de base de datos)
Son simplemente los archivos en el disco. Puedes leer la migración para su
nuevo modelo si se quiere; que es el archivo app/migrations/0001_initial.py .
Cada cambio en la DB genera un archivo de migracion solo para la app
correspondiente, permitiendo tener un historial, hacer rollback, corregir
errores, etc.
Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl
VISTAS - Todo es Python
“Django es un framework web de alto nivel”
Eso está muy claro en la definición, pero ahora agregaremos algo:
“Django es un framework web de alto nivel escrito en Python”.
Gracias a esto Django hereda todas las características y facilidades
que nos da Python, entre ellas escribir código bastante fácil de
entender, y sobre todo te permite desarrollar aplicaciones muy
rápidas y potentes.
Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl
Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl
Modular
El ser modular permite trabajar tu aplicación de forma escalable
Permite que FindFounders pueda sumar mejoras constantemente.
Al ser modular se pueden integrar apps externas que apoyen el proyecto
Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl
pip install unipath # Para manejar referencias de directorios dentro del proyecto
pip install Celery # Para manejar tareas en segundo plano
pip install djangorestframework # Para crear api rest con django
Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl
Cada Apps es un módulo
del proyecto.
Funcionan como un
ecosistema independiente lo
que permite al equipo
trabajar en funciones
distintas de forma ordenada.
Ejemplo: FindFounders
Sistema de Cache
Otra integración fundamental es Redis
Un sistema de caché permite que el impacto a tu
sistema y/o DB se vean disminuidos.
Menos consultas a la base de datos, ya que la data se
almacena temporalmente en una db secundaria
Ideal para chat, notificaciones, o muestra de data sin
cambios frecuentes.
Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl
Deploy
Recomiendo 100% Digital Ocean para MVP
También puedes usar Heroku, Openshift, etc.
Consejo : No sean RATAS! son solo 5USD
FindFounders esta en Digital Ocean, de esta
forma tengo una infraestructura estable mientras
dura mi etapa de MVP
Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl
Consejos Finales
Si tienen una idea que no te detenga el diseño.
El mejor feedback es el de tus propios clientes.
Aterriza tu proyecto, hazlo simple para un tiempo razonable.
Que el lenguaje no te limite: Usa lo que mejor manejes.
Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl
www.kevinzelada.cl
Ya sabes lo necesario para crear tu MVP

More Related Content

Similar to Charla - MVP con django (beta beers)

De idea a mvp, drupal para emprendedores
De idea a mvp, drupal para emprendedoresDe idea a mvp, drupal para emprendedores
De idea a mvp, drupal para emprendedoresIván Campaña Naranjo
 
Precentacion sobre clourd computer
Precentacion sobre clourd computerPrecentacion sobre clourd computer
Precentacion sobre clourd computerAna1gonzales
 
Usando azure para escalar tu producto
Usando azure para escalar tu productoUsando azure para escalar tu producto
Usando azure para escalar tu productoMauro Parra-Miranda
 
Seminario herramientas 2.0 para emprendedores y profesionales
Seminario herramientas 2.0 para emprendedores y profesionalesSeminario herramientas 2.0 para emprendedores y profesionales
Seminario herramientas 2.0 para emprendedores y profesionalesArgentina Gestión Inteligente
 
Herramientas para desarrollar rápidamente
Herramientas para desarrollar rápidamenteHerramientas para desarrollar rápidamente
Herramientas para desarrollar rápidamenteCarlos Toxtli
 
Presentación software libre v2
Presentación software libre v2Presentación software libre v2
Presentación software libre v2Kudos S.A.S
 
Frameworks y herramientas de desarrollo ágil para emprendedores y startups
Frameworks y herramientas de desarrollo ágil para emprendedores y startupsFrameworks y herramientas de desarrollo ágil para emprendedores y startups
Frameworks y herramientas de desarrollo ágil para emprendedores y startupsMario Jose Villamizar Cano
 
Buscadores
BuscadoresBuscadores
BuscadoresTensor
 
SPS Madrid 2019 - Eleva tu aplicaciones de PowerApps a otro nivel
SPS Madrid 2019 - Eleva tu aplicaciones de PowerApps a otro nivelSPS Madrid 2019 - Eleva tu aplicaciones de PowerApps a otro nivel
SPS Madrid 2019 - Eleva tu aplicaciones de PowerApps a otro nivelImanol Iza Martin
 
Drupal vs Wordpress
Drupal vs WordpressDrupal vs Wordpress
Drupal vs WordpressLa Drupalera
 
UBERCART UTVT E4
UBERCART UTVT E4UBERCART UTVT E4
UBERCART UTVT E4IsviLerma
 
Re evolución robótica
Re evolución robóticaRe evolución robótica
Re evolución robóticaSoftware Guru
 
Guía de plataformas Intranet corporativas (Enterprise Social Software)
Guía de plataformas Intranet corporativas (Enterprise Social Software)Guía de plataformas Intranet corporativas (Enterprise Social Software)
Guía de plataformas Intranet corporativas (Enterprise Social Software)Good Rebels
 
Dame una API y movere al mundo
Dame una API y movere al mundoDame una API y movere al mundo
Dame una API y movere al mundopablomarti89
 
Gestión de Proyectos Web - La labor del Coordinador - Wordpress Irún
Gestión de Proyectos Web - La labor del Coordinador - Wordpress IrúnGestión de Proyectos Web - La labor del Coordinador - Wordpress Irún
Gestión de Proyectos Web - La labor del Coordinador - Wordpress IrúnJorge González Revilla
 
Construcción de un siti web
Construcción de un siti webConstrucción de un siti web
Construcción de un siti webmascorroale
 
BancaCivica.es: Un caso de éxito Drupal en el sector bancario
BancaCivica.es: Un caso de éxito Drupal en el sector bancarioBancaCivica.es: Un caso de éxito Drupal en el sector bancario
BancaCivica.es: Un caso de éxito Drupal en el sector bancarioDavid Gil Sánchez
 

Similar to Charla - MVP con django (beta beers) (20)

De idea a mvp, drupal para emprendedores
De idea a mvp, drupal para emprendedoresDe idea a mvp, drupal para emprendedores
De idea a mvp, drupal para emprendedores
 
Front
FrontFront
Front
 
Precentacion sobre clourd computer
Precentacion sobre clourd computerPrecentacion sobre clourd computer
Precentacion sobre clourd computer
 
Usando azure para escalar tu producto
Usando azure para escalar tu productoUsando azure para escalar tu producto
Usando azure para escalar tu producto
 
Seminario herramientas 2.0 para emprendedores y profesionales
Seminario herramientas 2.0 para emprendedores y profesionalesSeminario herramientas 2.0 para emprendedores y profesionales
Seminario herramientas 2.0 para emprendedores y profesionales
 
Herramientas para desarrollar rápidamente
Herramientas para desarrollar rápidamenteHerramientas para desarrollar rápidamente
Herramientas para desarrollar rápidamente
 
Presentación software libre v2
Presentación software libre v2Presentación software libre v2
Presentación software libre v2
 
Frameworks y herramientas de desarrollo ágil para emprendedores y startups
Frameworks y herramientas de desarrollo ágil para emprendedores y startupsFrameworks y herramientas de desarrollo ágil para emprendedores y startups
Frameworks y herramientas de desarrollo ágil para emprendedores y startups
 
Creación de proyectos web con Drupal
Creación de proyectos web con DrupalCreación de proyectos web con Drupal
Creación de proyectos web con Drupal
 
Buscadores
BuscadoresBuscadores
Buscadores
 
SPS Madrid 2019 - Eleva tu aplicaciones de PowerApps a otro nivel
SPS Madrid 2019 - Eleva tu aplicaciones de PowerApps a otro nivelSPS Madrid 2019 - Eleva tu aplicaciones de PowerApps a otro nivel
SPS Madrid 2019 - Eleva tu aplicaciones de PowerApps a otro nivel
 
Drupal vs Wordpress
Drupal vs WordpressDrupal vs Wordpress
Drupal vs Wordpress
 
UBERCART UTVT E4
UBERCART UTVT E4UBERCART UTVT E4
UBERCART UTVT E4
 
Re evolución robótica
Re evolución robóticaRe evolución robótica
Re evolución robótica
 
Guía de plataformas Intranet corporativas (Enterprise Social Software)
Guía de plataformas Intranet corporativas (Enterprise Social Software)Guía de plataformas Intranet corporativas (Enterprise Social Software)
Guía de plataformas Intranet corporativas (Enterprise Social Software)
 
Dame una API y movere al mundo
Dame una API y movere al mundoDame una API y movere al mundo
Dame una API y movere al mundo
 
Gestión de Proyectos Web - La labor del Coordinador - Wordpress Irún
Gestión de Proyectos Web - La labor del Coordinador - Wordpress IrúnGestión de Proyectos Web - La labor del Coordinador - Wordpress Irún
Gestión de Proyectos Web - La labor del Coordinador - Wordpress Irún
 
Web móvil. Desarrollo de Apps y Aplicación en Bibliotecas
Web móvil. Desarrollo de Apps y Aplicación en BibliotecasWeb móvil. Desarrollo de Apps y Aplicación en Bibliotecas
Web móvil. Desarrollo de Apps y Aplicación en Bibliotecas
 
Construcción de un siti web
Construcción de un siti webConstrucción de un siti web
Construcción de un siti web
 
BancaCivica.es: Un caso de éxito Drupal en el sector bancario
BancaCivica.es: Un caso de éxito Drupal en el sector bancarioBancaCivica.es: Un caso de éxito Drupal en el sector bancario
BancaCivica.es: Un caso de éxito Drupal en el sector bancario
 

Recently uploaded

LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 

Recently uploaded (20)

LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 

Charla - MVP con django (beta beers)

  • 2. Emprendedor Tecnológico & Backend Developer mis preferencias son Python/Django & Entusiasta de JavaScript. @kevinzeladacl Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl
  • 3. Empresas & Startups Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl www.appfactory.cl Cofounder Creativo Partner tecnológico de negocios Desarrollamos Web/Mobile Apps www.findfounders.com Cofounder & Developer Plataforma para encontrar socios de negocios e inversionistas. www.primerocotiza.cl CTO Plataforma para cotizar servicios a través de un formulario único
  • 4. Comunidades Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl www.programadores.cl Cofounder & Organizador Red de programadores e informáticos de Chile www.suricataorg.com Cofounder ONG dedicada a entregar un valor agregado a la educación www.kevinzelada.cl Developer Web/Blog personal con tips, articulos, consejos, etc.
  • 5. Caso de ejemplo : FindFounders.com Tema de Charla “Creando un MVP con DJANGO” Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl
  • 6. ¿Qué es Django? Un framework web de alto nivel escrito en Python que fomenta el desarrollo rápido y limpio y el diseño pragmático. Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl
  • 7. ¿Quiénes usan Django? Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl
  • 8. Django es Python ● Python es un lenguaje de script de código abierto. ● Es multiplataforma: Linux, Mac OS X y Windows. ● Es multiparadigma: Funcional y orientado a objetos ● Es muy legible y conciso ● Es interpretado: No necesitamos compilar nuestros programas ● Python es fuertemente tipado pero tiene tipos dinámicos: ○ Una variable puede cambiar de tipo en ejecución pero el tipo se tiene en cuenta para las operaciones Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl
  • 9. Django sigue el principio
  • 10. Sigue el patrón MTV Separa datos, interfaz de usuario y lógica de control: ★ Model → modelo de datos (models.py) ★ View →vistas de datos (views.py): qué datos se presentan ★ Template → plantillas de páginas (generalmente archivos HTML): cómo se presentan los datosEl controlador es el propio framework Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl
  • 11. ¿Qué hace Django? Provee una estructura de trabajo bajo el patrón Model Template View ● Mapea objetos Python con la base de datos (ORM) ● Permite diseñar URLs amigables para buscadores (útil para SEO) ● Tiene un sistema de plantillas sencillo para diseñadores ● Genera una interfaz de administración automática ● Dispone de un framework para manejar formularios ● Puede gestionar sesiones de usuario, autenticación, caché, almacenamiento, sitemaps, internacionalización, etc. Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl
  • 13. ¿Qué es un MVP? ● Producto mínimo viable es la versión que nos permite lanzar el producto con el mínimo de features (características) posible pero que siga entregando el valor agregado de nuestro producto o servicio. ● Nos permite aprender información relevante de su lanzamiento y uso de los usuarios mediante una serie de métricas. ● Tratamos de comprobar si los early adopter estan dispuestos a pagar por nuestra solución a su problema y si entregamos el producto o servicio adecuado? Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl
  • 14. ¿Qué necesito para crear un MVP? 1. Tener una idea 2. Aterrizar tu idea 3. Establece un plazo 4. Evita perfecciones 5. Lanza rápido 6. Analiza tus feedback Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl
  • 15.
  • 16. ¿Qué es FindFounders.com? ● Es una plataforma que permite encontrar socios de negocios o inversionistas. Donde publicas tu aviso/oferta y esta puede ser respondida por los usuarios de la plataforma. ● Stack ○ Django Framework ○ PostgreSQL y Redis ○ Digital Ocean (ubuntu) ● Tiempo : 1 mes - Tiempo promedio para un MVP Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl
  • 17. ORM - Simpleza en la BD Es una herramienta que te permite realizar consultas SQL a la Base de Datos, SIN UTILIZAR SQL, ¿Cómo es eso?, un ejemplo: Sin ORM: SELECT * FROM “autores_autor” INNER JOIN “autor_libro” ON (“autores_autor”.”id” = “autores_libro”.”autor_id”) INNER JOIN “autores_libro_librerias” ON (“autores_libro”.”id” = “autores_libro_librerias”.”libro_id”) INNER JOIN “autores_libreria” ON (“autores_libro_librerias”.”libreria_id” = “autores_libreria”.”id”) WHERE “autores_libreria”.” nombre” = “La Cultura” Con ORM: Autor.objects.filter(libros__libreria__nombre = “La Cultura”) Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl
  • 18. Las Migraciones - Modelos DB Las migraciones son cómo almacena Django cambios a sus modelos (y por tanto el esquema de base de datos) Son simplemente los archivos en el disco. Puedes leer la migración para su nuevo modelo si se quiere; que es el archivo app/migrations/0001_initial.py . Cada cambio en la DB genera un archivo de migracion solo para la app correspondiente, permitiendo tener un historial, hacer rollback, corregir errores, etc. Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl
  • 19. VISTAS - Todo es Python “Django es un framework web de alto nivel” Eso está muy claro en la definición, pero ahora agregaremos algo: “Django es un framework web de alto nivel escrito en Python”. Gracias a esto Django hereda todas las características y facilidades que nos da Python, entre ellas escribir código bastante fácil de entender, y sobre todo te permite desarrollar aplicaciones muy rápidas y potentes. Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl
  • 20. Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl
  • 21. Modular El ser modular permite trabajar tu aplicación de forma escalable Permite que FindFounders pueda sumar mejoras constantemente. Al ser modular se pueden integrar apps externas que apoyen el proyecto Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl pip install unipath # Para manejar referencias de directorios dentro del proyecto pip install Celery # Para manejar tareas en segundo plano pip install djangorestframework # Para crear api rest con django
  • 22. Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl Cada Apps es un módulo del proyecto. Funcionan como un ecosistema independiente lo que permite al equipo trabajar en funciones distintas de forma ordenada. Ejemplo: FindFounders
  • 23. Sistema de Cache Otra integración fundamental es Redis Un sistema de caché permite que el impacto a tu sistema y/o DB se vean disminuidos. Menos consultas a la base de datos, ya que la data se almacena temporalmente en una db secundaria Ideal para chat, notificaciones, o muestra de data sin cambios frecuentes. Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl
  • 24. Deploy Recomiendo 100% Digital Ocean para MVP También puedes usar Heroku, Openshift, etc. Consejo : No sean RATAS! son solo 5USD FindFounders esta en Digital Ocean, de esta forma tengo una infraestructura estable mientras dura mi etapa de MVP Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl
  • 25. Consejos Finales Si tienen una idea que no te detenga el diseño. El mejor feedback es el de tus propios clientes. Aterriza tu proyecto, hazlo simple para un tiempo razonable. Que el lenguaje no te limite: Usa lo que mejor manejes. Tienes una idea puedes contactarme en : www.kevinzelada.cl | www.appfactory.cl | yo@kevinzelada.cl
  • 26. www.kevinzelada.cl Ya sabes lo necesario para crear tu MVP