Crypter is open-source software that is free for non-commercial use under the AGPLv3. A copy of the AGLPv3 is provided in LICENSE.md.
You and/or your organization may be released from the terms of the AGLPv3 by purchasing a commercial license from the copyright holder.
Please reach out to [email protected] or submit an issue if you believe these licensing terms are a cause for concern.
Check out these documents to get started working on Crypter:
Also take a look at some of the articles that have come in handy while working on the project:
If you have any questions, please add an issue or send an email to [email protected]. I would love to hear from you.
A RESTful API written using ASP.NET.
A class library containing various interfaces and most of their implementations.
The "Repository" interfaces must be implemented per-environment, since these implementations must decide where and how to store data on the client device. These decisions and locations are device-specific. For example, storing data in a browser is likely to be different than storing data on a mobile phone.
A small class library containing domain models and data types that may be used in any project.
A command-line program that helps administer the Crypter servers. For example, this program contains commands to create all the database tables from scratch and perform schema migrations.
A class library containing classes and enumerations to help facilitate communcation between different projects. For example, if Crypter.Web needs to POST some data to Crypter.API, there should be a class defining what that data looks like.
A class library containing code to interact with the PostgreSQL database. Most of the back-end business logic should be located here.
A class library that mostly acts as a wrapper around the BouncyCastle cryptography library. Most of the project's code related to cryptography is located here.
A project containing NUnit unit tests.
A web application written using ASP.NET Blazor web-assembly.