Ciclo 1, Arquitectura del Proyecto - Uniandes-MISO4203-backup/artwork-201620-2 GitHub Wiki

Vista Funcional

La aplicación esta dividida en las siguientes tres capas:

  • FrontEnd: hecha en HTML5, Angular 1.4 y Bootstrap 3.5.
  • Servicios: capa que implementa los servicios REST usando JAX-RS.
  • Backend: lógica y persistencia de la aplicación usando EJBs y JPA.

En la aplicación hay dos tipos de componentes:

  • Autenticacion: componentes dedicados a la autenticación y autorización, usa la libreria csw-ng-Crud.
  • CRUD: demás componentes, usan la librería ng-crud.

Vista de Información

Contiene los conceptos de un marketplace de arte, hay varios Artworks, hay Items que representan una instancia particular de un Artwork y son de un tipo particular de Product. Cada Artwork pertenece a un Category y fue hecha por un Artist. Por ultimo un Client tiene un wishlist con los Items que desearía tener.

Vista de despliegue

La aplicación usa una base de datos postgres donde se guardan la mayoría de los datos excepto la información de los usuarios que se guardan en un servicio externo de autenticación y autorización, Stormpath. Hay un servidor de aplicación donde está la lógica y los servicios REST, la interfaz grafica se despliegue en el browser del cliente, es una SPA (Single Page Application) escrita en Angular.

Vista de desarrollo

  • Artwork: Maven POM application, que agrupa a los dos proyectos api y logic.

  • Artwork.api: Maven web application, con los servicios REST y el Frontend de la aplicación escrita en Angular. Contiene las pruebas de Selenium.

  • Artwork.logic: Maven java application, con los EJB y la persistencia con JPA. Contiene las pruebas en JUnit.