Skip to content

A full-stack Invoice Management System designed to automate invoice processing. Built with React.js for the front-end, Node.js and Express for the back-end, and MongoDB for data storage. Features include user authentication and integration with Google’s Document AI for automated invoice data extraction.

Notifications You must be signed in to change notification settings

oneaisyah/Invoice-Management-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Invoice Management System

A full-stack web application designed for a business to efficiently manage and process invoices. The system allows users to create, view, edit, and delete invoices, with added features such as invoice data extraction using Google Document AI and secure user authentication.

Features

  • User Authentication: Secure login and registration system.
  • Invoice Management: Create, view, update, and delete invoices and statement of accounts.
  • Data Extraction (OCR): Integration with Google Document AI to extract invoice data automatically.
  • Secure Data Storage: User data and invoices are stored securely in MongoDB.

Tech Stack

Frontend

React React Router Material-UI Axios

Backend

Node.js Express MongoDB Google Document AI JWT

Installation

Prerequisites

Before getting started, make sure you have the following installed:

  • Node.js (v14 or higher)
  • npm (or yarn if preferred)

Frontend Setup

  1. Clone the repository:

    git clone https://github.com/oneaisyah/invoice-management-system.git
    cd invoice-management-system
  2. Install the frontend dependencies:

    cd frontend
    npm install
  3. Start the frontend development server:

    npm start

    The frontend will be accessible at http://localhost:3000.

Backend Setup

  1. Install the backend dependencies:

    cd backend
    npm install
  2. Set up the backend environment variables:

    • Create a .env file in the backend directory.
    • Add the following environment variables to connect to MongoDB and configure authentication:
      NODE_ENV=production
      mongodb_uri="your_mongodb_connection_string"
      dbName_production="your_production_db_name"
      dbName_testing="your_testing_db_name"
      dbUsername="your_db_username"
      dbPassword="your_db_password"
      TOKEN_KEY="your_secret_key"
  3. Start the backend server:

    npm start

    The backend will be accessible at http://localhost:8888.

Usage

  • Frontend: View and manage invoices, authenticate users, and interact with the backend to fetch or modify data.
  • Backend: RESTful API to handle requests, manage user authentication, interact with MongoDB, and integrate with Google Document AI.

About

A full-stack Invoice Management System designed to automate invoice processing. Built with React.js for the front-end, Node.js and Express for the back-end, and MongoDB for data storage. Features include user authentication and integration with Google’s Document AI for automated invoice data extraction.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 7