Skip to main content

Overview

Satélite API is a robust GraphQL API service built with ASP.NET Core 6.0, designed to manage complex business processes including supply chain management, commercial planning, compliance tracking, and financial operations. The API serves as the backend for Moderna Alimentos’ enterprise management system.

What is Satélite API?

Satélite API provides a unified GraphQL interface for managing:
  • Supply Chain Management - Purchase orders, procurement, and inventory tracking
  • Financial Operations - Advances (anticipos), reimbursements (reembolsos), and expense management
  • Commercial Planning - Sales planning, provisioning, and SKU management
  • Compliance Management - Regulatory compliance tracking (Bitácora Cumplimiento)
  • Asset Management - Fixed assets (activos fijos) tracking and approvals
  • External Integrations - SRI, Equifax, COFASE, SAP, and Databricks integrations
The API uses HotChocolate 13.9.0 as the GraphQL server implementation with full support for queries, mutations, filtering, sorting, and projections.

Key Capabilities

GraphQL API

Modern GraphQL API with type-safe queries and mutations, built on HotChocolate framework

JWT Authentication

Secure authentication using JWT tokens with Microsoft Azure AD integration

Multi-Database

Supports multiple database contexts for different business domains using Entity Framework Core 7

Scheduled Jobs

Built-in job scheduling with Quartz.NET for automated business processes

Architecture Highlights

GraphQL Schema

The API exposes a unified GraphQL schema with:
  • Root Query Type - Access to all read operations across business domains
  • Root Mutation Type - Create, update, and delete operations
  • Extended Types - Domain-specific queries and mutations organized by business area
  • Authorization - Field-level and type-level authorization using [Authorize] attributes

Database Contexts

Satélite API manages multiple database contexts:
  • SateliteDBContext - Core business entities and user management
  • BitacoraCumplimientoDBContext - Compliance tracking with retry policies
  • AnticiposDBContext - Advance payment management
  • CuboComercialDBContext - Commercial analytics cube
  • NexusDBContext - Production planning integration
  • CentinelaDBContext - Security and monitoring
  • DonacionesDBContext - Donation management
  • MemoriaSostenibilidadDbContext - Sustainability reporting
All database contexts use pooled DbContext factories for optimal performance in concurrent scenarios.

Technology Stack

  • Framework: ASP.NET Core 6.0
  • GraphQL Server: HotChocolate 13.9.0
  • ORM: Entity Framework Core 7.0.17
  • Database: Microsoft SQL Server
  • Authentication: JWT Bearer with Azure AD
  • Job Scheduling: Quartz 3.13.0
  • PDF Generation: iText7 8.0.5
  • Excel Processing: EPPlus 7.4.2

API Endpoint

The GraphQL API is available at:
/graphql
All operations (queries and mutations) are sent to this single endpoint using HTTP POST requests.

Next Steps

Quickstart

Get started with your first GraphQL query in minutes

Authentication

Learn how to authenticate and obtain JWT tokens

GraphQL Overview

Understand the GraphQL schema structure

API Reference

Explore the complete API reference

Support and Resources

GitHub Repository

View source code and report issues