Skip to content

Justintime50/easypost-tools-ui

Repository files navigation

EasyPost Tools UI

Create shipping labels, track, insure, and refund packages all from a simple UI.

Build Status Coverage Status Version Licence

Showcase

What Can it Do?

The EasyPost Tools UI is a proof of concept on how to build a complete shipping solution using the EasyPost API.

  • Create shipments and printable parcel labels & envelope stamps with upwards of 100 carriers
  • Retrieve addresses, carriers, insurance, parcels, shipments, and trackers from EasyPost
  • Track a package
  • Insure a package
  • Refund a shipment
  • Support multiple users with unique logins and EasyPost API keys

As this project is a proof of concept, it may be missing some EasyPost features. If you'd like to support its continued development, feel free to sponsor or star the project!

See the accompanying EasyPost Tools repo for additional tooling not available via the UI.

How it Works

The EasyPost API allows you to create shipping labels with some of the biggest parcel carriers in the space. Supply a from_address, to_address, parcel, and preferred shipping rate/method. Print the label, slap it on your package, and drop it off at your carrier's location. That's it!

Install

# Copy the env files, edit as needed
cp src/.env-example src/.env && cp .env-example .env

# Run the setup script which will bootstrap all the requirements, spin up the service, and migrate the database
just setup

Usage

Navigate to easyposttools.localhost locally or https://easyposttools.com in production.

Once the project is setup, simply interact with the various links in the app to interact with the API. Create records, retrieve them, and purchase shipping labels all without needing to do the hard work of mapping an API.

EasyPost API: You'll need a test or production API key from EasyPost's website. Create an account and grab the API key you'd like to use. If using your production API key, make sure to setup billing info on your EasyPost account.

Deploy

# Deploy the project locally
just run

# Deploy the project in production
just prod

Development

NOTE: To use dev dependencies, you'll need to install project dependencies outside of the Docker container on your machine.

# Get a comprehensive list of development tools
just --list