1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-09-20 00:11:35 +02:00
Go to file
2015-04-17 11:18:58 +03:00
app Merge remote-tracking branch 'remotes/ninja/master' 2015-04-17 00:34:57 +03:00
bootstrap Working on L5 2015-04-08 21:19:58 +03:00
config pdf download fixed 2015-04-17 11:18:58 +03:00
database Merge branch 'master' of https://github.com/trigras/invoice-ninja 2015-04-17 00:35:20 +03:00
public pdf download fixed 2015-04-17 11:18:58 +03:00
resources pdf download fixed 2015-04-17 11:18:58 +03:00
storage Working on setup page 2015-03-25 21:56:31 +02:00
tests Add Files 2015-03-17 07:45:25 +10:00
.bowerrc preparation to integrate makepdf 2015-04-12 17:19:26 +03:00
.env.example Working on L5 2015-04-12 17:18:05 +03:00
.gitattributes Bring in Laravel5 framework. 2015-03-12 10:44:39 +10:00
.gitignore Remove PHP-Payments from Composer 2015-04-06 12:59:52 +10:00
artisan Bring in Laravel5 framework. 2015-03-12 10:44:39 +10:00
bower.json initial template 2015-04-13 09:02:33 +03:00
composer.json Added support for Bitcoin 2015-04-15 19:35:41 +03:00
composer.lock Added support for Bitcoin 2015-04-15 19:35:41 +03:00
Gruntfile.js use invoice colors 2015-04-14 13:23:35 +03:00
gulpfile.js Bring in Laravel5 framework. 2015-03-12 10:44:39 +10:00
package.json use custom fonts 2015-04-13 12:23:43 +03:00
phpspec.yml Bring in Laravel5 framework. 2015-03-12 10:44:39 +10:00
phpunit.xml Bring in Laravel5 framework. 2015-03-12 10:44:39 +10:00
readme.md Working on L5 2015-04-13 10:54:51 +03:00
server.php Bring in Laravel5 framework. 2015-03-12 10:44:39 +10:00

Invoice Ninja

Simple, Intuitive Invoicing

https://www.invoiceninja.com

Please click here to vote for us to be added to Bitnami's one-click install library

If you'd like to use our code to sell your own invoicing app we have an affiliate program. Get in touch for more details.

Introduction

Most online invoicing sites are expensive. They shouldn't be. The aim of this project is to provide a free, open-source alternative. Additionally, the hope is the codebase will serve as a sample site for Laravel as well as other JavaScript technologies.

To setup the site you can either use this zip file (easier to setup) or checkout the code from GitHub following the instructions below (easier to stay up to date).

For a WAMP/MAMP/LAMP setup you can one-click install using Softaculous's AMPPS. To deploy the app with Docker you can use this project.

To connect follow @invoiceninja or join the Facebook Group. For discussion of the code please use the Google Group.

If you'd like to translate the site please use caouecs/Laravel4-long for the starter files.

Developed by @hillelcoren | Designed by kantorp-wegl.in.

Features

  • Core application built using Laravel 5
  • Invoice PDF generation directly in the browser
  • Integrates with many payment providers
  • Recurring invoices
  • Tax rates and payment terms
  • Multi-user support
  • Zapier integration
  • D3.js visualizations

Contributors

Documentation

Steps to setup from GitHub

If you plan on submitting changes it's best to fork the repo, otherwise you can just checkout the code.

git clone https://github.com/hillelcoren/invoice-ninja.git ninja
cd ninja

Install Laravel packages using Composer

Note: you may be prompted for your Github user/pass due to their API limits.

composer install

Install JavaScript and HTML packages using Bower and NPM. This is optional, it's only needed if you want to modify the JavaScript.

bower install
npm install    

Create database user and a database for ninja

CREATE SCHEMA `ninja` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'ninja'@'localhost' IDENTIFIED BY 'ninja';
GRANT ALL PRIVILEGES ON `ninja`.* TO 'ninja'@'localhost';
FLUSH PRIVILEGES;

Add public/ to your web server root then load / to configure the application.

Developer Notes

  • The application requires PHP >= 5.4.0
  • If you make any changes to the JavaScript files you need to run grunt to create the built files. See Gruntfile.js for more details.
  • The lookup tables are cached in memory (ie, Currencies, Timezones, Languages, etc). If you add a record to the database you need to clear the cache by uncommenting Cache::flush() in app/routes.php.
  • If you run into any composer errors try running composer dump-autoload.

Ubuntu Notes

# Install php-mcrypt
apt-get install php5-mcrypt
sudo php5enmod mcrypt

# Install Composer
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

# Install Bower
sudo apt-get install npm nodejs-legacy
sudo npm install -g bower
sudo ln -s /usr/local/lib/node_modules/bower/bin/bower /usr/local/bin/bower

# Install Grunt (For development only)
npm install -g grunt-cli

Frameworks/Libraries