Code Monkey home page Code Monkey logo

finalproject-cs50-microservice-consumer's Introduction

#Get rich by buying and selling Crypto ####Video Demo: https://youtu.be/iMypnt1OQWE ####Description: In this project the initial idea was to build a web application ####that allowed the user to interact with cryptocurrencies, that way the person that is into this practice ####would be able to increase their ability to invest into the raising world of cryptos. ####In this project i am just sending the back end part of it that is divided en two ####microservices, the purpose of dividing this into two microservices was to practice ####the concepts of the AMQP protocol through Rabbit mq.


##Setup For you to be able to run this project locally you will have to open the /src folder the /resources folder. and in there change the credentials of your own remote AMQP service or delete the personalized configuration, so that it runs with the default credentials, that are localhost as host of the rabbit mq service, with the username and password of guest.

I would recommend to you that you use IntelliJ so that it by its own downloads the project dependencies, and finally you fill by able to execute the service by running the spring application in the /src folder and in the class, MicroServiceReceiverPublisherApplication.

##Project structure: Collections Here we will have the same data structures tha appears on /dtos, but this ones are going to be set up to be a Document that will be injected into a noSql database into a collection, differenciated by the type of action

ConfigHere you will find the configuration class where i set up everything related with rabbit mq, the three different rabbit mq listeners, that will be listening to the three different queues, and after receiving a message it will execute a use case that will convert the string that comes in the message to a Java Class, and after it it will be saved into its corresponding database based on the type of action.

dtoHere is the data structure that contains all the information of the cryptocurrency and the action associated with the user that executed the action

Helpers here we will have our mapper that will be the mechanism to convert between an entity and a data transfer object DTO, that is the one that is sent to the client when is requested.

Repository here is the instance as an interface of the three different collections that are going to be included in the mongoDb database.

Routers Here i expose three different entry points the will accept get request, this entry points are the ones that will allow the client to request the information related to a user based on its Id, and also based on the type of action, general, buy or selling action.

UseCases Here you will find the 6 different use cases, that can be grouped in two major actions, 3 actions are the ones that receives the messages from the three different queues and convert it to the three different data structures and save it into the data base, and the other three are the ones that requests the information from the different collections and send it to the client.

#I hope that you find this project useful somehow and here i leave the link that will take you to the other microservice

##Publisher MicroService: https://github.com/santiagoposadag/finalProject-Cs50-microservice-publisher

finalproject-cs50-microservice-consumer's People

Contributors

lsepu avatar santiagoposadag 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.