{"id":14962197,"url":"https://github.com/mouredev/python-web","last_synced_at":"2025-05-14T00:09:58.608Z","repository":{"id":197987186,"uuid":"699806845","full_name":"mouredev/python-web","owner":"mouredev","description":"Curso para aprender desarrollo frontend Web con Python puro desde cero. Elaborado durante las emisiones en directo desde Twitch de MoureDev.","archived":false,"fork":false,"pushed_at":"2025-03-21T18:04:42.000Z","size":27048,"stargazers_count":4158,"open_issues_count":4,"forks_count":217,"subscribers_count":67,"default_branch":"main","last_synced_at":"2025-04-10T13:11:14.379Z","etag":null,"topics":["api-rest","chackra-ui","css","docker","frontend","github-actions","postgresql","pynecone","python","python3","radix-ui","railway","react","reflex","supabase","tailwindcss","tutorial","vercel","web","website"],"latest_commit_sha":null,"homepage":"https://moure.dev","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mouredev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-10-03T11:35:14.000Z","updated_at":"2025-04-10T10:08:51.000Z","dependencies_parsed_at":"2024-09-17T14:05:52.418Z","dependency_job_id":"93fa4989-7785-4bb0-8baf-baeb922b413b","html_url":"https://github.com/mouredev/python-web","commit_stats":{"total_commits":214,"total_committers":2,"mean_commits":107.0,"dds":0.05607476635514019,"last_synced_commit":"11ab99ddcdcff3061cd8d7c6c68a8f1f638aff3d"},"previous_names":["mouredev/python-web"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mouredev%2Fpython-web","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mouredev%2Fpython-web/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mouredev%2Fpython-web/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mouredev%2Fpython-web/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mouredev","download_url":"https://codeload.github.com/mouredev/python-web/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254044238,"owners_count":22005108,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-rest","chackra-ui","css","docker","frontend","github-actions","postgresql","pynecone","python","python3","radix-ui","railway","react","reflex","supabase","tailwindcss","tutorial","vercel","web","website"],"created_at":"2024-09-24T13:29:40.504Z","updated_at":"2025-05-14T00:09:53.597Z","avatar_url":"https://github.com/mouredev.png","language":"HTML","readme":"# Python Web\n\n[![Python](https://img.shields.io/badge/Python-3.12+-yellow?style=for-the-badge\u0026logo=python\u0026logoColor=white\u0026labelColor=101010)](https://python.org)\n[![Reflex](https://img.shields.io/badge/Reflex-0.7.2+-5646ED?style=for-the-badge\u0026logo=reflex\u0026logoColor=white\u0026labelColor=101010)](https://reflex.dev)\n\n## Curso de 13 horas en vídeo para aprender desarrollo web con Python puro y Reflex desde cero.\n\n![](./Images/header.jpg)\n\n### Proyecto realizado durante emisiones en directo desde [Twitch](https://twitch.tv/mouredev)\n\u003e ##### Si consideras útil el curso, apóyalo haciendo \"★ Star\" en el repositorio. ¡Gracias!\n\n## Sobre el curso: muy importante\n\nDesde 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`.\n\nEjemplo:\n\n```\nimport reflex as rx\nrx.button() # Ahora este será el botón de Radix\nrx.chakra.button() # Anterior botón de Chakra\n```\n\nAquí 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.\n\n## Curso de Python Web: Tutorial en vídeo\n\n\u003ca href=\"https://youtu.be/n2YrGsXJC6Y\"\u003e\u003cimg src=\"http://i3.ytimg.com/vi/n2YrGsXJC6Y/maxresdefault.jpg\" style=\"height: 50%; width:50%;\"/\u003e\u003c/a\u003e\n\n- [Curso de Python Web](https://youtu.be/n2YrGsXJC6Y)\n- [Lección 1 - Introducción](https://youtu.be/n2YrGsXJC6Y\u0026t=272)\n- [Lección 2 - Características](https://youtu.be/n2YrGsXJC6Y\u0026t=1147)\n- [Lección 3 - Instalación](https://youtu.be/n2YrGsXJC6Y\u0026t=1551)\n- [Lección 4 - Primeros pasos](https://youtu.be/n2YrGsXJC6Y\u0026t=3043)\n- [Lección 5 - Fundamentos](https://youtu.be/n2YrGsXJC6Y\u0026t=3442)\n- [Lección 6 - Hola mundo](https://youtu.be/n2YrGsXJC6Y\u0026t=4259)\n- [Lección 7 - Componentes](https://youtu.be/n2YrGsXJC6Y\u0026t=4593)\n- [Lección 8 - Maquetación](https://youtu.be/n2YrGsXJC6Y\u0026t=6805)\n- [Lección 9 - Estilos](https://youtu.be/n2YrGsXJC6Y\u0026t=9190)\n- [Lección 10 - Colores e iconos](https://youtu.be/n2YrGsXJC6Y\u0026t=13807)\n- [Lección 11 - Fuentes](https://youtu.be/n2YrGsXJC6Y\u0026t=15124)\n- [Lección 12 - Imágenes](https://youtu.be/n2YrGsXJC6Y\u0026t=16249)\n- [Lección 13 - Fuentes remotas](https://youtu.be/n2YrGsXJC6Y\u0026t=17505)\n- [Lección 14 - Diseño responsive](https://youtu.be/n2YrGsXJC6Y\u0026t=18225)\n- [Lección 15 - Accesibilidad](https://youtu.be/n2YrGsXJC6Y\u0026t=19058)\n- [Lección 16 - Despliegue](https://youtu.be/n2YrGsXJC6Y\u0026t=19283)\n- [Próximos pasos](https://youtu.be/n2YrGsXJC6Y\u0026t=20892)\n\n\u003e Tienes un canal llamado **\"python\"** en el servidor de **[Discord](https://mouredev.com/discord)** de la comunidad para preguntar, compartir y ayudar.\n\n## Curso de Python Web Avanzado: Tutorial en vídeo\n\n\u003ca href=\"https://youtu.be/bNy8OZJfA6I\"\u003e\u003cimg src=\"http://i3.ytimg.com/vi/bNy8OZJfA6I/maxresdefault.jpg\" style=\"height: 50%; width:50%;\"/\u003e\u003c/a\u003e\n\n- [Curso de Python Web avanzado](https://youtu.be/bNy8OZJfA6I)\n- [Lección 1 - Refactorización](https://youtu.be/bNy8OZJfA6I\u0026t=212)\n- [Lección 2 - Actualización datos](https://youtu.be/bNy8OZJfA6I\u0026t=716)\n- [Lección 3 - Router](https://youtu.be/bNy8OZJfA6I\u0026t=1181)\n- [Lección 4 - Componentes React](https://youtu.be/bNy8OZJfA6I\u0026t=2945)\n- [Lección 5 - Hosting nativo](https://youtu.be/bNy8OZJfA6I\u0026t=3843)\n- [Lección 6 - Backend](https://youtu.be/bNy8OZJfA6I\u0026t=4032)\n- [Lección 7 - Docker](https://youtu.be/bNy8OZJfA6I\u0026t=4789)\n- [Lección 8 - CORS](https://youtu.be/bNy8OZJfA6I\u0026t=6801)\n- [Lección 9 - GitHub Actions](https://youtu.be/bNy8OZJfA6I\u0026t=7344)\n- [Lección 10 - Infraestructura](https://youtu.be/bNy8OZJfA6I\u0026t=8013)\n- [Lección 11 - API](https://youtu.be/bNy8OZJfA6I\u0026t=8234)\n- [Lección 12 - Estados](https://youtu.be/bNy8OZJfA6I\u0026t=8768)\n- [Lección 13 - Integración API](https://youtu.be/bNy8OZJfA6I\u0026t=9190)\n- [Lección 14 - Datos en tiempo real](https://youtu.be/bNy8OZJfA6I\u0026t=12429)\n- [Lección 15 - Supabase y PostgreSQL](https://youtu.be/bNy8OZJfA6I\u0026t=13743)\n- [Lección 16 - JSON serializable](https://youtu.be/bNy8OZJfA6I\u0026t=15853)\n- [Lección 17 - Base de datos](https://youtu.be/bNy8OZJfA6I\u0026t=16693)\n- [Lección 18 - Feature flags](https://youtu.be/bNy8OZJfA6I\u0026t=18045)\n- [Lección 19 - Query PostgreSQL](https://youtu.be/bNy8OZJfA6I\u0026t=19002)\n- [Lección 20 - Cálculo de fechas](https://youtu.be/bNy8OZJfA6I\u0026t=19275)\n- [Lección 21 - Migración RadixUI](https://youtu.be/bNy8OZJfA6I\u0026t=21284)\n- [Lección 22 - Carga de datos](https://youtu.be/bNy8OZJfA6I\u0026t=22745)\n- [Lección 23 - Cliente / Servidor](https://youtu.be/bNy8OZJfA6I\u0026t=23061)\n- [Lección 24 - Animaciones](https://youtu.be/bNy8OZJfA6I\u0026t=23611)\n- [Lección 25 - Otras características](https://youtu.be/bNy8OZJfA6I\u0026t=23877)\n- [Próximos pasos](https://youtu.be/bNy8OZJfA6I\u0026t=24438)\n\n## Proyecto\n\n\u003ca href=\"https://moure.dev\"\u003e\u003cimg src=\"./Images/web.png\" style=\"height: 50%; width:50%;\"/\u003e\u003c/a\u003e\n\u003ca href=\"./link_bio\"\u003e\u003cimg src=\"./Images/web.gif\" style=\"height: 50%; width:50%;\"/\u003e\u003c/a\u003e\n\nDurante 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).\nTodo el código está disponible para que cualquiera pueda usarlo.\n\n### 💻 [Accede al código del proyecto](./link_bio)\n\n## Tutorial extra en vídeo (+3 horas)\n\n\u003ca href=\"https://youtu.be/h8Tn0ITRoQs\"\u003e\u003cimg src=\"http://i3.ytimg.com/vi/h8Tn0ITRoQs/maxresdefault.jpg\" style=\"height: 50%; width:50%;\"/\u003e\u003c/a\u003e\n\nProyecto 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.\n\n### 💻 [Accede al código del proyecto extra](https://github.com/mouredev/adeviento-web)\n\n## Otros proyectos creadas con Reflex\n\nEstas son otras webs de código libre que he desarrollado para que puedas consultar su código y funcionalidades.\n\n[![Curso Python](https://img.shields.io/github/stars/mouredev/adeviento-web?label=Calendario%20de%20aDEViento\u0026style=social)](https://github.com/mouredev/adeviento-web)\n\n[![Curso Python](https://img.shields.io/github/stars/mouredev/retos-programacion-web?label=Retos%20de%20programación\u0026style=social)](https://github.com/mouredev/retos-programacion-web)\n\n[![Curso Python](https://img.shields.io/github/stars/mouredev/hola-mundo-day-web?label=Hola%20Mundo%20day\u0026style=social)](https://github.com/mouredev/hola-mundo-day-web)\n\n[![Curso Python](https://img.shields.io/github/stars/mouredev/portafolio-template?label=Portafolio\u0026style=social)](https://github.com/mouredev/portafolio-template)\n\n## Información importante y preguntas frecuentes\n\nTodo 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.\n\n* Es un curso desde cero y no necesitas conocimientos previos sobre desarrollo web.\n* Recuerda que he creado en el [Discord](https://discord.gg/mouredev) un canal \"🐍python\" para que puedas comentar lo que quieras.\n\n## Enlaces de interés\n\n* [Web oficial de Python](https://www.python.org/)\n* [Web oficial de Reflex](https://reflex.dev/)\n* [Documentación oficial de Reflex](https://reflex.dev/docs/)\n* [Repositorio en GitHub de Reflex](https://github.com/reflex-dev/reflex)\n* [Visual Studio Code](https://vscode.dev/)\n* [Documentación CSS](https://www.w3schools.com/css/)\n* [Curso de CSS](https://web.dev/learn/css/)\n* [Chakra UI](https://chakra-ui.com/)\n* [Google Fonts](https://fonts.google.com/)\n* [Font Awesome](https://fontawesome.com/)\n* [Vercel](https://vercel.com/)\n* [Radix UI](https://www.radix-ui.com/)\n* [Ant Design](https://ant.design/)\n* [Railway](https://railway.app/)\n* [Twitch API](https://dev.twitch.tv/docs/api/)\n* [Supabase](https://supabase.com/)\n* [ConfigCat](https://configcat.com/)\n\n## Curso de Python desde cero\n### Aprende Python desde sus fundamentos\n\n\u003ca href=\"https://github.com/mouredev/hello-python\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/mouredev/Hello-Python/main/Images/header.jpg\"/\u003e\u003c/a\u003e\n\nSi 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.\n\n[![Curso Python](https://img.shields.io/github/stars/mouredev/hello-python?label=Curso%20Python%20desde%20cero\u0026style=social)](https://github.com/mouredev/hello-python)\n\n## Únete al campus de programación de la comunidad\n\n![https://mouredev.pro](./Images/pro.jpg)\n\n#### 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.\n\n\u003e **¿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.\n\u003e \n\u003e Entra en **[mouredev.pro](https://mouredev.pro)** y utiliza el cupón **\"PRO\"** con un 10% de descuento en tu primera suscripción.\n\n## ![https://mouredev.com](https://raw.githubusercontent.com/mouredev/mouredev/master/mouredev_emote.png) Hola, mi nombre es Brais Moure.\n### Freelance full-stack iOS \u0026 Android engineer\n\n[![YouTube Channel Subscribers](https://img.shields.io/youtube/channel/subscribers/UCxPD7bsocoAMq8Dj18kmGyQ?style=social)](https://youtube.com/mouredevapps?sub_confirmation=1)\n[![Twitch Status](https://img.shields.io/twitch/status/mouredev?style=social)](https://twitch.com/mouredev)\n[![Discord](https://img.shields.io/discord/729672926432985098?style=social\u0026label=Discord\u0026logo=discord)](https://mouredev.com/discord)\n[![Twitter Follow](https://img.shields.io/twitter/follow/mouredev?style=social)](https://twitter.com/mouredev)\n![GitHub Followers](https://img.shields.io/github/followers/mouredev?style=social)\n![GitHub Followers](https://img.shields.io/github/stars/mouredev?style=social)\n\nSoy 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)**.\n\nSi quieres unirte a nuestra comunidad de desarrollo, aprender programación, mejorar tus habilidades y ayudar a la continuidad del proyecto, puedes encontrarnos en:\n\n[![Twitch](https://img.shields.io/badge/Twitch-Programación_en_directo-9146FF?style=for-the-badge\u0026logo=twitch\u0026logoColor=white\u0026labelColor=101010)](https://twitch.tv/mouredev)\n[![Discord](https://img.shields.io/badge/Discord-Servidor_de_la_comunidad-5865F2?style=for-the-badge\u0026logo=discord\u0026logoColor=white\u0026labelColor=101010)](https://mouredev.com/discord) [![Pro](https://img.shields.io/badge/Cursos-mouredev.pro-FF5500?style=for-the-badge\u0026logo=gnometerminal\u0026logoColor=white\u0026labelColor=101010)](https://moure.dev)\n[![Link](https://img.shields.io/badge/Links_de_interés-moure.dev-14a1f0?style=for-the-badge\u0026logo=Linktree\u0026logoColor=white\u0026labelColor=101010)](https://moure.dev) [![Web](https://img.shields.io/badge/GitHub-MoureDev-087ec4?style=for-the-badge\u0026logo=github\u0026logoColor=white\u0026labelColor=101010)](https://github.com/mouredev)\n","funding_links":[],"categories":["前端开发框架及项目"],"sub_categories":["前端项目_其他"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmouredev%2Fpython-web","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmouredev%2Fpython-web","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmouredev%2Fpython-web/lists"}