An open API service indexing awesome lists of open source software.

https://github.com/srijitpatra99/invoice-management-app

**Invoice-App** is a Node.js and Express API for creating, storing, and managing invoices with automated email alerts for due dates and status updates. Data is securely stored in MongoDB. ๐Ÿš€
https://github.com/srijitpatra99/invoice-management-app

expressjs mongodb node-cron nodejs

Last synced: 3 months ago
JSON representation

**Invoice-App** is a Node.js and Express API for creating, storing, and managing invoices with automated email alerts for due dates and status updates. Data is securely stored in MongoDB. ๐Ÿš€

Awesome Lists containing this project

README

        

# ๐Ÿงพ Invoice-App

An API that allows users to **create, store, and manage invoices** efficiently. It supports email notifications upon invoice creation and alerts users a day before the due date. Users can also **update invoice statuses (Paid/Late), triggering automatic email notifications** about the status change.

๐Ÿ“„ **[API Documentation](https://documenter.getpostman.com/view/19569751/UVkgxJsK) (Postman)**

---

## ๐Ÿš€ Features

โœ… Create multiple invoices with required details
โœ… Store invoices in MongoDB database
โœ… Email notification upon successful invoice creation
โœ… Automatic reminder email **one day before** the due date
โœ… Update invoice status (Paid/Late) with email confirmation
โœ… Secure authentication using **Google API Credentials**

---

## ๐Ÿ› ๏ธ Setup & Installation

### 1๏ธโƒฃ Clone the Repository
```sh
git clone https://github.com/your-username/Invoice-App.git
cd Invoice-App
```

### 2๏ธโƒฃ Install Dependencies
```sh
npm install
```

### 3๏ธโƒฃ Set Up Environment Variables
Create a `.env` file in the root directory and add the following:
```
MONGO_URI=your_mongodb_connection_url
GOOGLE_API_CREDENTIALS=your_google_api_credentials
```

### 4๏ธโƒฃ Start the Server
```sh
npm start
```

### 5๏ธโƒฃ Test the API with Postman
- Open **Postman**
- Use the endpoints as documented in the **[API Documentation](https://documenter.getpostman.com/view/19569751/UVkgxJsK)**
- Upload invoices with the required fields
- Verify that invoices are stored in MongoDB

### 6๏ธโƒฃ Stop the Server
Press `CTRL + C` in the terminal

---

## ๐Ÿ“Œ Tech Stack
- **Backend:** Node.js, Express.js
- **Database:** MongoDB
- **Authentication:** Google API Credentials
- **Email Notifications:** Nodemailer

---

### ๐Ÿ“ฌ Contributions & Issues
Feel free to **fork** the repo and submit a **pull request**! For any issues, open a ticket in the **Issues** section.

๐Ÿ”น **Happy Coding!** ๐Ÿš€