/EasyShip

A Hackathon project for shipping copilots. The goal of the app is to upload a packing slip document using Azure AI, send the image to an Azure Function and analyze the data using Microsoft AI Document Intelligence Model.

Primary LanguageJavaScript

EasyShip


Table of contents

Overview

  • Welcome to the EasyShip Website! The goal of the app is to upload a packing slip document using Azure AI, send the image to an Azure Function and analyze the data using Microsoft AI Document Intelligence Model.

  • The function will return a model to the app and the final user would modify, if needed, the data received. The last step is store the data and call the Pitney Bowes API to search for carrier, services, prices, etc., and respond it back to the users to select.

  • This repository contains the codebase and documentation for a comprehensive web application designed to manage shipping operations, track shipments, and enhance customer experience. This README provides an overview of the project, installation instructions, key features, and guidelines for contributing.

The Challenge

  • The challenge is to present different ways of creating a shipping interface for Pitney Bowes. Consider how to get the information needed to choose a carrier service, shipping cost, and print a label: package dimensions, weight, origin, destination, and details such as when it needs to arrive and any special services. Explore at least 3 options, weighing the pros and cons of each and build a working proof of concept of at least one.

Base Requirements

  • Technologies that are used:

    • React, React-Bootstrap
    • Navigation with React Router, dynamic rendering, or another third-party router
    • Azure CLI
    • Pitney Bowes Shipping 360 API
    • Tailwind
    • Azure AI
    • Azure Function
    • Microsoft AI Document Intelligence Model

Key Features

  1. Microsoft AI Document Intelligence mmodel: Upload a document in order to extract the data and feed it to the shipping API.
  2. Azure Function: Secure user registration, login, and account management.
  3. Pitney Bowes API: Secure user registration, login, and account management.

Screenshot

Screenshot1 Screenshot2 Screenshot3

Links

Installation

  • To run this project locally, follow these steps:
  1. Clone the Repository: git clone https://github.com/yourusername/EasyShip.git cd EasyShip

  2. Install Dependencies: npm install

  3. Set Up Environment Variables:

  • Create a .env file in the root directory and add the necessary environment variables. Example:

    REACT_APP_API_URL=https://api.easyship.com

    REACT_APP_GOOGLE_MAPS_API_KEY=your-api-key

  1. Run the Application: npm start

  2. Build for Production: npm run build

Usage

  • To successfully make a call against Azure OpenAI, you need an endpoint and a key from the Azure portal. Alternatively, you can find the value in the Azure OpenAI Studio > Playground > Code View. An example endpoint is: https://docs-test-001.openai.azure.com/.

  • To make a call against Pitney Bowes API, you need a secure token to generate a Production Key and Sandbox Key.

  • Development Server:

-After running npm start, the application will be available at http://localhost:3000.

  • Production Build:

The production-ready build files will be in the build/ directory after running npm run build.

  • Deployment:

  • To deploy the application, you can use a static site hosting service like GitHub Pages, Netlify, or Vercel.

  • Testing:

  • The project includes unit tests for components and integration tests for API calls. To run the tests, use the command npm test.

  • Uploading a Document to use the AI feature:

  • On the website navigate to the application and in the navbar menu, under 'Pages', click on 'Upload a document' in order to analize it.

API Documentation

Contributing

  • We welcome contributions to improve this project. Please follow these steps:
  1. Fork the repository.
  2. Create a new branch with a descriptive name (feature/add-new-feature).
  3. Make your changes and commit them with descriptive messages.
  4. Push your changes to your forked repository.
  5. Create a Pull Request to the main branch of the original repository.
  6. Please ensure your code adheres to our coding standards and includes relevant tests.

Licence

License: MIT

Authors

EasyShip.com  ·  Email easyship@gmail.com  · 

Thank you for using and contributing to the EasyShip website! Your support helps us continually improve and deliver the best shipping management experience.