GithubHelp home page GithubHelp logo

codesandtags / poc-blog Goto Github PK

View Code? Open in Web Editor NEW
2.0 3.0 0.0 22.96 MB

Full project implementing asyn Microservices using NodeJS, Express and React, and deployed with Docker and Kubernates.

HTML 8.43% CSS 0.68% JavaScript 80.99% Dockerfile 2.50% Shell 7.40%
nodejs reactjs kubernates microservices docker event-driven event-driven-architecture expressjs

poc-blog's Introduction

PoC for Microservices in NodeJS and React

Motivation

This is a Proof of Concept, about how to create microservices using NodeJS, Express and React. This project contains a monorepo which represents the microservices to manage a blog website.

Features

This project uses:

  • Monorepo approach
  • Add logger in express with Winston
  • Manage environment variables with dotenv dependency.
  • Add swagger open API v3 definitions.
  • Add postman collections

Wish list

  • Add prettier and eslint
  • Add Husky pre-commit configuration
  • Add Docker or Kubernate to manage the Microservices in containers
  • Add a load balancer with nginx to scale up or scale down the number of microservices

Architecture

@TODO: Add architecture logical view or conceptual diagram.

Micro Service Port Description Technologies
Post 4000 Represent the microservice to create and list the posts Express
Comments 4001 Represents the microservice to create and list the comments related to the posts Express
Query 4002 Represents the microservice to collect Express
Moderation 4003 Represents the microservice to moderate the comments created Express
Event Bus 4005 Handle events and propage them between microservices Express
Web Clients Port Description Technologies
Client 3000 Represents the web client to consume the microservices React

Technologies

  • React 18.x / Create-react-app
  • Express
  • Axios
  • Wiston

Steps

Runing images with Docker

For each microservice, you can run the next command

docker build -t codesandtags/${MICROSERVICE_NAME}.

# Example in posts

docker build -t codesandtags/posts

If you prefer you can run build all docker images by running the next command.

sh build-containers.sh

Runing images with Docker Compose

To run this project using Docker compose, only run the next command:

docker-compose up

Runing project with Kubernates

Runing project on AWS

Runing project on GPC

Demo

TODO: Add link with demo

Resources

Resource Description

Contact

Feel free to contact me at:

poc-blog's People

Contributors

codesandtags avatar

Stargazers

 avatar

Watchers

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