KlexSign is a modern and open source software for electric signatures (esign) and fully digital contracts.
KlexSign is build on a modern tech stack, including:
KlexSign is an open source community-driven project and we welcome contributions as well as feedback from the community.
Firstly, if you want to contribute a larger change to KlexSign or implement a new feature we ask that you open a discussion first. You can use our or . This discussion is helpful to exchange ideas and opions, identify if the change will be accepted, as well as getting early feedback.
You want to make minor changes or fix a bug. You can skip this step and start with a
1. Clone this repository...
$ git clone [email protected]:klexhub/klexsign.git KlexSign
2. Navigate into project & install development-specific dependencies...
$ cd ./KlexSign && npm install
3. Start software
First, start the database server. We prepare a docker-compose file for MongoDB (you can use your own MongoDB server if you want :D).
$ cd ./server/integrations && docker-compose up -d
You can start the backend server by running the following command:
$ cd ./server && npm run start
After that you can start the frontend by running the following command:
$ cd ./frontend && npm run start
🎉 Yeah, now the codebase is running! And you can start hacking!
4. Run tests & ensure they pass...
$ npm run test
Here's a quick checklist for a good PR, more details below:
- A discussion around the change (major on , minor on )
- One feature/change per PR
- One commit per PR
- PR rebased on master (
git rebase, not
- No changes to code not directly related to your PR
- Includes functional/integration test
- Includes documentation
Once you have submitted your PR please monitor it for comments/feedback. We reserve the right to close inactive PRs if you do not respond within 2 weeks (bear in mind you can always open a new PR if it is closed due to inactivity).
Also, please remember that we are not be able to respond to your PR immediately. The best place to ping us is on the thread you started on the dev mailing list.
Open a discussion on a proposed change
As KlexSign is a community-driven project we require contributors to open a discussion on what they are planning to contribute.
If you plain to implement a large feature and the discussion is accepted, you can also request a new branch on GitHub. Contact a maintainer to get started.
Do not format or refactor code that is not directly related to your contribution. If you do this it will significantly increase our effort in reviewing your PR. If you have a strong need to refactor code then submit a separate PR for the refactoring.
Do not add mock frameworks or other testing frameworks that are not already part of the testsuite. Please write tests in the same way as we have written our tests.
Submitting your PR
When preparing your PR make sure you have a single commit and your branch is rebased on the master branch from the project repository.
The above helps us review your PR and also makes it easier for us to maintain the repository. It is also required by our automatic merging process.