Code Monkey home page Code Monkey logo

easypost-tools-ui's Introduction

Hey, I'm Justin Hammond ๐Ÿ‘‹

Senior Software Engineer @EasyPost, IT Pro, Tech Enthusiast

I love all things tech. I've been programming for 18+ years, tinkering with electronics for 15+ years, and founding or building tech companies for 10+ years. I'm an open source fanatic, Apple fanboy, and love to explore new tech. I spend my time coding open source projects, tinkering with electronics and new tech products, and consulting teams on how to get things done.

Noteworthy Projects

The following are items that may not be represented on my GitHub profile but are noteworthy in the software space:

GitHub Stats

Metrics

Latest Blog Posts

easypost-tools-ui's People

Contributors

dependabot[bot] avatar justintime50 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

easypost-tools-ui's Issues

"Not Supported in UI" Links Open a New Page

We should not be opening a new page on the links for items that are not supported in the UI. I believe this was leftover from when we redirected to the EasyPost website. Remove the target=_blank from these items.

Allow return Labels

Currently there is no way to create a return label via the UI. This could either be accomplished by adding a return checkbox which would require the user to add all the information again or we could start storing records in the DB. Neither are great as the DB was only intended (at least initially) to house login details and the EasyPost API Key, the other isn't great for the user.

There are No GET Pages in This App

It appears that all of the buttons that should be returning a page are instead returning it via POST so the page loads but the URL is messed up because of it and if you try and take an action from that page, it breaks due to it trying to re-hit the URL loaded which is the previous POST url (eg: create a shipment, then attempt to buy a label, it will break thinking you tried to hit the create-shipment route again.)

Introduce GET pages that these post forms can land you on safely

Revisit Validation - "State is Required" May Not Always Be True

Currently the level of validation is a bit aggressive. EasyPost will spit back errors when they can't build records, a lot of the validation should fall on them instead. For instance, the state field is required on addresses via this UI but isn't always required (international addresses) via EasyPost.

Build out Multi-User Functionality

Currently the app is intended to only be deployed locally. I've already added the Laravel auth scaffolding, it should be pretty simple to toss in a database via Docker and allow users to store their API Keys allowing for multiple users.

Shipment Buy/Refund Flows Are Broken

The routing is broken when buying/refunding a shipment. You can get to the rates screen but it breaks when you attempt to buy because the url is still create-shipment on the rates view. It's mixing GET and POST content so it tries to submit create-shipment again when buying when really it needs to be buy-shipment.

Add PHP Unit Testing to Travis-CI

Currently Travis only tests if dependencies can be installed and the Dockerfile can be built but doesn't do much PHP testing. We'll need to add that in.

NPM Security Audit

There are a bunch of NPM packages that need a bump due to security vulnerabilities.

npm audit fix should do the trick.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.