Una importante empresa AppMaker© ha decidido encargarnos el desarrollo de una red social. El principal objetivo es permitir conectar en tiempo real a personas de todo el mundo que deseen compartir experiencias. AppMaker busca posicionarse en el mercado de aplicaciones, busca conectar esta aplicación con sus otras aplicaciones que poseen gran cantidad de usuarios.
La aplicaicón desarrollada consta de los siguientes componentes:
- Un servidor (Application Server), el cual será responsable de conectar a los usuarios.
- Un servidor (Shared Server), el cual es responsable de la administración de los application servers, autenticación de usuarios y administración de archivos multimedia.
- Lenguaje: NodeJS (
8.10.0
) - Web Framework: ExpressJS (
4.16.3
) - Database: PostgreSQL (
10.3
)
- Lenguaje: NodeJS (
- Un backend web que utiliza los servicios ofrecidos por el shared-server para administración.
- Libreria Frontend: Angular (
5.2.0
)
- Libreria Frontend: Angular (
- Un cliente Android, el cual será utilizado por los usuarios.
- API SDK Version 21
La estructura de directorios nos servirá para identificar los distintos módulos de nuestra aplicación.
/docker
- contiene los archivos que crean los contenedores necesarios para levantar el proyecto/aplication-server
- contiene los archivos que implementan el Application Server/shared-server
- contiene los archivos que implementan el Shared Server/web
- contiene los archivos que implementan el sitio Web
Nuestra aplicación puede ser instalada tanto en un entorno local, para el desarrollo de nuevas funcionalidades, como deployarse/instalarse en un entorno productivo como heroku para que pueda ser accedida por los usuario finales. Si embargo, la aplicación Android solo posee una release productiva.
La instalación en desarrollo implica levantar docker para los servidores e instalar una APK en nuestro smartphone Android. Ver INSTALL.md
La instalación productiva se puede realizar siguiendo los pasos de DEPLOY.md