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

https://github.com/mehulpatel2312/contract-invoice-management-system

Contract & Invoice Management System is a full-stack MERN application designed to help businesses efficiently manage contracts and invoices. It includes features like contract renewal tracking, invoice status updates, role-based user access, and automated notifications to ensure timely payments and streamlined operations.
https://github.com/mehulpatel2312/contract-invoice-management-system

billing-system contract-management expressjs invoice-management mern mern-project mern-stack mongodb nodejs reactjs

Last synced: 18 days ago
JSON representation

Contract & Invoice Management System is a full-stack MERN application designed to help businesses efficiently manage contracts and invoices. It includes features like contract renewal tracking, invoice status updates, role-based user access, and automated notifications to ensure timely payments and streamlined operations.

Awesome Lists containing this project

README

        

# Contract & Invoice Management System

## 📌 Project Description
A full-stack MERN-based Contract & Invoice Management System that allows businesses to efficiently create, track, and manage contracts and invoices. It includes role-based access control, automated tax calculations, and a structured payment and deduction system.

---

## 🚀 Tech Stack
- MongoDB
- Express.js
- React.js
- Node.js

---

## 🔧 Installation Steps

1. Clone the repository:
```sh
git clone
cd CIMS
```
2. Navigate to the backend folder and install dependencies:
```sh
cd backend
npm install
```
3. Navigate to the frontend folder and install dependencies:
```sh
cd ../frontend
npm install
```
4. Install additional libraries such as `lucide-react` if required (refer to `package.json`).
5. Configure environment variables (see below).
6. Start the backend server:
```sh
npm run dev
```
7. Start the frontend server:
```sh
npm start
```

---

## 🛠 Environment Variables
Create a `.env` file in the backend folder with the following content:

```plaintext
MONGODB_URI=mongodb+srv://:@cluster0.mongodb.net/contract_management?retryWrites=true&w=majority
PORT=5000
JWT_SECRET=
NODE_ENV=development
FRONTEND_URL=http://localhost:3000
SENDGRID_API_KEY=
SENDGRID_FROM_EMAIL=
UPLOAD_PATH=uploads
MAX_FILE_SIZE=5242880 # 5MB
ALLOWED_FILE_TYPES=image/jpeg,image/jpg,image/png
```

---

## 📖 Usage Instructions
- **Creating Contracts & Invoices:** Use the "Create Contract" button on the contract page and the "Create Invoice" button on the invoice page.
- **Admin Setup:** Before using the frontend, create an admin user using Postman:
1. Use the API to create a user with the admin role.
2. Log in using that admin account from the frontend.

*Without this step, the system may not function as expected.*

---

## 🔑 Roles & Permissions
- **Admin:** Full access (manage users, contracts, and invoices).
- **User:** Can only create and view contracts/invoices. No edit or delete permissions.

---

## 🌐 API Documentation
- Users can refer to the backend route files for available API endpoints.
- A Postman collection can be generated by referring to the backend schema models.

---

## 🔮 Future Enhancements
- Implement a client portal where companies under contract can view their contracts, invoices, and make direct payments.
- Enhance existing features and introduce more automation in invoice tracking and payments.

---

## 👤 Contributors
This project was developed entirely by Mehul Patel from scratch. No external contributors.

---

## 📜 License
This project does not include a license.

---