Aplicación de Referencia Empresarial en JavaScript - Contoso Real Estate
Tags: javascript, azure, node, webdev
Published: 2023-05-25 11:20:14

---
title: Aplicación de Referencia Empresarial en JavaScript - Contoso Real Estate
published: true
description: En este artículo aprenderán sobre la Aplicación de Referencia Empresarial en JavaScript - Contoso Real Estate y cómo pueden contribuir a este proyecto de código abierto.
canonical_url: https://dev.to/azure/aplicacao-de-referencia-empresarial-em-javascript-contoso-real-estate-23ia
tags: #javascript, #azure, #nodejs #webdevelopment
# cover_image: https://direct_url_to_image.jpg
# Use a ratio of 100:42 for best results.
# published_at: 2023-05-25 00:34 +0000
---

¡Hola, desarrolladores(as)! ¿Cómo están? ¡Cuánto tiempo ha pasado, ¿verdad? Hoy me gustaría hablarles sobre un proyecto totalmente de código abierto que tiene como objetivo ayudar a toda la comunidad de desarrolladores de JavaScript a aplicar un proyecto E2E (de extremo a extremo) siguiendo los mejores estándares de desarrollo, buenas prácticas, pruebas e integración con los servicios en la nube de Azure: ¡la Aplicación de Referencia en JavaScript - Contoso Real Estate!

El proyecto fue lanzado durante el Microsoft Build 2023 y hoy me gustaría compartir un poco más sobre este proyecto y cómo pueden contribuir a él.

¡Aquí vamos!

## ¿Qué es la Aplicación de Referencia Empresarial en JavaScript - Contoso Real Estate?

La Aplicación de Referencia en JavaScript: Contoso Real Estate tiene como objetivo ser un proyecto con una arquitectura de referencia que contiene los componentes para crear front-ends modernos de nivel empresarial y aplicaciones nativas en la nube.

Aquí tienen un video teaser que uno de los colaboradores de este increíble proyecto, **[Wassim Chegham](https://twitter.com/manekinekko)**, hizo para mostrar un poco más sobre el proyecto:

{% youtube https://www.youtube.com/watch?v=GxeENsvwZrI %}

El proyecto sigue las mejores prácticas de estándares de desarrollo, arquitectura y componentes funcionales para aquellos que deseen implementar una aplicación de extremo a extremo con JavaScript e integrada con los Servicios en la Nube de Azure. ¡Y lo mejor de todo, es completamente de código abierto! ¿Código abierto? ¿Cómo es eso?

## ¿Código abierto? ¡Sí, señores(as)!

¡Sí, señores! El proyecto es completamente de código abierto y ¡ustedes pueden contribuir a él!

{% github https://github.com/Azure-Samples/contoso-real-estate %}

Además, hay numerosos `good first issues` para aquellos que deseen contribuir al proyecto.

* ✅ **[Contribuye al proyecto - Good First Issues](https://github.com/Azure-Samples/contoso-real-estate/labels/good%20first%20issue)**

El proyecto cuenta con 7 escenarios principales (5 ya completos y otros 2 por venir), que son:

- ✅ **[API](https://github.com/Azure-Samples/contoso-real-estate/tree/main/packages/api)**: camada de API criada com **[Azure API Management](https://learn.microsoft.com/azure/api-management/)**: capa de API creada con Azure API Management que se utiliza para gestionar la autorización, el control de velocidad y el almacenamiento en caché. Las tecnologías utilizadas en esta capa son:

  - [Azure Identity](https://learn.microsoft.com/azure/active-directory/develop/) 
  - [Azure Key Vault](https://learn.microsoft.com/azure/key-vault/)
  - [Azure Application Insights](https://learn.microsoft.com/en-us/azure/azure-monitor/) 
  - [MongoDb for Azure Cosmos DB](https://learn.microsoft.com/azure/cosmos-db/)
  - [Azure Database for PostgreSQL](https://azure.microsoft.com/en-us/services/postgresql/) 
  - [Azure Functions](https://learn.microsoft.com/azure/azure-functions/) 
  - [TypeScript](https://www.typescriptlang.org/)

- ✅ **[Blog CMS](https://github.com/Azure-Samples/contoso-real-estate/tree/main/packages/blog-cms)**: en esta capa, tenemos una aplicación de CMS (Sistema de Gestión de Contenido) que se utiliza para gestionar el contenido del blog en el lado del backend. Las tecnologías utilizadas en esta capa son:
  - [Strapi](https://strapi.io/)
  - [Azure Storage](https://azure.microsoft.com/en-us/services/storage/)
  - [Azure Database for PostgreSQL](https://azure.microsoft.com/en-us/services/postgresql/) 
  - [TypeScript](https://www.typescriptlang.org/)
  - [Azure Application Insights](https://learn.microsoft.com/en-us/azure/azure-monitor/)

- ✅ **[Blog](https://github.com/Azure-Samples/contoso-real-estate/tree/main/packages/blog)**: parte del frontend del blog realizado con Next.js. Las tecnologías utilizadas en esta capa son:

  - [Next.js](https://nextjs.org/)
  - [TypeScript](https://www.typescriptlang.org/)
  - [Azure Container Apps](https://azure.microsoft.com/en-us/services/app-service/containers/)
  - [Azure Application Insights](https://learn.microsoft.com/en-us/azure/azure-monitor/)

- ✅ **[Portal](https://github.com/Azure-Samples/contoso-real-estate/tree/main/packages/portal)**: es una aplicación de portal inmobiliario realizada con Angular y utiliza Azure Static Web Apps para alojar el frontend. Las tecnologías utilizadas en esta capa son:

  - [Angular](https://angular.io/)
  - [Azure Static Web Apps](https://azure.microsoft.com/en-us/services/app-service/static/)
  - [TypeScript](https://www.typescriptlang.org/)
  - [Azure Application Insights](https://learn.microsoft.com/en-us/azure/azure-monitor/)

- ✅ **[Stripe](https://github.com/Azure-Samples/contoso-real-estate/tree/main/packages/stripe)**: esta capa es responsable de la integración con Stripe para pagos. Las tecnologías utilizadas en esta capa son:

  - [Stripe](https://stripe.com/)
  - [Fastify](https://www.fastify.io/)
  - [TypeScript](https://www.typescriptlang.org/)
  - [Azure Container Apps](https://azure.microsoft.com/en-us/services/app-service/containers/)
  - [Azure Application Insights](https://learn.microsoft.com/en-us/azure/azure-monitor/)

- ✅ **[Testing](https://github.com/Azure-Samples/contoso-real-estate/tree/main/packages/testing)**: por último, pero no menos importante, ¡la capa de pruebas! Las tecnologías utilizadas en esta capa son:

  - [Playwright](https://playwright.dev/)
  - [TypeScript](https://www.typescriptlang.org/)

Sin olvidar las Herramientas de Desarrollo como:

- ✅ **[Visual Studio Code](https://code.visualstudio.com/)**
- ✅ **[Azure Static Web Apps CLI](https://azure.github.io/static-web-apps-cli/)**
- ✅ **[GitHub Codespaces](https://github.com/features/codespaces)**
- ✅ **[GitHub Actions CI/CD](https://docs.github.com/actions)**
- ✅ **[GitHub Copilot](https://copilot.github.com/)**
- ✅ **[Azure Developer CLI](https://learn.microsoft.com/en-us/azure/developer/azure-developer-cli/overview)**

Pueden tener una idea de toda la arquitectura del proyecto en la siguiente imagen:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nzoikkmx1eq231pweqts.png)

## ¡Un proyecto que ayudará a toda la comunidad de desarrolladores(as)!

La intención de desarrollar un proyecto de esta escala surgió a partir de numerosos comentarios que recibimos de ustedes, desarrolladores, que desean aprender a crear aplicaciones de extremo a extremo con las tecnologías más modernas del mercado. Por lo general, cuando encontramos ejemplos de proyectos de código abierto, son muy simples y no nos ayudan a comprender cómo desarrollar aplicaciones de extremo a extremo. Nuestro equipo de JavaScript, compuesto por: (en orden alfabético)

- ✅ **[Aaron Powell ex-integrante do JavaScript Team](https://twitter.com/slace)**
- ✅ **[Dina Berry](https://twitter.com/dfberry)**
- ✅ **[Glaucia Lemos](https://twitter.com/glaucia_lemos86)**
- ✅ **[Natalia Venditto](https://twitter.com/AnfibiaCreativa)**
- ✅ **[Nitya Narasimhan](https://twitter.com/nitya)**
- ✅ **[Wassim Chegham](https://twitter.com/manekinekko)**
- ✅ **[Yohan Lasorsa](https://twitter.com/sinedied)**

¡Esperamos que puedan aprender mucho con este proyecto y que también puedan contribuir con nosotros!

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fdbfws7ftn624fe6u4mg.png)

## Recursos Importantes

A continuación se presentan algunos recursos importantes para que puedan aprender más sobre el proyecto:

- ✅ **[GitHub Repository: Contoso Real Estate](https://github.com/Azure-Samples/contoso-real-estate?source=techcommunity)**
- **[Official Documentation: Enterprise-grade reference for composable architecture](https://learn.microsoft.com/en-us/azure/developer/javascript/composable-cloud-contoso-real-estate)**
- ✅ **[Official Blog Launch - Tech Community](https://techcommunity.microsoft.com/t5/apps-on-azure-blog/announcing-contoso-real-estate-javascript-composable-application/ba-p/3827097?WT.mc_id=twitter-0000-azureadvocates)**
- **[Azure Developer CLI (azd) templates](https://azure.github.io/awesome-azd/?operator=AND&tags=enterprisepatterns&tags=javascript)**

Y, por supuesto, tenemos una Colección Oficial que les permite realizar un Laboratorio de Aprendizaje sobre las tecnologías utilizadas en el proyecto:

[![collection-image](https://i.postimg.cc/Hxm0SyJy/Screen-Shot-05-24-23-at-08-16-PM.png)](https://learn.microsoft.com/pt-br/users/learn-live/collections/12odt3rkw1nqnd?wt.mc_id=build23_lab_collection_azuremkt_LAB120)

## Palabras Finales

Espero que el proyecto Contoso Real Estate les sea de gran ayuda y que puedan aprender mucho de él. Y, por supuesto, no dejen de contribuir al proyecto, ya que es de código abierto y pueden colaborar a través de Issues o Pull Requests.

Realizaremos una transmisión en vivo con el equipo de Reactor Brasil, donde explicaré en detalle el proyecto y realizaremos un laboratorio práctico juntos. Así que no olviden inscribirse en el siguiente enlace:

> Próximamente anunciaremos la fecha y hora de la transmisión en vivo en el **[Canal do YouTube do Microsoft Reactor](https://www.youtube.com/@MicrosoftReactor)**.

- **[Página do Meetup: Microsof Reactor Brasil](https://www.meetup.com/pt-BR/microsoft-reactor-sao-paulo/events/)**

¡Ah! ¡Casi me olvido de mencionarlo aquí! ¡No olviden suscribirse a mi **[Canal do Youtube](https://www.youtube.com/@GlauciaLemos)**! Y aún durante el año 2023 vendrán muchas cosas geniales en el canal.

Algunas novedades:

* 😃 Microsoft Learn Live Sessions
* 😃 Tutoriales semanales sobre Node.js, TypeScript y JavaScript
* 😃 ¡Y mucho más!

Si les gusta ese tipo de contenido, ¡no se olviden de suscribirse y activar la campanita para enterarse cuando haya nuevos videos! Esta semana ya tendremos una nueva y emocionante serie en el Canal de YouTube.

[![Screen-Shot-12-31-20-at-01-06-AM.png](https://i.postimg.cc/pr3TL4Pd/Screen-Shot-12-31-20-at-01-06-AM.png)](https://bit.ly/youtube-canal-glaucialemos)

¡Y para estar al tanto de muchas otras novedades, no dejen de seguirme en Twitter!

[![Screen-Shot-12-31-20-at-01-06-AM.png](https://i.postimg.cc/sXPk87Td/Screen-Shot-05-24-23-at-08-32-PM.png)](https://twitter.com/glaucia_lemos86)

¡Nos vemos! ❤️❤️