Vocabulary - Aplicación colaborativa para aprender vocabulario

Se trata de desarrollar una aplicación web cuya finalidad sea el aprendizaje de vocabulario de un idioma deseado, en donde cualquier usuario podrá colaborar publicando preguntas (palabras) de manera que la BD de preguntas crezca de forma colaborativa.

Cuando un usuario publica una palabra esta no es visible para el resto de usuarios. Deberá ser validada y/o completada a más idiomas por parte de un usuario administrador.

Introducción

En la actualidad, gracias al estándar HTML5 y a nuevos frameworks MVC JavaScript hay un cambio de paradigma en donde se tiende a:

Minimizándose la comunicación con el servidor estrictamente a lo necesario y consiguiendo construir rápidas, cómodas y modernas aplicaciones para los usuarios.

En este tipo de aplicaciones todo el interfaz gráfico se pinta haciendo sustituciones de una capa (div) perteneciente una única página. Es por esto, que a este tipo de aplicaciones se las conoce como aplicaciones web de página única (SPA o Single Page Application).

   He creado esta aplicación la para aprender algunas de las tecnologías que se utilizan y dejar un tanginble de dicho esfuerzo.

Arquitectura y tecnologías empleadas en la aplicación

La aplicación se divide en tres partes:

1) Parte cliente de la aplicación

Esta parte consiste en una aplicación de página única (SPA o Single Page Application) construida usando las siguientes tecnologías:

La parte cliente se comunica via HTTP con la parte servidora, la cual expone su funcionalidad a través de un API REST.

Ir a la parte cliente

2) El API REST de la aplicación

Ir al API REST

3) Parte servidora de la aplicación

En esta parte se usan las siguientes tecnologías:

Ir a la parte servidora

Algunos escenarios que ofrece la aplicación:

Un usuario aprende vocabulario

 

Un usuario colabora publicando una pregunta

 

Un usuario (revisor, administrador) valida una palabra