• This repository has been archived on 31/Jul/2019
  • Stars
    star
    387
  • Rank 110,644 (Top 3 %)
  • Language
    PHP
  • Created over 12 years ago
  • Updated about 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

DEFUNCT: PHP/MySQL: Multi-Tenant Invoice Web App

NeoInvoice by Thomas Hunter II

I started building NeoInvoice in 2010. It was hosted at neoinvoice.com. The plan was to maybe one day make money from it, but I never really advertised or monetized the app. Two years later, after never making a dime and paying about over $1,000 in hosting costs, I finally realized it was costing more money than it was making me, so I shut down the app and open sourced it.

What is NeoInvoice?

NeoInvoice is a set of software tools useful to most online / service businsses. It is a single app, meant to be used by many different companies, each company having many different users, all having their own login credentials.

Video Overview

Visit this page for a video of me showing off all of the features, and some technical explanation, as well as a bunch of high rez screenshots:

Features

  • Time Tracking
  • Issue Tickets
  • Email PDF Invoices
  • Many Users
  • Configurable User Roles
  • OS X Dashboard Widget for Entering Time
  • etc.

Technology Stack

NeoInvoice is a PHP, MySQL, Memcache/APC app. It runs on a Linux server, and has been run using both lighttpd and apache.

Installation

  • Set the root of the website to public/
  • chmod 777 public/system/logs/ public/assets/logos/
  • Update public/application/config/paypal_config.php with your paypal email address
  • Update public/application/controllers/payment.php with your paypal email address
  • Update public/config.php with your MySQL connection settings and domain names
  • Update public/config.php with an email address for getting SQL dumps
  • If using lighttpd, copy over the resources/lighttpd.conf file
  • Set a salt for public/application/libraries/Rm_user.php
  • Set a salt for public/application/models/company_model.php
  • Setup CRON tasks for resources/cron.(daily|weekly).task.txt
  • Import resources/schema.sql into your MySQL database
  • Replace all instances of neoinvoice.com with your domain
  • Either install Wordpress into public/docs/, or remove references to the Wordpress Model

Administration

I had a directory setup which was password protected, and contained the following scripts:

  • APC Control Panel
  • eAccelerator Control Panel
  • Memcache Control Panel
  • SQL Buddy
  • phpinfo script

These five scripts were all I needed to administrate the server. There shouldn't be much upkeep required, however. It takes care of itself pretty well.

What Sucks?

A lot sucks. I'll start making some tickets for all of the things I'm aware of which is broken (if there is interest for anyone to fix the issues). I probably won't be doing much development myself, but I don't mind facilitating a bunch of pull requests.

Git History

I was keeping track of the entire history of the project, and had near 400 commits, but while doing some git history changing operations to remove sensitive data, bad things started to happen. So, I flattened the repo and started from scratch. Most of these files are 1 to 2 years old.

License

This application is released under a dual GPL/BSD license. You can use whichever one you would prefer. This app makes use of several open source technologies, and they all have their own licenses, and are of course not bound to the overall NeoInvoice license. These projects usually have a LICENSE and README file in their directory.

More Repositories

1

Cobalt-Calibur-3

DEFUNCT: HTML5 and Node.js multiplayer browser game from 2013
JavaScript
470
star
2

vimrc

Opinionated VIM Configuration
Vim Script
321
star
3

consumer-centric-api-design

Book on HTTP API Design, LaTeX, Creative Commons
TeX
320
star
4

node-wireless

DEFUNCT: Node.js: WiFi Connection Management
JavaScript
213
star
5

distributed-node

Optional Companion Files for Distributed Systems with Node.js
JavaScript
184
star
6

spidermonkey

DEFUNCT: PHP Web Spider from 2011
PHP
99
star
7

node-arpad

An implementation of the ELO Rating System
JavaScript
96
star
8

i3-i3status-dmenu-configurator

Online Colorscheme Configurator for i3, i3status, dmenu
JavaScript
58
star
9

node-roguelike

Generate Top-Down 2D Dungeon Maps
JavaScript
51
star
10

game-of-life

JavaScript implementation of Conway's Game of Life but with Game Elements
JavaScript
50
star
11

mobile-game-skeleton

Cordova Skeleton Project, used for creating Strategic Game of Life
Objective-C
47
star
12

consul-haproxy-example

HAProxy load balancing Node.js apps discovered via Consul
JavaScript
44
star
13

sleekmvc-app

DEFUNCT: Sample Application using the SleekMVC Framework
PHP
33
star
14

whisper

This project has evolved into Radar Chat.
JavaScript
19
star
15

sleekmvc

DEFUNCT: Lightweight & Beginner Friendly PHP MVC Framework
PHP
18
star
16

mig

The Universal Database Migration Runner. Distributed as precompiled binaries.
Go
16
star
17

node-autotile

JavaScript Autotile Generator
JavaScript
14
star
18

node-grille

Google Spreadsheets CMS
JavaScript
12
star
19

node-news-daemon

Node.js app based on the book Daemon by Daniel Suarez
JavaScript
11
star
20

backbone-book

Code Samples for Instant Backbone.js Application Development
JavaScript
11
star
21

robot-onslaught

Entry into the PubNub 2014 Competition
JavaScript
10
star
22

node-gacha

Item drop distribution for Roguelikes
JavaScript
9
star
23

php-social-network-bot

DEFUNCT: AJAX social network bot I cobbled together in 2009
JavaScript
6
star
24

dotfiles

Configuration files for Linux and OS X
Shell
5
star
25

Cobalt-Calibur-2

DEFUNCT: PHP/MySQL AJAX Game Engine from 2006
PHP
5
star
26

facebook-squirrelify

DEFUNCT: This is a silly image editing Facebook app I built in 2009
PHP
5
star
27

plot-designer

Plot Designer: Drag and Drop Story Design
JavaScript
4
star
28

node-docs-pdf

Generate PDF docs from online Node.js documentation
JavaScript
4
star
29

php-and-redis-example

Example PHP and REDIS project for the Ann Arbor PHP MySQL Meetup
PHP
4
star
30

dumbpubsub

Allows non-evented apps to subscribe to Node.js events over HTTP
JavaScript
3
star
31

node-discovery

100 line Service Discovery example
JavaScript
3
star
32

nucleocide-gtk

BSM Simple Dark (GTK2) + Dorian (GTK3) Theme
CSS
3
star
33

node-rpc-playground

Benchmarking Node.js RPC Patterns
JavaScript
3
star
34

php-eve-crawler

DEFUNCT: PHP App for crawling EVE kill-mail websites and creating heatmaps. 2009
PHP
3
star
35

node-nextplayer

Redis backed Round-Robin player turn control
JavaScript
3
star
36

node-word-generator

Generate pseudo-English words
JavaScript
2
star
37

take-home-test-node-trie

Teaching a friend how to implement Tries in JS
JavaScript
2
star
38

php-wordpress-thomashunter-theme

Wordpress theme for ThomasHunter.name
PHP
2
star
39

tlhunter

GitHub Profile
2
star
40

take-home-test-httpd-logs

Real-time statistics from httpd log files
JavaScript
2
star
41

gqrx-bookmarks

Bookmarks for GQRX: Community Broadcast CB, Family Radio, etc.
JavaScript
2
star
42

interview-questions

JavaScript, Node, Web-related questions, one per file, open ended
JavaScript
2
star
43

http-euchre

1
star
44

php-batman

Batman Comic Generator
PHP
1
star
45

presentations

Presentations by Thomas Hunter II
JavaScript
1
star
46

rust-transactional-dictionary

Rust
1
star
47

obsceneart

DEFUNCT: PHP/CodeIgniter Project from 2011
PHP
1
star
48

acdbrn

DEFUNCT: Open Source PHP Content Management System from 2005
JavaScript
1
star
49

wifi-jiggle

Much like a toilet, sometimes those WiFi cards just need to have their handle jiggled
C
1
star
50

node-zipkin-lite

Node.js module supporting a subset of Zipkin features
JavaScript
1
star
51

ponzir

Anonymous Reputation-Based Distributed Worker Network
JavaScript
1
star
52

Cobalt-Calibur-1

DEFUNCT: Perl CLI game I made in 2004
Perl
1
star
53

fastify

Fast and low overhead web framework, for Node.js
JavaScript
1
star
54

serve-sab

Fork of the "serve" package, modified to always set headers required to support SharedArrayBuffers. Used in the book Multithreaded JavaScript.
JavaScript
1
star