Ejemplo de desarrollo de un blog (backend básico) para Acceso a Datos, usando una base de datos NoSQL MongoDB realizando el Mapeo a Objetos con Documentos e implementando distintas técnicas y patrones de Acceso a Datos vistos en clase.
Se ha implementado el desarrollo del un blog a nivel de backend para el acceso a los datos que se necesiten con fines didácticos para el módulo de Acceso a Datos de 2DAM. Debes entender que es un ejemplo didáctico para clase, por lo que parte de la solución simplemente es para mostrar distintas técnicas y patrones y por lo tanto puede que no sea la más óptima o adecuada a niveles de producción o empresarial. Tenlo en cuenta.
Este ejemplo, su arquitectura y parte de su solución proviene del anterior ejemplo visto en clase y que puedes encontrar aquí. La versión relacional usando Hibernate y JPA la tienes en este enlace disponible, o usando JPA con Hibernate OGM en este enlace
A lo largo de este desarrollo actualizaremos el ejemplo anterior para trabajar con tecnología orientada a objetos y con ella realizar el Mapeo Objeto-Documentos con nuestra base de datos NoSQL con MongoDB.
Se han usado las siguientes tecnologías:
- Java 11, como lenguaje de programación.
- MongoDB como Base de datos NoSQL.
- Docker para lanzar la base de datos, así como otras utilidades para manejarla.
Se desea implementar la base de un blog teniendo en cuenta que:
- Un usuario una vez registrado mediante email y password puede hacer login y logout en el sistema.
- El usuario puede escribir varios posts los cuales pertenecen solo a una categoría existente, como general, dudas o evaluación. Se pueden crear nuevas categorías.
- Los usuarios pueden hacer distintos comentarios sobre posts existentes.
Se ha usado GitFlow como modelo de flujo de desarrollo y trabajo con el repositorio.
Puedes leer sobre ella aquí.
MongoDB es un sistema de base de datos NoSQL, orientado a documentos y de código abierto. En lugar de guardar los datos en tablas, tal y como se hace en las bases de datos relacionales, MongoDB guarda estructuras de datos BSON (una especificación similar a JSON) con un esquema dinámico, haciendo que la integración de los datos en ciertas aplicaciones sea más fácil y rápida.
El diagrama de la persistencia generada puede verse en esta imagen.
Entrar en el directorio docker y ejecutar
$ docker-compose up -d
Debes conectarte a express http://localhost:8081/
- server: localhost:27017
- user: mongoadmin
- password: mongopass
- base de datos blog
Codificado con 💖 por José Luis González Sánchez
Cualquier cosa que necesites házmelo saber por si puedo ayudarte 💬.
Este proyecto está licenciado bajo licencia MIT, si desea saber más, visite el fichero LICENSE para su uso docente y educativo.