1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-08 20:22:42 +01:00
Go to file
2014-09-06 23:43:47 +03:00
app Text changes 2014-09-06 23:40:51 +03:00
bootstrap Added support for Zapier 2014-07-27 23:31:41 +03:00
node_modules Adding Grunt for file concat 2014-04-28 23:05:37 +03:00
public Working on API 2014-07-30 10:08:01 +03:00
tests Bug fixes 2014-03-17 20:05:01 +02:00
vendor/php-payments Adding php-payments library code 2014-04-13 09:39:55 +03:00
.bowerrc Set Proper File permissions. 2014-02-09 23:38:40 +02:00
.env.development.php Working on API 2014-07-30 10:08:01 +03:00
.gitattributes Set Proper File permissions. 2014-02-09 23:38:40 +02:00
.gitignore Disable commercial website unless it has NINJA_PROD or NINJA_DEV env set 2014-07-04 20:07:31 +02:00
artisan Upgraded to laravel 4.1 and working on app engine support 2014-01-04 23:31:37 +02:00
bower.json Select the right versions 2014-07-04 18:12:44 +02:00
codeception.yml Added codeception 2014-02-04 00:56:23 +02:00
composer.json Set intervention version 2014-07-17 12:06:21 +03:00
composer.lock Added support for Zapier 2014-07-27 23:31:41 +03:00
Gruntfile.js Working on self hosting 2014-07-15 23:36:40 +03:00
LICENSE Change to the license 2014-07-30 19:26:10 +03:00
package.json Adding Grunt for file concat 2014-04-28 23:05:37 +03:00
php.ini Set Proper File permissions. 2014-02-09 23:38:40 +02:00
phpunit.xml Set Proper File permissions. 2014-02-09 23:38:40 +02:00
README.md Text changes 2014-09-06 23:43:47 +03:00
scheduler.yml Set Proper File permissions. 2014-02-09 23:38:40 +02:00
server.php Set Proper File permissions. 2014-02-09 23:38:40 +02:00

Invoice Ninja

Simple, Intuitive Invoicing

https://www.invoiceninja.com

If you'd like to use our code to sell your own invoicing app get in touch.

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). There's also a more detailed setup guide available here. 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.

Site design by kantorp-wegl.in

Features

  • Core application built using Laravel 4.1
  • Invoice PDF generation directly in the browser
  • Integrates with many payment providers
  • Recurring invoices
  • Tax rates and payment terms
  • Multi-user support

Steps to setup

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

bower install

Create the development environment configurations

mkdir app/config/development
cp app/config/app.php app/config/development/
cp app/config/database.php app/config/development/
cp app/config/mail.php app/config/development/

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;

Configure development/config/database.php and development/config/mail.php and initialize the database.

php artisan migrate --seed

Add public/ to your web server root

Deleveloper Notes

  • 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

Frameworks/Libraries