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.
- Host: GitHub
- URL: https://github.com/mehulpatel2312/contract-invoice-management-system
- Owner: MehulPatel2312
- Created: 2025-04-03T13:09:25.000Z (25 days ago)
- Default Branch: main
- Last Pushed: 2025-04-03T13:16:45.000Z (25 days ago)
- Last Synced: 2025-04-09T17:16:20.665Z (18 days ago)
- Topics: billing-system, contract-management, expressjs, invoice-management, mern, mern-project, mern-stack, mongodb, nodejs, reactjs
- Homepage:
- Size: 6.84 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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.---