Welcome to Sistema de Envío de Encomiendas
A powerful microservices architecture that combines traditional REST APIs with semantic web technologies to provide intelligent package shipping management and advanced search capabilities.Quick Start
Get up and running in minutes with our step-by-step guide
Architecture
Understand the system’s microservices architecture
API Reference
Explore the complete API documentation
Semantic Search
Learn about natural language search capabilities
Key Features
RESTful API
Complete package shipment management with tracking, status updates, and multi-branch support
Semantic Web Integration
Apache Jena-powered semantic graph with OWL ontology modeling
Natural Language Search
Query shipments using natural language with automatic SPARQL generation
Automated Synchronization
Real-time synchronization between relational database and semantic graph
System Overview
The system consists of two main microservices:Shipment Service (svc-envio-encomienda)
Manages the core business logic for package shipping operations:
- Create and track shipments
- Update shipment status through lifecycle
- Assign vehicles to shipments
- Manage client and branch office data
- MySQL database with JPA/Hibernate
Semantic Web Service (svc-web-semantica)
Provides intelligent querying and semantic data management:
- Natural language search processing
- SPARQL query execution
- RDF/OWL triple store management
- Apache Jena TDB2 database
- Automated semantic graph synchronization
Use Cases
Package Tracking & Management
Package Tracking & Management
Create shipments, assign them to vehicles, track their progress through different states (PENDING, EN_TRANSITO, DISPONIBLE, ENTREGADO), and manage pickups with secure delivery passwords.
Semantic Search
Semantic Search
Search for shipments using natural language queries like “shipments to Lima in January 2024” or “packages weighing more than 5kg” - the system automatically converts these to SPARQL queries.
Multi-Branch Operations
Multi-Branch Operations
Manage shipments across multiple branch offices with origin and destination tracking, enabling inter-city package delivery operations.
Advanced Analytics
Advanced Analytics
Execute custom SPARQL queries to analyze shipment patterns, customer behavior, and operational metrics using the semantic graph.
Technology Stack
- Backend Framework: Spring Boot 3.5.11
- Database: MySQL (relational), Apache Jena TDB2 (semantic)
- Semantic Web: Apache Jena 4.10.0, OWL ontologies, SPARQL
- Build Tool: Maven
- Java Version: 25
- Architecture: Microservices with OpenFeign for inter-service communication
Next Steps
Set up the environment
Follow the setup guide to configure MySQL, install dependencies, and prepare both microservices.
Run the quickstart
Complete the quickstart tutorial to create your first shipment and test semantic search.
Explore the API
Review the API documentation to understand all available endpoints.
Learn semantic search
Dive into semantic search capabilities to leverage natural language queries.