Thank you for showing an interest in contributing to this project. Extra thanks for taking the time to read the documentation.
The purpose of this contribution guide is to help others get started with contributing to the project. The intent is not to create a bunch of procedures or any level of bureaucracy that everyone must follow.
Please feel free to contribute in whatever way you wish. If you have questions, send me an email at [email protected].
Most of the tasks that need to be completed are introduced as Issues. These issues can be bug reports, feature requests, requests for documentation, or tasks that just need to be performed.
Feel free to begin working on any of the existing, unassigned issues. If you are not part of the team and are unable to assign yourself to an issue, you may comment on the issue to let others know you are working on it.
As a new contributor to the project, please create issues before working on something new. It helps keep things transparent and gives any code owners time to consider and comment on the issue.
General guidelines for everyone to follow:
- Clean up your commits before submitting a pull request.
- Use concise, descriptive commit messages.
- Multiple commits per pull request are okay.
- It is highly encouraged to improve upon your open pull requests. If you see room for improvement, then make the necessary changes and push a new commit.
- All pull requests should have a description written by the author. Describe your change in plain English.
- Do not merge incomplete or partial code. The
master
andstable
branches should always be in a releasable state.
There are two different procedures for submitting pull requests.
The first procedure is for members of the Crypter-File-Transfer
team in Github.
The second procedure is for contributors who are not team members.
All pull requests are treated equally.
- Create a new branch, based on
stable
. - Do whatever you want in this branch while developing.
- Clean up your commits when you are done developing.
- Rebase your branch with the latest commits from
stable
. - Submit a pull request to merge back into
stable
. - Verify your branch is deleted from Github after your pull request is accepted and merged.
- Fork the repository, thus creating your own version of the code.
- Create a new branch, based on
stable
. - Do whatever you want in this branch while developing.
- Clean up your commits when you are done developing.
- Fetch and/or pull from the upstream repository, owned by
Crypter-File-Transfer
. - Rebase your branch with the latest code from the upstream
stable
branch. - Submit a pull request to merge back into the upstream
stable
branch.
The database schema is made up of the models located under Crypter.Core/Entities
.
Each of these models correspond to a table in the Crypter database.
Every property corresponds to a column in that table.
If you need to update the database schema, these models must be updated.
Refer to the Docs/Production/Deployment/PostgreSQL.md
document on how to create a schema migration.