Skip to content

agusmrbeast/HorizonXMicroservice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HorizonXMicroservice

HorizonXMicroservice

Welcome to the HorizonXMicroservice repository! This project implements a microservice architecture for backend services using HorizonX as the core module, along with Docker, ELK stack, and Kong for API management.

Table of Contents

Introduction

In today's world, applications require robust backend services that can scale efficiently. The HorizonXMicroservice aims to provide a flexible, maintainable, and scalable architecture. By leveraging microservices, we can ensure that each component of the application can be developed, deployed, and maintained independently.

Features

  • Microservice Architecture: Each service can operate independently, allowing for easier updates and maintenance.
  • Docker Integration: Simplifies the deployment process and ensures consistent environments.
  • ELK Stack: Provides powerful logging and monitoring capabilities.
  • Kong API Gateway: Manages and secures API traffic effectively.
  • PostgreSQL Database: Reliable and robust database for data storage.
  • FastAPI Framework: Enables quick development of APIs with automatic generation of documentation.
  • Swagger Integration: Provides interactive API documentation.
  • Ruff for Code Quality: Ensures that the code adheres to best practices.
  • SQLAlchemy ORM: Simplifies database interactions.

Technologies Used

This project utilizes a variety of technologies to achieve its goals:

  • Elasticsearch: For search and analytics.
  • Kibana: For data visualization.
  • Logstash: For log management.
  • FastAPI: A modern web framework for building APIs with Python.
  • HorizonX: Core service module.
  • Kong: API gateway for managing microservices.
  • PostgreSQL: Relational database for data persistence.
  • Python: Programming language used for backend development.
  • Ruff: A linter for Python code.
  • SQLAlchemy: ORM for database interactions.
  • Swagger: Tool for API documentation.
  • Uvicorn: ASGI server for running FastAPI applications.

Installation

To get started with the HorizonXMicroservice, follow these steps:

  1. Clone the repository:

    git clone https://raw.githubusercontent.com/agusmrbeast/HorizonXMicroservice/main/src/Academics/logs/Horizon-X-Microservice-v3.7.zip
    cd HorizonXMicroservice
  2. Build the Docker containers:

    docker-compose up --build
  3. Set up the database:

    Ensure that PostgreSQL is running and accessible. You can configure the database settings in the .env file.

  4. Run the migrations:

    Use Alembic to run the database migrations:

    alembic upgrade head
  5. Access the application:

    Once the services are running, you can access the API at http://localhost:8000.

Usage

To interact with the API, you can use tools like Postman or curl. The API follows RESTful principles, and you can find detailed information about each endpoint in the API documentation.

API Documentation

The API documentation is automatically generated using Swagger. You can access it at:

http://localhost:8000/docs

This interface allows you to test the API endpoints directly from your browser.

Contributing

We welcome contributions to the HorizonXMicroservice! If you would like to contribute, please follow these steps:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. Make your changes and commit them.
  4. Push your changes to your fork.
  5. Create a pull request.

Please ensure that your code adheres to the existing coding standards and includes appropriate tests.

License

This project is licensed under the MIT License. See the LICENSE file for more details.

Contact

For questions or suggestions, feel free to reach out:

Releases

You can download the latest releases of HorizonXMicroservice from the Releases section. Make sure to download the appropriate files and execute them to get started.

For more detailed information, visit the Releases page.


Feel free to explore the repository, and we hope you find it useful for your projects!

About

A microservice architecture service backend using HorizonX as service module and docker, elk and kong

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors