Code Monkey home page Code Monkey logo

goalboost's Introduction

Goalboost

Goalboost is a time and billing application written using Python, Flask, and MongoDb. It is employee owned source, not open source -- see the license.

Getting Started.

You'll need Python 3 and MongoDb installed, as well as PIP3 if that doesn't come with your python3 distribution. Once you have these, follow these steps: Make sure the mongo service is running (mongod) To install the dependencies run "pip3 install -r /path/to/requirements.txt" (requirements.txt is in the source code folder root). Once you've done this you should be able to run the server in the source code root with the following command:

python3 manage.py runserver_debug

At this point you if all goes well you'll have a server running at http://localhost:5000. Because we're running mongo no datbase setup is needed other than to run the server -- collections will be created as we go along.

Hours

We keep track of our hours in docs/hours.json

Time and Billing App (Specification -- First Try)

Some Ideas / Competitors:

See also the time and billing section of this article re Bill4Time and Chrometa.

Concepts:

  • Team -- this is our customer's employees or associates, the folks doing the billing
  • People -- "Subclasses" (conceptually) are TeamPeople (aka Users) or ClientPeople. The difference will be modeled this way:
  • "userCredentials" will be none on non-users, or will contain userCredentials for users.
  • Client -- This is a company (or person) which we bill for services
  • Projects / Matters - a body of work that can be billed separately or used for tracking. Related to Clients / ClientPeople.
  • Timers (Description, plus 1-N dates and times. Second precision but may need rounding rules for invoices?)
  • "Billable" -- can be a project, a company, or a person.
  • Invoices, which consist of invoice lines and reference a billable.
  • InvoiceItem:
    • Is either a service or expense
    • Assumption for services is rate * hours = amount. May elect to show hours and rates on invoice or not.
    • Contains a description of task (timer description), a short service title (e.g senior partner, designer, paralegal, etc.)
    • Edit form contains simple checkbox to exclude or not, edit controls for everything else to adjust (hours etc.)
  • Rates:
    • Are either by Billable (client, project etc.) or by ServiceTitle (Senior Partner, Senior Partner Courtroom, etc.), or both.

goalboost's People

Contributors

johnlockwood avatar georgemarks avatar

Watchers

James Cloos avatar Jenniffer Lockwood 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.