Shipment Tracker is a web application developed to simplify the process of tracking shipments. This project was part of my coursework in CS361.

Project Overview

Shipment Tracker was created as part of my coursework in CS361 to address the challenges of tracking multiple shipments from different couriers.

ItItprovidesprovidesaaunifiedunifiedplatformplatformtotomonitormonitorthethestatusstatusandandjourneyjourneyofofpackages,packages,offeringofferingfeaturesfeaturessuchsuchasasreal-timereal-timeupdatesupdatesandandaauser-friendlyuser-friendlyinterface.interface.

Development

The development process involved extensive use of React for the frontend and Node.js for the backend, incorporating various state management techniques to handle asynchronous data fetching and UI updates. The project emphasized clean code practices, although some functions were necessarily lengthy due to complex logic for handling HTTP requests and state updates.

Challenges and Solutions

During development, one of the main challenges was managing asynchronous state updates in React, which led to issues with state desynchronization. To address this, I opted to keep some functions longer for better control over state management. Additionally, the CSS codebase grew large due to the custom styling required for the application's unique components.

Lessons Learned

Through this project, I gained valuable experience in handling asynchronous operations in React and managing complex state changes. I also learned the importance of modularizing CSS for maintainability and the challenges associated with handling large codebases.

Future Improvements

Future improvements for Shipment Tracker include modularizing the SCSS for better maintainability, optimizing the state management logic to reduce function lengths, and enhancing the mobile responsiveness of the application.

Reflection on Agile Development

Agile methodology was instrumental in the development of Shipment Tracker, allowing for quick pivots and iterative improvements. This approach was particularly beneficial given the project's dynamic requirements and the need for rapid adjustments.

frontend

React

Framer Motion

Google Maps

backend

Node

Express

MongoDB

testing

Jest

tools

VS Code

GitHub

NPM

ESLint

Prettier

Analytics

    00