Giter VIP home page Giter VIP logo

skyhigh-microservice-app's Introduction

SkyHigh Microservice Reference App

A reference app I created where I apply (and continuously improve) everything I've learned about designing microservices applications.

Components

This app is composed of multiple microservices located on separate GitHub repositories.

Name Description
Web FrontEnd A web application made in Angular
Enrollment Microservice The api for enrolling students. Created with node.js
Students Microservice The API for managing students. Created using ASP.NET Core with postgresql as database.
Subjects Microservice The API for managing subjects. Created using ASP.NET Core

Additionally, RabbitMQ was used for messaging and integration events.

Installation

Checkout all the repositories.

Web FrontEnd

  • Run npm install
  • Run ng build --prod
  • Run docker build -t randal/skyhigh-web .

Enrollment Microservice

  • Run docker build -t randal/skyhigh-services-enrollment .

Students Microservice

  • Run dotnet publish -o ./publish
  • Run docker build -t randal/skyhigh-services-students .

Subjects Microservice

  • Run dotnet publish -o ./publish
  • Run docker build -t randal/skyhigh-services-subjects .

Running the Docker Containers

After everything is installed, go to the root folder of this repository and run:

docker-compose up -d

If everything is running, you should see this when you do a docker ps command.

CONTAINER ID        IMAGE                         COMMAND                  CREATED             STATUS              PORTS                                                                             NAMES
9387fce74dde        skyhigh-services-students     "dotnet SkyHigh.Se..."   21 minutes ago      Up 3 seconds        0.0.0.0:8181->80/tcp                                                              skyhigh-services-students-instance
1a3c358e7d28        skyhigh-services-enrollment   "npm start"              21 minutes ago      Up 3 seconds        0.0.0.0:3001->3001/tcp                                                            skyhigh-services-enrollment-instance
e76425fc86cc        skyhigh-services-subjects     "dotnet SkyHigh.Se..."   21 minutes ago      Up 3 seconds        0.0.0.0:8182->80/tcp                                                              skyhigh-services-subjects-instance
78db7d26909e        rabbitmq                      "docker-entrypoint..."   21 minutes ago      Up 4 seconds        4369/tcp, 0.0.0.0:5672->5672/tcp, 5671/tcp, 25672/tcp, 0.0.0.0:15672->15672/tcp   skyhigh-rabbitmq
a635d0d2de22        skyhigh-web                   "nginx -g 'daemon ..."   21 minutes ago      Up 3 seconds        0.0.0.0:8001->80/tcp                                                              skyhigh-web-instance
1e9d7f38aad0        mongo                         "docker-entrypoint..."   21 minutes ago      Up 4 seconds        0.0.0.0:27017->27017/tcp                                                          skyhigh-enrollment-mongodb
627a2cb213a8        postgres                      "docker-entrypoint..."   21 minutes ago      Up 4 seconds        0.0.0.0:5432->5432/tcp                                                            skyhigh-students-db

Accessing the Web Front End

You can access the web application in:

http://localhost:8001

skyhigh-microservice-app's People

Contributors

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