Skip to content

[ Nuxt | Java EE ] SSR Application that communicates to a REST API to provide package monitoring services for clients, logistics workers and managers of a company ensuring transaction integrity

Notifications You must be signed in to change notification settings

APimenta4/Smart-Package-Tracking

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Smart Package Tracking

Project Overview

The Smart Package Tracking is a full-stack application that enables real-time monitoring of packages through IoT sensors. The system provides different access levels for logistics staff, managers, and clients to track orders, volumes, and sensor readings.

Architecture

The project consists of four main components:

Smart-Package-Tracking/
├── monitoring/          # Backend Java API server (Maven + WildFly + Docker)
├── monitoring-client/   # Frontend Nuxt.js application
├── bruno-requests/      # API testing collection
├── API-specification.md # Detailed API documentation
└── README.md

Features

User Roles & Permissions

Logistics Staff

  • Create new orders for monitoring
  • Add volumes to existing orders
  • Update volume status (Pending, In Transit, Delivered, etc.)

Manager

  • View all orders in the system
  • Access volumes from all orders
  • Monitor all sensor readings
  • View sensor readings for any order

Client

  • View details of their orders
  • Access their order volumes
  • Monitor sensor readings for their packages

Monitoring Capabilities

The system supports multiple sensor types:

  • Temperature sensors - Monitor temperature-sensitive packages
  • Location sensors - GPS tracking for real-time location
  • Acceleration sensors - Detect handling conditions and impacts

Getting Started

Prerequisites

  • Docker and Docker Compose
  • Java 11+ and Maven (for building)
  • Node.js (version 18.x or higher) and npm (for frontend)
  • Make (for running backend commands)

Installation

  1. Clone the repository:
git clone <repository-url>
cd Smart-Package-Tracking
  1. Backend setup:
cd monitoring
# Create .env file with your configuration
make up
  1. Frontend setup:
cd ../monitoring-client
npm install

Running the Application

Backend (Java API Server with Docker)

Start the containerized backend services:

cd monitoring
make up

Build and deploy the application:

make deploy

Monitor the application logs:

make monitor

The backend API will be available at http://localhost:8080

Frontend (Nuxt.js Application)

cd monitoring-client
npm run dev

The frontend application will be available at http://localhost:3000

Available Make Commands (Backend)

  • make up - Start Docker containers (database, web server)
  • make down - Stop containers and remove local images/volumes
  • make down-all - Stop containers and remove all images/volumes
  • make build - Build the Maven project
  • make deploy - Build and deploy the WAR file to WildFly
  • make monitor - Deploy and follow application logs
  • make bash - Access the web server container shell
  • make logs - View web server logs
  • make sql - Access PostgreSQL database
  • make ps - Show running containers
  • make mails - Access SMTP container for mail testing

API Testing

The project includes a Bruno collection for API testing. To use it:

  1. Install Bruno
  2. Open the bruno-requests folder in Bruno
  3. Configure the environment variables
  4. Run the API tests

About

[ Nuxt | Java EE ] SSR Application that communicates to a REST API to provide package monitoring services for clients, logistics workers and managers of a company ensuring transaction integrity

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •