Giter VIP home page Giter VIP logo

kanban's Introduction

kanban

Tablero kanban

Image text

El proyecto consta de 6 microservicios:

  • users: encargado de la comunicacion de la entidad users con la base de datos, el cual cuenta con 3 controladores los cuales responde a peticiones de registro de usuarios, buscar un usuario por su id y login.
  • tasks: encargado de la comunicacion de la entidad tasks con la base de datos, cuanta con 6 controladores los cuales responden a peticiones de CRUD (las peticiones correspondientes a READ son 3, tasksByUserId, listTasks y getOneTask).
  • board: encargado de consumir una API del servicio users (getOneUser) y otra del servicio tasks (tasksByUserId), para poder exponer un API correspondiente a la pantalla principal del usuario en la cual se puede ver su nombre y las tareas asociadas a su id.
  • auth: encargado de brindar el servicio de verificacion de sesion el cual nos indica si el token con el que se esta navegando aun se encuantra vigente.
  • eurekaserver: encargado de registrar todos los servicios en un lugar centralizado y brindar balanceo de cargas
  • api gateway: este servicio se encarga de recibir todas las peticiones del cliente. Para el consumo de APIs entre microservicios se uso la libreria de feign la cual por medio de los controladores nos permitia consumir servicios. Adicionalmente se crea un servicio capaz de centralizar la configuracion de cada uno de los microservicios en un repositorio git La desicion que se tomo de independizar las entidades se debe a se parar las responsabilidades de los servicios lo cual hace de un codigo mas limpio y mantenible. Asi mismo el servicio de auth a pezar de ser muy sencillo, tiene la responsabilidad de verificar la sesion manejada en cada una de las peticiones de todos los microservicios asi que si se requiere una o mas instancias de este servicio sera mas facil y ligero de hacer.

Base de datos: Se hace uso del motor de base de datos MySQL en el cual se crean 2 entidades user y task las cuales se relaciononan por medio del id_user en la tabla tasks al pasar todas las peticiones por nuestro servicio gateway, este contiene todas las uris necesarias para acceder a los diferentes servicios

localhost:8765/login localhost:8765/user/register localhost:8765/board/{userId} localhost:8765/task/{taskId} (GET, POST, DELETE) localhost:8765/task (POST) localhost:8765/task/user/{userID} (GET)

script-database: CREATE DATABASE kanban

CREATE TABLE user ( id bigint auto_increment, name varchar(80) not null, last_name varchar(80) not null, email varchar(80) unique not null, password varchar(255) not null, PRIMARY KEY (id) );

CREATE TABLE task( id bigint auto_increment, description varchar(255) not null, status varchar(50) not null, id_user bigint, PRIMARY KEY (id) );

ALTER TABLE task ADD CONSTRAINT fk_user_task FOREIGN KEY (id_user) REFERENCES user (id);

kanban's People

Contributors

yipson avatar

Watchers

 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.