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.
- 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.
Before getting started, make sure you have the following installed:
- Node.js (v14 or higher)
- npm (or yarn if preferred)
-
Clone the repository:
git clone https://github.com/oneaisyah/invoice-management-system.git cd invoice-management-system -
Install the frontend dependencies:
cd frontend npm install -
Start the frontend development server:
npm start
The frontend will be accessible at
http://localhost:3000.
-
Install the backend dependencies:
cd backend npm install -
Set up the backend environment variables:
- Create a
.envfile in thebackenddirectory. - 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"
- Create a
-
Start the backend server:
npm start
The backend will be accessible at
http://localhost:8888.
- 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.