Skip to content

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.

Notifications You must be signed in to change notification settings

MehulPatel2312/Contract-Invoice-Management-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

4 Commits
ย 
ย 

Repository files navigation

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:
    git clone <repository-url>
    cd CIMS
  2. Navigate to the backend folder and install dependencies:
    cd backend
    npm install
  3. Navigate to the frontend folder and install dependencies:
    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:
    npm run dev
  7. Start the frontend server:
    npm start

๐Ÿ›  Environment Variables

Create a .env file in the backend folder with the following content:

MONGODB_URI=mongodb+srv://<USERNAME>:<PASSWORD>@cluster0.mongodb.net/contract_management?retryWrites=true&w=majority
PORT=5000
JWT_SECRET=<YOUR_SECRET_KEY>
NODE_ENV=development
FRONTEND_URL=http://localhost:3000
SENDGRID_API_KEY=<YOUR_SENDGRID_API_KEY>
SENDGRID_FROM_EMAIL=<YOUR_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.


About

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.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published