Skip to content
/ PIS Public

A microservices-based Parcel Tracking System developed for a college project. Features unique shipment tracking, integration with carriers, and a robust backend using Java 17 and Spring

Notifications You must be signed in to change notification settings

Percival33/PIS

Repository files navigation

PIS

Project Overview

This repository contains a microservices-based Parcel Tracking System, initially developed as a college assignment by a team of four. It allows clients to add and track shipments using unique tracking numbers. The system integrates with various carriers for precise shipment location tracking. Key features include local database storage of tracking history and automatic updates for registered shipments. The system also supports searching across all shipment attributes and offers functionality for printing tracking histories, with files stored in a dedicated resource.

Note

At the time of college submission, the project was in its initial form. Post-submission, it has been further developed to include Kubernetes support, along with the addition of monitoring tools Grafana and Prometheus.

Team Members

Project Requirements

CI/CD: Jenkins
Artifact Repository: Nexus

Databases:

  • MongoDB
  • Elasticsearch

Backend Technologies:

  • Java 17
  • Gradle/Maven
  • Spring Boot 3.1
  • Hibernate
  • OpenFeign
  • Resilience4j
  • Apache Kafka
  • MinIO
  • Hashicorp Vault
  • JUnit
  • Docker + Docker Compose

Frontend Technologies:

  • React

Microservices:

  • Service Discovery
  • API Gateway
  • Config Server

Structure

The project is structured as a monorepo, including the following services:

  • gateway: API gateway for microservices.
  • frontend: React-based user interface.
  • parcel-finder: Service for package searching with Elasticsearch and Kafka.
  • parcel-tracker: Continuous package tracking service.
  • report-generator: PDF report generation for package tracking history.
  • service-discovery: Eureka discovery server.
  • config-server: Management of external configurations for microservices.

Additional Directories:

  • devops: Configuration for NGINX reverse proxy, Jenkins setup, and automated build and deployment scripts.

About

A microservices-based Parcel Tracking System developed for a college project. Features unique shipment tracking, integration with carriers, and a robust backend using Java 17 and Spring

Topics

Resources

Stars

Watchers

Forks