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.
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
- Create new orders for monitoring
- Add volumes to existing orders
- Update volume status (Pending, In Transit, Delivered, etc.)
- View all orders in the system
- Access volumes from all orders
- Monitor all sensor readings
- View sensor readings for any order
- View details of their orders
- Access their order volumes
- Monitor sensor readings for their packages
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
- 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)
- Clone the repository:
git clone <repository-url>
cd Smart-Package-Tracking- Backend setup:
cd monitoring
# Create .env file with your configuration
make up- Frontend setup:
cd ../monitoring-client
npm installStart the containerized backend services:
cd monitoring
make upBuild and deploy the application:
make deployMonitor the application logs:
make monitorThe backend API will be available at http://localhost:8080
cd monitoring-client
npm run devThe frontend application will be available at http://localhost:3000
make up- Start Docker containers (database, web server)make down- Stop containers and remove local images/volumesmake down-all- Stop containers and remove all images/volumesmake build- Build the Maven projectmake deploy- Build and deploy the WAR file to WildFlymake monitor- Deploy and follow application logsmake bash- Access the web server container shellmake logs- View web server logsmake sql- Access PostgreSQL databasemake ps- Show running containersmake mails- Access SMTP container for mail testing
The project includes a Bruno collection for API testing. To use it:
- Install Bruno
- Open the
bruno-requestsfolder in Bruno - Configure the environment variables
- Run the API tests