Skip to content

CuCodersCommunity/cucoderscommunity.github.io

Repository files navigation

CuCoders | La Plataforma de los devs cubanos

image

CuCoders es una plataforma creada con el fin de potenciar el desarrollo de software en Cuba y apoyar a los desarrolladores y emprendedores en su carrera profesional. En CuCoders puedes descubrir recursos, aplicaciones, artículos, perfiles de programadores y ofertas laborales. CuCoders es el lugar perfecto para encontrar oportunidades y mantenerse actualizado en el mundo de la programación.

Stack

🚀 Estructura del Proyecto

Dentro del proyecto encontrarás las estructura de carpetas siguientes:

/
├── .github/workflows  # Workflows de GitHub Actions para compilar el proyecto
├── public/            # Directorio con los ficheros públicos del proyecto
│   └── assets/
|       └── img/
├── src/
│   ├── components/   # Todos los componentes reutilizables de la web
│   ├── content/   # Aquí se almacena el contenido que se muestra en la web, organizado por categorías y usuarios
|       └── apps/
|       └── blogs/
|       └── events/
|       └── resources/
│   ├── layouts/     
│   └── pages/
│   └── data/  # Data config and static site data like categories.
│   └── templates/   # Las plantillas utilizadas para la generación de ciertos documentos .md
└── package.json

Cualquier activo estático, como imágenes, se puede colocar en el directorio público/.

CLI

Todos los comandos se ejecutan desde la raíz del proyecto, desde una terminal:

Command Action
yarn install Installs dependencies
yarn run dev Starts local dev server at localhost:3000
yarn run build Build your production site to ./dist/
yarn run preview Preview your build locally, before deploying
yarn run astro ... Run CLI commands like astro add, astro preview
yarn run astro --help Get help using the Astro CLI

Arquitectura

CuCoders funciona con una arquitectura descentralizada utilizando como backend a GitHub. Los datos de los artículos, las aplicaciones y los eventos se almacenan en los ficheros físicos del repositorio público y los datos de cada usuario están en su poder en los repositorios especiales de cada usuario. La información más volátil que no necesita ser conservada en el tiempo como las ofertas laborales se encuentran almacenadas en microservicios que se acceden mediante una API, para los cuales en primera versión se crearon utilizando Airtable.

El sitio se recompila utilizando las GitHub Actions nutriéndose de la información almacenada en GitHub y utilizando el backend serverless desarrollado con Astro, el cual se encarga de conectarse y consumir información de los servicios de empleos y próximamente de los servicios y aplicaciones destacadas en la web.

El usuario visualiza la información en el sitio web estático construido con Astro y mediante el bot de Telegram con la publicación de las nuevas ofertas laborales.

Arquitectura permite mantener los costos del mantenimiento del proyecto casi nulos así como permite que la información se mantenga pública y siempre accesible para garantizar la continuidad del proyecto.

image

Despliegue

CuCoders puede ser desplegado en cualquier proveedor que permita la construcción de páginas estáticas. En estos momentos estamos utilizando GitHub Pages para la cual hay una serie de configuraciones específicas en los ficheros de configuración de las GitHub Actions y los ficheros de configuración de Astro.

Contribuir

CuCoders es una solución de código abierto. Los Pull Requests y las contribuciones son bienvenidas! Para contribuir con el proyecto puedes informar de algún error, sugerir una nueva característica o comenzar a trabar solucionando algún Issue que haya sido marcado como "aceptado".

Para más información lea el fichero Contributing.md.

Autor

Contribuidores

Made with contrib.rocks.