rumbis / Invoice-Generator

A single-page-app created with React.js where users can generate, store and send invoices.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Invoice Generator

Form demo screenshot

Table of Contents


Introduction

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

Demo the latest build here

Features

  • 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

Planned Improvements

  • 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

Installation and Setup

  1. Clone this repository:

    git clone https://github.com/tom-odonovan/Invoice-Generator.git 
  2. Install dependencies:

    cd invoice-generator
    yarn install
  3. Run the app:

    yarn start
  4. Open http://localhost:3000 in a web browser to view the app.


Usage

  1. Enter the invoice details in the top section of the form.
  2. Fill out the vendor and client details in the form.
  3. Add line items by filling out the item name, quantity, and price and clicking the "Add Item" button.
  4. The app will calculate the totals and taxes automatically.
  5. Add any additional notes or payment details in the bottom section of the form.
  6. Preview the invoice by clicking the "Preview" button.
  7. Print the invoice using the Print button or Download by selecting 'save as a PDF' via the print preview.

Contributing

Contributions to the Invoice Generator app are welcome and encouraged! To contribute, follow these steps:

  1. Fork the repository
  2. Create a new branch
    git checkout -b my-new-feature
  3. Make changes and commit
    git commit -m 'Add some feature'
  4. Push to the branch
    git push origin my-new-feature
  5. Create a new Pull Request

Testing

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.

Licence

This project is licenced under ...project licence here

About

A single-page-app created with React.js where users can generate, store and send invoices.


Languages

Language:JavaScript 72.7%Language:CSS 26.0%Language:HTML 1.3%