# Python Web [![Python](https://img.shields.io/badge/Python-3.12+-yellow?style=for-the-badge&logo=python&logoColor=white&labelColor=101010)](https://python.org) [![Reflex](https://img.shields.io/badge/Reflex-0.7.14+-5646ED?style=for-the-badge&logo=reflex&logoColor=white&labelColor=101010)](https://reflex.dev) ## Curso de 13 horas en vídeo para aprender desarrollo web con Python puro y Reflex desde cero. ![](./Images/header.jpg) ### Proyecto realizado durante emisiones en directo desde [Twitch](https://twitch.tv/mouredev) > ##### Si consideras útil el curso, apóyalo haciendo "★ Star" en el repositorio. ¡Gracias! ## Sobre el curso: muy importante Desde la versión 0.4.0, Reflex utiliza [Radix](https://www.radix-ui.com/) (en vez de [Chakra](https://chakra-ui.com/)) como sistema de componentes de UI. Ten en cuenta la versión que usas del framework, ya que algunos elementos han podido cambiar ligeramente. Te recomiendo que revises el [código](./link_bio) del proyecto original actualizado. A partir de la versión 0.4.0, todos los componentes de Chakra estarán en `rx.chakra`. Ejemplo: ``` import reflex as rx rx.button() # Ahora este será el botón de Radix rx.chakra.button() # Anterior botón de Chakra ``` Aquí tienes [un artículo](https://reflex.dev/blog/2024-02-16-reflex-v0.4.0) con toda la información sobre la nueva versión. ## Curso de Python Web: Tutorial en vídeo - [Curso de Python Web](https://youtu.be/n2YrGsXJC6Y) - [Lección 1 - Introducción](https://youtu.be/n2YrGsXJC6Y&t=272) - [Lección 2 - Características](https://youtu.be/n2YrGsXJC6Y&t=1147) - [Lección 3 - Instalación](https://youtu.be/n2YrGsXJC6Y&t=1551) - [Lección 4 - Primeros pasos](https://youtu.be/n2YrGsXJC6Y&t=3043) - [Lección 5 - Fundamentos](https://youtu.be/n2YrGsXJC6Y&t=3442) - [Lección 6 - Hola mundo](https://youtu.be/n2YrGsXJC6Y&t=4259) - [Lección 7 - Componentes](https://youtu.be/n2YrGsXJC6Y&t=4593) - [Lección 8 - Maquetación](https://youtu.be/n2YrGsXJC6Y&t=6805) - [Lección 9 - Estilos](https://youtu.be/n2YrGsXJC6Y&t=9190) - [Lección 10 - Colores e iconos](https://youtu.be/n2YrGsXJC6Y&t=13807) - [Lección 11 - Fuentes](https://youtu.be/n2YrGsXJC6Y&t=15124) - [Lección 12 - Imágenes](https://youtu.be/n2YrGsXJC6Y&t=16249) - [Lección 13 - Fuentes remotas](https://youtu.be/n2YrGsXJC6Y&t=17505) - [Lección 14 - Diseño responsive](https://youtu.be/n2YrGsXJC6Y&t=18225) - [Lección 15 - Accesibilidad](https://youtu.be/n2YrGsXJC6Y&t=19058) - [Lección 16 - Despliegue](https://youtu.be/n2YrGsXJC6Y&t=19283) - [Próximos pasos](https://youtu.be/n2YrGsXJC6Y&t=20892) > Tienes un canal llamado **"python"** en el servidor de **[Discord](https://mouredev.com/discord)** de la comunidad para preguntar, compartir y ayudar. ## Curso de Python Web Avanzado: Tutorial en vídeo - [Curso de Python Web avanzado](https://youtu.be/bNy8OZJfA6I) - [Lección 1 - Refactorización](https://youtu.be/bNy8OZJfA6I&t=212) - [Lección 2 - Actualización datos](https://youtu.be/bNy8OZJfA6I&t=716) - [Lección 3 - Router](https://youtu.be/bNy8OZJfA6I&t=1181) - [Lección 4 - Componentes React](https://youtu.be/bNy8OZJfA6I&t=2945) - [Lección 5 - Hosting nativo](https://youtu.be/bNy8OZJfA6I&t=3843) - [Lección 6 - Backend](https://youtu.be/bNy8OZJfA6I&t=4032) - [Lección 7 - Docker](https://youtu.be/bNy8OZJfA6I&t=4789) - [Lección 8 - CORS](https://youtu.be/bNy8OZJfA6I&t=6801) - [Lección 9 - GitHub Actions](https://youtu.be/bNy8OZJfA6I&t=7344) - [Lección 10 - Infraestructura](https://youtu.be/bNy8OZJfA6I&t=8013) - [Lección 11 - API](https://youtu.be/bNy8OZJfA6I&t=8234) - [Lección 12 - Estados](https://youtu.be/bNy8OZJfA6I&t=8768) - [Lección 13 - Integración API](https://youtu.be/bNy8OZJfA6I&t=9190) - [Lección 14 - Datos en tiempo real](https://youtu.be/bNy8OZJfA6I&t=12429) - [Lección 15 - Supabase y PostgreSQL](https://youtu.be/bNy8OZJfA6I&t=13743) - [Lección 16 - JSON serializable](https://youtu.be/bNy8OZJfA6I&t=15853) - [Lección 17 - Base de datos](https://youtu.be/bNy8OZJfA6I&t=16693) - [Lección 18 - Feature flags](https://youtu.be/bNy8OZJfA6I&t=18045) - [Lección 19 - Query PostgreSQL](https://youtu.be/bNy8OZJfA6I&t=19002) - [Lección 20 - Cálculo de fechas](https://youtu.be/bNy8OZJfA6I&t=19275) - [Lección 21 - Migración RadixUI](https://youtu.be/bNy8OZJfA6I&t=21284) - [Lección 22 - Carga de datos](https://youtu.be/bNy8OZJfA6I&t=22745) - [Lección 23 - Cliente / Servidor](https://youtu.be/bNy8OZJfA6I&t=23061) - [Lección 24 - Animaciones](https://youtu.be/bNy8OZJfA6I&t=23611) - [Lección 25 - Otras características](https://youtu.be/bNy8OZJfA6I&t=23877) - [Próximos pasos](https://youtu.be/bNy8OZJfA6I&t=24438) ## Proyecto Durante el curso aprenderemos desarrollo web con Python puro utilizando el framework [Reflex](https://github.com/reflex-dev/reflex). Realizaremos un proyecto práctico que consistirá en desarrollar y publicar mi nueva web de links [moure.dev](https://moure.dev/) (añadiéndole nuevas funcionalidades). Todo el código está disponible para que cualquiera pueda usarlo. ### 💻 [Accede al código del proyecto](./link_bio) ## Tutorial extra en vídeo (+3 horas) Proyecto práctico extra de código libre que consistirá en desarrollar y publicar la web del [Calendario de aDEViento](https://adviento.dev/) de la comunidad. Una activdad donde repartimos cursos y libros sobre programación en Navidad. ### 💻 [Accede al código del proyecto extra](https://github.com/mouredev/adeviento-web) ## Otros proyectos creadas con Reflex Estas son otras webs de código libre que he desarrollado para que puedas consultar su código y funcionalidades. [![Curso Python](https://img.shields.io/github/stars/mouredev/adeviento-web?label=Calendario%20de%20aDEViento&style=social)](https://github.com/mouredev/adeviento-web) [![Curso Python](https://img.shields.io/github/stars/mouredev/retos-programacion-web?label=Retos%20de%20programación&style=social)](https://github.com/mouredev/retos-programacion-web) [![Curso Python](https://img.shields.io/github/stars/mouredev/hola-mundo-day-web?label=Hola%20Mundo%20day&style=social)](https://github.com/mouredev/hola-mundo-day-web) [![Curso Python](https://img.shields.io/github/stars/mouredev/portafolio-template?label=Portafolio&style=social)](https://github.com/mouredev/portafolio-template) ## Información importante y preguntas frecuentes Todo el contenido se ha creado en directo desde [Twitch](https://www.twitch.tv/mouredev), y en este repositorio podrás encontrar las clases en vídeo, el código programado, enlaces de interés y la información relevante. * Es un curso desde cero y no necesitas conocimientos previos sobre desarrollo web. * Recuerda que he creado en el [Discord](https://discord.gg/mouredev) un canal "🐍python" para que puedas comentar lo que quieras. ## Enlaces de interés * [Web oficial de Python](https://www.python.org/) * [Web oficial de Reflex](https://reflex.dev/) * [Documentación oficial de Reflex](https://reflex.dev/docs/) * [Repositorio en GitHub de Reflex](https://github.com/reflex-dev/reflex) * [Visual Studio Code](https://vscode.dev/) * [Documentación CSS](https://www.w3schools.com/css/) * [Curso de CSS](https://web.dev/learn/css/) * [Chakra UI](https://chakra-ui.com/) * [Google Fonts](https://fonts.google.com/) * [Font Awesome](https://fontawesome.com/) * [Vercel](https://vercel.com/) * [Radix UI](https://www.radix-ui.com/) * [Ant Design](https://ant.design/) * [Railway](https://railway.app/) * [Twitch API](https://dev.twitch.tv/docs/api/) * [Supabase](https://supabase.com/) * [ConfigCat](https://configcat.com/) ## Curso de Python desde cero ### Aprende Python desde sus fundamentos Si quieres aprender desde cero, tienes gratis todos los tutoriales que he creado. Más de 44 horas desde fundamentos, frontend, backend o integración con IA. [![Curso Python](https://img.shields.io/github/stars/mouredev/hello-python?label=Curso%20Python%20desde%20cero&style=social)](https://github.com/mouredev/hello-python) ## Únete al campus de programación de la comunidad ![https://mouredev.pro](./Images/pro.jpg) #### Te presento [mouredev pro](https://mouredev.pro), mi proyecto más importante para ayudarte a estudiar programación y desarrollo de software de manera diferente. > **¿Buscas un extra?** Aquí encontrarás mis cursos editados por lecciones individuales, para avanzar a tu ritmo y guardar el progreso. También dispondrás de ejercicios y correcciones, test para validar tus conocimientos, examen y certificado público de finalización, soporte, foro de estudiantes, reunionnes grupales, cursos exclusivos y mucho más. > > Entra en **[mouredev.pro](https://mouredev.pro)** y utiliza el cupón **"PRO"** con un 10% de descuento en tu primera suscripción. ## ![https://mouredev.com](https://raw.githubusercontent.com/mouredev/mouredev/master/mouredev_emote.png) Hola, mi nombre es Brais Moure. ### Freelance full-stack iOS & Android engineer [![YouTube Channel Subscribers](https://img.shields.io/youtube/channel/subscribers/UCxPD7bsocoAMq8Dj18kmGyQ?style=social)](https://youtube.com/mouredevapps?sub_confirmation=1) [![Twitch Status](https://img.shields.io/twitch/status/mouredev?style=social)](https://twitch.com/mouredev) [![Discord](https://img.shields.io/discord/729672926432985098?style=social&label=Discord&logo=discord)](https://mouredev.com/discord) [![Twitter Follow](https://img.shields.io/twitter/follow/mouredev?style=social)](https://twitter.com/mouredev) ![GitHub Followers](https://img.shields.io/github/followers/mouredev?style=social) ![GitHub Followers](https://img.shields.io/github/stars/mouredev?style=social) Soy ingeniero de software desde 2010. Desde 2018 combino mi trabajo desarrollando Apps con la creación de contenido formativo sobre programación y tecnología en diferentes redes sociales como **[@mouredev](https://moure.dev)**. Si quieres unirte a nuestra comunidad de desarrollo, aprender programación, mejorar tus habilidades y ayudar a la continuidad del proyecto, puedes encontrarnos en: [![Twitch](https://img.shields.io/badge/Twitch-Programación_en_directo-9146FF?style=for-the-badge&logo=twitch&logoColor=white&labelColor=101010)](https://twitch.tv/mouredev) [![Discord](https://img.shields.io/badge/Discord-Servidor_de_la_comunidad-5865F2?style=for-the-badge&logo=discord&logoColor=white&labelColor=101010)](https://mouredev.com/discord) [![Pro](https://img.shields.io/badge/Cursos-mouredev.pro-FF5500?style=for-the-badge&logo=gnometerminal&logoColor=white&labelColor=101010)](https://moure.dev) [![Link](https://img.shields.io/badge/Links_de_interés-moure.dev-14a1f0?style=for-the-badge&logo=Linktree&logoColor=white&labelColor=101010)](https://moure.dev) [![Web](https://img.shields.io/badge/GitHub-MoureDev-087ec4?style=for-the-badge&logo=github&logoColor=white&labelColor=101010)](https://github.com/mouredev)