Invoice Generator is a web application built with React that allows users to generate and manage invoices. The app provides a simple and intuitive interface for users to input invoice details and generate a professional-looking invoice that can be printed or saved as a PDF.
Demo the latest build here
- Input and save vendor and client details
- Input and save invoice details (invoice number, date, due date)
- Add and edit line items (item name, quantity, price)
- Calculate totals and taxes automatically
- Add notes and payment details
- Preview and print invoices
- Download invoices as PDF files
- Save and retrieve invoices from database
- Save Client/Vendor information to database
- Upload logo image to invoices
- Implement download button to download PDF file
- Implement Signup/Login functionality to accomodate multiple users
- Create user sales reports to visualise business success
-
Clone this repository:
git clone https://github.com/tom-odonovan/Invoice-Generator.git
-
Install dependencies:
cd invoice-generator yarn install
-
Run the app:
yarn start
-
Open http://localhost:3000 in a web browser to view the app.
- Enter the invoice details in the top section of the form.
- Fill out the vendor and client details in the form.
- Add line items by filling out the item name, quantity, and price and clicking the "Add Item" button.
- The app will calculate the totals and taxes automatically.
- Add any additional notes or payment details in the bottom section of the form.
- Preview the invoice by clicking the "Preview" button.
- Print the invoice using the Print button or Download by selecting 'save as a PDF' via the print preview.
Contributions to the Invoice Generator app are welcome and encouraged! To contribute, follow these steps:
-
Fork the repository
-
Create a new branch
git checkout -b my-new-feature
-
Make changes and commit
git commit -m 'Add some feature'
-
Push to the branch
git push origin my-new-feature
-
Create a new Pull Request
Testing is an important part of this project, and helps ensure that everything is working as expected. To run tests, you'll need to have Node.js and npm installed on your machine. You can install them by following the instructions here.
Once you have Node.js and npm installed, you can run tests with the following command:
npm run test
Successful tests will show a list of passing tests and exit with a status of 0. If any tests fail, you'll see an error message explaining what went wrong. If you need help troubleshooting failed tests, please reach out or check the issue tracker for any known issues.
This project is licenced under the MIT License.