Git Product home page Git Product logo

iesluisvives / blog-mongodb-accesodatos-2021-2022 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from joseluisgs/blog-mongodb-accesodatos-2021-2022

0.0 0.0 0.0 256 KB

Ejemplo de desarrollo de un blog (backend básico) para Acceso a Datos, usando una base de datos NoSQL MongoDB implementando distintas técnicas y patrones de Acceso a Datos vistos en clase.

License: MIT License

Shell 0.10% JavaScript 0.99% Java 98.91%

blog-mongodb-accesodatos-2021-2022's Introduction

Blog-MongoDB-AccesoDatos-2021-2022

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.

Kotlin LISENCE GitHub

Descripción

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.

Tecnologías

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.

Enunciado

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.

Ejemplo de diagrama

diagrama

Desarrollo

GitFlow

Se ha usado GitFlow como modelo de flujo de desarrollo y trabajo con el repositorio.

Arquitectura

Puedes leer sobre ella aquí.

MongoDB

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.

Diagrama de la Persistencia

El diagrama de la persistencia generada puede verse en esta imagen. diagrama

Ejecución

Docker

Entrar en el directorio docker y ejecutar

$ docker-compose up -d

Mongo Express o cliente de Bases de Datos NoSQL MongoDB

Debes conectarte a express http://localhost:8081/

  • server: localhost:27017
  • user: mongoadmin
  • password: mongopass
  • base de datos blog

Autor

Codificado con 💖 por José Luis González Sánchez

Twitter GitHub

Contacto

Cualquier cosa que necesites házmelo saber por si puedo ayudarte 💬.

        

Licencia

Este proyecto está licenciado bajo licencia MIT, si desea saber más, visite el fichero LICENSE para su uso docente y educativo.

blog-mongodb-accesodatos-2021-2022's People

Contributors

joseluisgs avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.