Invoicing is a invoicing system that's easy to use and simple.
It's intended for small companies and it doesn't have many special features but it should be quite good and simple for that since as an small business you'll would more likely use your time to something more valuable than invoicing bullshit.
- A web server (Nginx or apache for example)
- PHP 5.6
- PostgreSQL 9.4
The Invoicing is built using Symfony3 and React, but all of this might change in the future.
Frontend code is in the client
folder.
Symfony is built with the Standard edition structure.
To use the application, first install it according to the guide below, and add a user to be able to login. You should also add a company into the database to be able to use it.
- Download sources from Github.
- Create a database in PostgreSQL
- Run
composer install
and answer to the questions the installation script asks. This creates automatically the required configuration to run the application - Run database migrations using the command
php bin/console doctrine:migrations:migrate
. - Point your webserver to the
web/
folder (look at the example nginx configurationdoc/nginx.example.conf
) - Copy
src/Invoicing/Bundle/AppBundle/Resources/invoice/default-settings.example.yml
tosrc/Invoicing/Bundle/AppBundle/Resources/invoice/default-settings.yml
and modify settings accordingly. - Copy
src/Invoicing/Bundle/AppBundle/Resources/views/invoice/invoice-template-example.html
tosrc/Invoicing/Bundle/AppBundle/Resources/views/invoice/invoice-template.html
and modify according to your needs. - Initialize the frontend by running
npm install
andnpm start
in theclient
folder. - Add a user using the command below.
- Add a company to the database:
INSERT INTO company(name) VALUES('Yritys Oy');
- Application is ready to use.
To add a user to the application, run php bin/console user:create
. The guide will ask for username and password. After user creation you may log in.
Run git push [environment]
to push to the desired environment.
Applications are ran as herokuishuser
, so if you need to run migration or other commands on the server do the following:
- SSH to server
- Run
dokku enter [applicationname]
- Run
su -u herokuishuser
to become herokuishuser - Run your desired commands (for example
php bin/console doctrine:migrations:migrate
)
In order to manage the postgres instance, do the following:
dokku postgres:enter [applicationname]
psql -U postgres