Skip to content

Latest commit

 

History

History
567 lines (304 loc) · 23.3 KB

README.en.md

File metadata and controls

567 lines (304 loc) · 23.3 KB

Mini-Contract(Free and Open Source Electronic Contracts)

Current Latest Version: v2.1.0 (Release Date: 2024-08-22)

输入图片说明 输入图片说明 输入图片说明

Introduction

Mini-Contract

🔥🔥🔥 Mini-Contract is a self-developed, proprietary-free and open-source electronic contract product that offers a one-stop contract signing solution. Our product innovatively adopts two signing modes: "Evidence Chain" and "Non-Evidence Chain", supporting various functions such as online electronic signatures, electronic contracts, electronic seals, electronic contract SDK, electronic contract API, multi-party contract initiation, and interlocking seals.

In terms of data security, Mini-Contract strictly adheres to regulatory compliance, independently operating and managing contracts to ensure that your contract information receives optimal protection. We provide Web-based management, H5, WeChat Mini Program platforms, and deeply personalized comprehensive customized solutions to meet your management needs in different scenarios. As a platform product, our underlying security is based on the Ant Judicial Chain, which has received national certification, ensuring safety and reliability. We support data and project privatization on-premises to reduce the risk of data leaks, while also ensuring the legality and security of contracts.

Why Choose Mini-Contract ?

Mini-Contract aggregates various electronic contract solution providers in the market, so you don't need to integrate with each contract vendor one by one, saving you time and effort. We have already handled this integration for you, and you only need a single interface to access all our service providers. Additionally, you can enjoy our interface channel prices. Mini-Contract is the result of our real-world project experience, offering concise code, the latest technology stack, and is suitable for front-end developers with various needs. It is also the preferred choice for small and medium-sized enterprises, as it can help reduce over 80% of the repetitive work in front-end projects. If you don't mind using our user interface style, you can quickly launch your project without worrying about copyright issues.

Commercial Licensing

The commercial version of the code is identical to the open-source version.

Commercial licensing is perpetual and supports lifelong upgrades.

For commercial use, please contact the technical team below for licensing details.

Open Source Notice

  1. Only allowed for personal study and research use.
  2. Prohibited from selling the code and resources in any form or under any name.

Business Scenarios

  1. Human Resource Dispatch Company

    Facing the need for frequent contract signings, the high cost of paper contracts, and the requirement for bulk contract signings.

  2. Financial Company

    Seeking to complete contract signings online, ensuring the retention of timely and effective contract management.

  3. Sales Sign-off Company

    Engaged in the rapid collaboration and immediate signing of contracts when selling products through online channels in the market.

  4. Leasing Company

    Requiring quick contract signings for offline leasing companies, along with online contract management, query functionalities, and automatic reminders for contract expiration.

Directory Structure

├─App.vue                           // Application configuration, used for configuring global styles and event listeners
├─index.html                        // Provides functionality for web page development and serves as a template
├─jsconfig.json                     // Configuration for code linting, etc.
├─main.js                           // Entry file
├─manifest.json                     //  Configuration for application name, appid, logo, version, etc.
├─pages.json                        // Configuration for page routes, navigation bars, tabs, and other page-related information
├─README.md                         // Help documentation
├─uni.scss                          // Pre-set SCSS variables for easy control of the application's style
├─vue.config.js                     // Development settings
├─api                               // Interface management, categorized by functionality
├─components                        // Public component library
│  ├─backTop                        // Back to top button
│  ├─BaseEmpty                      //  Empty page
│  ├─baseline                       // No more data
│  ├─btn-fixed                      // Fixed bottom component (slot)
│  ├─checkUser                      // Switch identity
│  ├─contractState                  // Contract status
│  ├─FileItem                       // File information
│  ├─loading                        // Page loading
│  ├─loadMore                       // Load more data
│  ├─SwitchEnvironment              // Switch environment
│  ├─tag-auth                       // User identity
│  ├─userInfo                       // User information
│  └─v-tabs                         // Tab switch
├─config                            //  Configuration
│  ├─config.js                      // System configuration (domain, etc.)
│  ├─net.config.js                  // Domain configuration
│  └─setting.js                     // Other global configurations (e.g., page sharing messages)
├─filters                           // Filters
├─mixins                            // Mixins
│  └─share.js                       // Page sharing
├─pages                             // Page folders
│  ├─contract                       // Contract-related pages
│  │  ├─index.vue                   // Contract home
│  │  │    └─index.vue              // Contract details
│  │  ├─sign                        // Initiate signing
│  │  └─revoke                      // Revoke contract
│  ├─home                           // Home
│  │  └─contractTemplate            // Contract templates
│  ├─index                          // Start page
│  ├─login                          // Login and registration
│  └─user                           // My account
│     ├─company                     // Company-related
│     │    ├─addCompany.vue         // Add company
│     │    ├─addSeal.vue            // Add seal
│     │    ├─authorize.vue          // Web-view page
│     │    ├─Certification.vue      // Company certification
│     │    ├─companySeal.vue        // Company seal management
│     │    ├─create.vue             // Create company (deprecated)
│     │    ├─myCompany.vue          // My company
│     │    └─removeComfirm.vue      // Remove company
│     ├─companyMembers              // Members
│     │    ├─createMember.vue       // Add member
│     │    └─index.vue              // Company members
│     ├─createUser                  // Signers
│     │    ├─addPerson.vue          // Add recent signers (deprecated)
│     │    └─index.vue              // Recent signers
│     ├─file                        // File management
│     ├─package                     // Packages
│     │    ├─buy.vue                // Purchase packages
│     │    └─comboDetails.vue       // My packages
│     ├─personal                    // Personal
│     │    └─Certification.vue      // Personal certification
│     └─setting                     // Settings
│          ├─changeIdentity.vue     // Switch identity (deprecated)
│          ├─password.vue           // Change password (deprecated)
│          └─Privacy.vue            // Privacy statement
├─static                            // Static resources storage, such as images, videos
│  └─tabbar                         // Tabbar icons
├─store                             // State management library
├─style                             // Public style library
├─uni_modules                       // Project components, pages, common modules, etc.
├─unpackage                         // Build directory
└─utils                             // Utilities
   ├─cache.js                       // Cache management
   ├─common.js                      // Common functions
   ├─compress.js                    // Image compression
   ├─reg.js                         // Common regular expressions
   └─request.js                     // Network request settings

Technical Architecture

Development Environment

  • Language: Vue 2.0

  • IDE (Front-end): VSCode, HBuilder

  • Dependency Management: npm

Mobile Framework

Description Framework Description Framework
Basic Framework uni-app JavaScript Version ES6
Basic JS Framework Vue.js Video Player Native video
Routing Management Vue Router State Management Vuex
Network Requests axios CSS Pre-processing SCSS
Map Engine map

Function Modules

Business Functions
├─Login and Registration
│  ├─Account Method
│  └─WeChat Authorization
├─Home
│  ├─Quick Contract Handling
│  │  ├─To Be Processed by Me
│  │  └─To Be Processed by Others
│  └─Recent Contracts
├─Contracts
│  ├─To Be Processed by Me
│  ├─To Be Processed by Others
│  ├─Completed
│  ├─Rejected
│  ├─Revoked
│  └─Overdue
├─Initiate New Signing Contracts
└─My Account
   ├─My Company
   ├─Company Seals
   ├─File Management
   ├─Package Management
   ├─Privacy Policy
   ├─Change Password
   └─Personal Center
      ├─Company Packages
      └─Personal Packages

Project Screenshots

User Interface (Mobile)

The homepage allows for quick initiation of contract signing, supporting multiple selections of signatories or companies (i.e., simultaneous signing by multiple individuals or companies), and also enables setting the validity period of the contract for this signing, thereby avoiding potential legal risks.

As an enterprise, you need to complete "enterprise authentication" and "legal representative real-name authentication" before signing. Additionally, if the quota is used up during the usage, you can purchase more quota on your own.

After logging into the application, you can access various features such as enterprise management, seal management, document signing management, signing quota purchase, and more.

Users or businesses can independently set and upload their own personalized signatures and seals.

Before signing, individuals are required to complete "real-name authentication," "ID card verification," "facial recognition," and other processes to ensure the authenticity of the information.

In the signing details, you can view the signing status information of the contract signatories and all parties involved. The signing parties can also click to sign the document, with signing methods including "handwritten signature" and "seal" options.

As an enterprise administrator, you have the ability to manage members of the organization and grant them the authority to sign documents

After completing the real-name authentication process for the enterprise, you can automatically generate compliant CA certificate signatures. As an enterprise administrator, you can set different signing permissions for each member.

The platform provides a wide range of rich contract templates for your use, and we regularly update these templates. As a developer, you can enjoy these templates for free.

Batch initiating signature, one-to-many, generating multiple contracts, with fixed data for one party and variable data for the other party/parties. After setting the parameters, multiple contracts can be generated simultaneously, improving the efficiency of initiating contracts (applicable to industries such as human resources where one company entity remains the same but multiple other parties need to sign).

To quickly create contracts, you can use the option of generating an online contract directly, eliminating the hassle of downloading and then uploading the contract.

Even before signing the contract, it is possible to support the management and uploading of temporary contract files (you can think of it as using our platform as a cloud storage, haha).

Simultaneously, the current capability supports batch contract signing (primarily targeting business scenarios where one party's information remains constant while the other party's information varies, such as scenarios with a fixed Party A and a variable Party B).

Signatories involved in the contract can receive SMS reminders about the signing process. Within the validity period, they can click the link to access the H5 or mini program to complete the signing. Once all signatories have completed the signing, a text message notification will be sent to inform them.

User Interface (Web)

The web-based user interface allows users to sign and view their contracts in the backend.

On the web user interface, there is support for signing contracts online. By clicking on "Sign," you will be redirected to the corresponding signing page.

In English, it means "Handwritten signature and upload your unique personal signature information."

Web user interface supports switching between different identities, such as "personal" and "business".

As a business manager, you can also manage members on the web platform.

Adding a member can be done by entering their "phone number" and "name".

On the web platform, you can also perform queries based on the status of contract signings, such as "Initiated by me", "Pending my action", "Pending others' action", "Completed", "Rejected", "Cancelled", and "Overdue".

As a company manager or an individual, you can view all the signed and archived contracts on the web platform. It supports online viewing, downloading, and other operations.

The web management portal also supports operations such as changing accounts and modifying passwords.

Platform Interface

Data Overview

Gain insights into basic information about all users on the contract platform and aggregate and summarize data.

Personal Certification

The platform can view desensitized basic information for all personal certifications.

Company Certification

The platform can view desensitized basic information for all company certifications.

Sales Orders

The platform can view all contract sales information.

Service Usage

The platform can view all contract usage and consumption information.

Pricing Settings

The platform can set prices based on contract operational needs.

Account Management

The platform can configure user permissions based on different roles.

Sideways classification

The new operations platform allows for the independent operation of contract templates, making platform management more flexible and convenient. Once the operations platform establishes contract templates, all contract users and businesses can benefit from the pre-set templates provided by the operations platform.

When setting up the contract template, it is possible to pre-set the signatory roles as "individual" or "enterprise". Currently, a single template supports up to 10 signatory objects.

The contract template supports dynamically setting parameter information inside it, and it can also pre-set some parameter information in advance, greatly increasing the flexibility of the contract.

Operation Demonstration (Mini Program version)

Chain of Evidence

Non-Chain of Evidence

Updates Logs

v 2.0.0

[New] Introducing a brand new page style, enhancing the overall user experience.

  • [New] Support for one-to-many bulk contract initiation, improving efficiency in scenarios where a single entity corresponds to multiple signatories.
  • [New] Support for personalized signatures, allowing users to define their own signature styles.
  • [New] Intelligent rapid contract generation, enabling quick generation of online contracts through mobile phone camera or image upload.
  • [New] Drafts feature to address interruptions during the signing process.
  • [New] Initiator reminders to ensure contracts are signed within the valid period.
  • [New] File management feature for temporary file storage, doubling as a cloud drive.
  • [New] Convenient share button on the contract details page for quick sharing with signatories.
  • [Optimization] Other user experience improvements.
  • [Bug Fix] Known bugs have been addressed.
v 1.5.5
  • [New] Added "ID Card Comparison" in the real-name authentication process
  • [New] Send SMS notifications to signing parties upon completion
  • [New] Support for signing parties who are not the initiators (can delegate contract initiation)
  • [Optimization] Improved experience for switching between corporate and individual ID cards
  • [Optimization] Enhanced user experience
  • [Bug Fix] Fixed known issues
v 1.5.0
  • [New] Added non-evidence chain contract signing (suitable for daily internal approval within enterprises)
  • [Optimization] Seal management
  • [Optimization] Corporate real-name authentication logic
  • [Optimization] Evidence chain multi-channel signing logic
  • [[Upgrade] Third-party plugin version
  • [Optimization] Privacy protection agreement content
  • [Optimization] User experience
  • [Bug Fix] Fixed known issues
v 1.1.2
  • [New] Added support for backend management to view enterprise contract information
  • [Optimization] Improved user experience
  • [Bug Fix] Fixed known issues
v 1.1.1
  • [Optimization] Adjusted the number of electronic contract packages for enterprises and individuals
  • [Optimization] Improved user experience
  • [Bug Fix] Fixed known issues
v 1.1.0
  • [New] Added a variety of contract templates
  • [New] In-app contract signing for improved user experience
  • [New] SMS notifications for signatories to avoid delayed communication
  • [Optimization] Enhanced user experience
  • [Bug Fix] Fixed known issues

Technical Documentation

  • Online Demo:

Contact and Collaboration

If you would like to join our open-source discussion group, please scan the QR code to add the Mini-Contract project team and join the group chat: 输入图片说明

If you have any ideas, suggestions, or business collaboration needs regarding the Mini-Contract product, please scan the QR code to add the Mini-Contract project team for further communication: 输入图片说明

Donations

If you find it useful, please consider Watching, Starred, and Forked ☺