2020-04-07 22:46:53 +02:00
< p align = "center" >
< img src = "https://raw.githubusercontent.com/hillelcoren/invoice-ninja/master/public/images/round_logo.png" alt = "Sublime's custom image" / >
< / p >
2020-12-18 05:14:24 +01:00
![v5-develop phpunit ](https://github.com/invoiceninja/invoiceninja/workflows/phpunit/badge.svg?branch=v5-develop )
![v5-stable phpunit ](https://github.com/invoiceninja/invoiceninja/workflows/phpunit/badge.svg?branch=v5-stable )
2021-01-29 13:05:03 +01:00
2020-04-07 22:46:53 +02:00
[![Codacy Badge ](https://api.codacy.com/project/badge/Grade/d39acb4bf0f74a0698dc77f382769ba5 )](https://www.codacy.com/app/turbo124/invoiceninja?utm_source=github.com& utm_medium=referral& utm_content=invoiceninja/invoiceninja& utm_campaign=Badge_Grade)
2021-03-19 22:48:04 +01:00
# Invoice Ninja version 5!
2020-04-07 22:46:53 +02:00
## Quick Start
Currently the client portal and API are of alpha quality, to get started:
```bash
git clone https://github.com/invoiceninja/invoiceninja.git
2021-01-29 13:05:03 +01:00
git checkout v5-stable
2020-04-07 22:46:53 +02:00
cp .env.example .env
composer update
2021-04-05 16:36:30 +02:00
php artisan key:generate
2020-04-07 22:46:53 +02:00
```
2020-06-09 00:10:06 +02:00
Please Note: Your APP_KEY in the .env file is used to encrypt data, if you lose this you will not be able to run the application.
2020-04-07 22:46:53 +02:00
Run if you want to load sample data, remember to configure .env
```
2020-06-30 13:18:16 +02:00
php artisan migrate:fresh --seed & & php artisan db:seed & & php artisan ninja:create-test-data
2020-04-07 22:46:53 +02:00
```
2021-01-29 13:05:03 +01:00
To run the web server
2020-04-07 22:46:53 +02:00
```
php artisan serve
```
Navigate to (replace ninja.test as required)
```
http://ninja.test:8000/setup - To setup your configuration if you didn't load sample data.
http://ninja.test:8000/ - For Administrator Logon
2020-06-30 13:18:16 +02:00
user: small@example.com
pass: password
2020-04-07 22:46:53 +02:00
http://ninja.test:8000/client/login - For Client Portal
user: user@example.com
pass: password
```
## Contribution guide.
Code Style to follow [PSR-2 ](https://www.php-fig.org/psr/psr-2/ ) standards.
All methods names to be in CamelCase
All variables names to be in snake_case
Where practical code should be strongly typed, ie your methods must return a type ie
`public function doThis() : void`
PHP >= 7.3 allows the return type Nullable so there should be no circumstance a type cannot be return by using the following:
`public function doThat() ?:string`
To improve chances of PRs being merged please include tests to ensure your code works well and integrates with the rest of the project.
## Documentation
API documentation is hosted using Swagger and can be found [HERE ](https://app.swaggerhub.com/apis/invoiceninja/invoiceninja )
2020-12-07 09:30:11 +01:00
## Credits
* [Hillel Coren ](https://hillelcoren.com/ )
* [David Bomba ](https://github.com/turbo124 )
* [All contributors ](https://github.com/invoiceninja/invoiceninja/graphs/contributors )
**Special thanks to:**
* [Holger Lösken ](https://github.com/codedge ) - [codedge ](http://codedge.de )
* [Samuel Laulhau ](https://github.com/lalop ) - [Lalop ](http://lalop.co/ )
* [Alexander Vanderveen ](https://blog.technicallycomputers.ca/ ) - [Technically Computers ](https://www.technicallycomputers.ca/ )
2020-12-07 09:40:12 +01:00
* [Efthymios Sarmpanis ](https://github.com/esarbanis )
* [Gianfranco Gasbarri ](https://github.com/gincos )
* [Clemens Mol ](https://github.com/clemensmol )
* [Benjamin Beganović ](https://github.com/beganovich )
2020-12-07 09:30:11 +01:00
2020-04-07 22:46:53 +02:00
## Current work in progress
Invoice Ninja is currently being written in a combination of Laravel for the API and Client Portal and Flutter for the front end management console. This will allow an immersive and consistent experience across any device: mobile, tablet or desktop.
To manage our workflow we will be creating separate branches for the client (Flutter) and server (Laravel API / Client Portal) and merge these into a release branch for deployments.
2020-12-07 09:30:11 +01:00
## License
Invoice Ninja is released under the Attribution Assurance License.
2021-04-05 16:36:30 +02:00
See [LICENSE ](LICENSE ) for details.