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