GithubHelp home page GithubHelp logo

aguslov / adeviento-web Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mouredev/adeviento-web

0.0 0.0 0.0 4.94 MB

Proyecto web asociado al "Calendario de aDEViento" de la comunidad. Una actividad en la que del 1 al 24 de diciembre se sortea un regalo relacionado con el aprendizaje de programación y desarrollo de software.

Home Page: https://adviento.dev

License: Apache License 2.0

Shell 0.11% JavaScript 27.93% Python 14.34% HTML 57.63%

adeviento-web's Introduction

Calendario de aDEViento Web

Python Reflex NES.css Vercel

Proyecto web "Calendario de aDEViento" con Python puro y Reflex

https://adviento.dev

El "Calendario de aDEViento" es una actividad en la que cada día (durante el adviento) se sortea un regalo relacionado con programación y desarrollo de software (libros, cursos…). Su finalidad es ayudar a compartir conocimiento y fomentar el aprendizaje en comunidad.

Desarrollo realizado en directo desde Twitch

Si consideras útil el proyecto, apóyalo haciendo "★ Star" en el repositorio. ¡Gracias!

Tutorial en vídeo

Tienes un canal llamado "python" en el servidor de Discord de la comunidad para preguntar, compartir y ayudar.

Proyecto

Esta es la estructura general del proyecto.

  • adeviento_web: código fuente principal
    • adeviento_web.py: index del sitio web
    • constants.py: constantes utilizadas en el sitio
    • styles: directorio de estilos (css, colores y fuentes)
    • views: directorio de vistas (secciones gráficas)
    • components: directorio de componentes (elementos gráficos con menor entidad que una vista)
  • assets: recursos gráficos y utilidades JavaScript (nive y cuenta atrás)
  • rxconfig.py: configuración principal del proyecto (por defecto)
  • requirements.txt: dependencias del proyecto para su ejecución
  • assets: recursos gráficos y utilidades JavaScript (nive y cuenta atrás)
  • build.sh: script de generación estática de la web para producción
  • [generado] public: empaquetado estático del proyecto que se despliega en producción (HTML, CSS, JS e imágenes)

Configuración en local

  1. Haz un Fork del repositorio.

  2. Clona ese repositorio en tu máquina local.

    git clone https://github.com/<USERNAME>/adeviento-web.git
  3. Navega al directorio del proyecto.

    cd adeviento
  4. Crea un entorno virtual.

    python3 -m venv venv
  5. Activa el entorno virtual.

    source venv/bin/activate
  6. Instala las dependencias.

    python -m pip install -r requirements.txt
  7. Inicializa el proyecto de Reflex.

    reflex init
  8. Ejecuta el proyecto en local.

    reflex run

    Podrás acceder a él entrando en la url http://localhost:3000/ desde el navegador.

Tienes más la información sobre Reflex en su documentación oficial.

Despliegue

Para realizar el despliegue del proyecto se ha creado un archivo build.sh que se encarga de ejecutar el flujo necesario para generar el directorio public con todos los recursos estáticos que necesita el servidor web.

Todo el proceso de empaquetado para producción podría ser delegado en el servidor, pero el repositorio cuenta siempre con el directorio public para que así puedas revisar el contenido estático de la web sin necesidad de ejecutar el script build.sh.

source .venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
reflex init
reflex export --frontend-only
rm -fr public
unzip frontend.zip -d public
rm -f frontend.zip
deactivate

Básicamente, prepera el entorno, instala dependencias, inicializa el proyecto, crea la construcción de producción, y la descomprime.

El proyecto se puede desplegar en cualquier proveedor o servidor que soporte recursos estáticos.

adviento.dev se encuentra desplegado en Vercel.

Configuración en Vercel:

  • Se ha asociado el repositorio de GitHub al proyecto (para que cada push en la rama main desencadene un nuevo despliegue)
  • Build & Development Settings: Other
  • Root Directory: public (que contiene el empaquetado estático para producción)
  • Custom Domain: adviento.dev

Recursos utilizados

Python Reflex NES.css Vercel

Curso de Python y Reflex

Curso gratis para aprender desarrollo frontend Web con Python puro desde cero con Reflex. Las tecnologías usadas para desarrollar el proyecto del "Calendario de aDEViento". También tengo un curso de Python desde cero para principiantes.

Curso Python Web Curso Python

Puedes apoyar mi trabajo haciendo "☆ Star" en el repo o nominarme a "GitHub Star". ¡Gracias!

GitHub Star

Si quieres unirte a nuestra comunidad de desarrollo, aprender programación de Apps, mejorar tus habilidades y ayudar a la continuidad del proyecto, puedes encontrarnos en:

Twitch Discord Link

https://mouredev.com Hola, mi nombre es Brais Moure.

Freelance full-stack iOS & Android engineer

YouTube Channel Subscribers Twitch Status Discord Twitter Follow GitHub Followers GitHub Followers

Soy ingeniero de software desde hace más de 13 años. Desde hace 5 años combino mi trabajo desarrollando Apps con creación de contenido formativo sobre programación y tecnología en diferentes redes sociales como @mouredev.

En mi perfil de GitHub tienes más información

Web

adeviento-web's People

Contributors

mouredev avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.