Giter Club home page Giter Club logo

jobs's Introduction

Jobs

GitHub Workflow Status (branch) GitHub Workflow Status GitHub Workflow Status GitHub Workflow Status

Jobs is an open-source job marketplace application, powered by micro-services ☸️ architecture and cross-platform developed 📱🖥🐳 based on .NET 6.

Architecture overview

The architecture proposes a microservice oriented architecture implementation with multiple autonomous microservices (each one owning its own data/db) and has one shared project to work with Repository and Controller for CRUD operations, but implementing different approaches within each microservice using REST/HTTP as the communication protocol between the client apps, and supports asynchronous communication for data updates propagation across multiple services based on gRPC/HTTP2. All microservices are based on SOLID design principles and used popular modern technologies. Also, configured CI/CD pipelines using GitHub Actions for building and testing the code and publishing docker image file to the Docker Hub.

List of micro-services and infrastructure components

Service Description Build status Endpoints
1. API Gateway (Ocelot) This service is responsible for all other micro-services
2. Identity API (JWT Token, NLog logging, FW Core, gRPC, CRUD by MySQL, RabbitMQ, FluentValidation, DTO, AutoMapper, Functionality and Unit testing with MSTest) Identity management service APIs
3. Job API (NLog logging, FW Core, CRUD by SQL Server, RabbitMQ, FluentValidation, DTO, AutoMapper, Unit Testing with NUnit) This service is responsible for the main part of the current application. All CRUD operations related to Jobs will be here. APIs
4. Payment API (Serilog logging, Repocitory, CRUD by MongoDB and Redis, RabbitMQ, FluentValidation, DTO, AutoMapper, Unit Testing with xTest) Responsible for financial and payments APIs

Each microservice has its own docker image file with the latest code of master branch on my Docker Hub with :latest tag.

Getting Started

Make sure you have installed and configured Docker for Windows in your machine. After that, you can run the below commands from the the main Jobs directory and get started with the Jobs immediately.

docker-compose -f docker-compose.yml -f docker-compose.override.yml up -d

You should be able to browse different components of the application by using the below URLs :

jobs's People

Contributors

falcon9r avatar mirolimmajidov avatar

Stargazers

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