Coder Social home page Coder Social logo

expend-rs's Introduction

Build Status

An application tailored to help automating the creation of repetitive expenses which don't require a receipt, namely per diems, mileage and free-form expenses for everything else.

Installation on OSX

Using Brew it's certainly easiest:

brew tap Byron-TW/expend-rs https://github.com/Byron-TW/expend-rs
brew install expend

Without brew, you can download the latest release binary from the releases page, unzip the archive and place the binary in your PATH.

Usage

Please note that all following commands require some pre-requisites - they are documented further below.

Post Per-Diems

You can create per-diems like this:

expend post perdiem weekdays fullday

To learn more, just use --help

expend post perdiem --help

Post Anything

In case there is no dedicated sub-command for your kind of expense, you can also post any JSON file content directly. It must be the object expected in the inputSettings field of the typical payload - all other values are provided by expend.

expend post from-file ./payload-file.json

Prerequesites

First of all, you should head over to the expensify integration documentation to generate your set of credentials. With these equipped, the first time you run any expend post sub-commands you will be prompted for said credentials - by default they are stored in your systems keychain for safe-keeping.

Next you should create a default context, which identifies your e-mail address and project name. Said project name can be copied directly from the respective project field from expensify.com.

Roadmap

v1.1.0

  • Mileage sub-command

v1.0.0

  • add 'travel-billable' flag to the user context
  • add 'country' to the user context, but default to germany
  • add various per-diem types, like 'lunch/dinner'
  • implement subtraction for per-diems
  • support for custom comments in per-diems
  • travic CI
  • brew
  • some docs

Limitiations

Support for Linux and Windows

  • On Linux, compilation currently fails as GMP and DBUS libraries are required for keychain support.
  • On Windows compilation fails due to our dependency to Termion.

Maintenance Notes

On creating a new release

  • Update the Roadmap so it's clear which new features are included.
  • Update the version in Cargo.toml to match the new release and push the commit.
  • Create a tag with the new version, ideally without any prefix, and push it with git push --tags.
  • Travis will be busy generating the binary's archive, and you can run make update-homebrew right after pushing to update the respective brew file to match the new version.
  • Once the brew formula was updated, commit and push, ideally with the comment [skip CI] to avoid travis to run unnecessarily.

expend-rs's People

Contributors

byron avatar

Watchers

Mario F avatar James Cloos avatar  avatar

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.