|
4 days ago | |
---|---|---|
cmd/http | 4 days ago | |
internal | 4 days ago | |
pkg | 4 days ago | |
.gitignore | 1 week ago | |
LICENSE | 1 week ago | |
Makefile | 2 weeks ago | |
README.md | 1 week ago | |
go.mod | 4 days ago | |
go.sum | 4 days ago |
README.md
Proof-of-Evidence
Purpose
In order to give the easy ability to everybody to access on of blockchain tools: public record.
How to use
- Input form and select blockchain to record
- Upload your document to database server
- Apply hash algorythm to your document and get unique hex hash value
- Pay servers maintenance fees + blockchain fees
- Receive email with your document hash and transaction ID within block explorer URL:
- make donation to mantain and improve this project
Technical details
Directory structure
In this directory structure, we have three main layers: the adapter layer, the domain layer, and the internal layer.
The adapter layer contains adapters that bridge the domain layer to the outside world, such as HTTP handlers and database repositories. The http directory contains HTTP-related code, including the handler directory with user handlers and the middleware directory with authentication middleware. The repository directory contains the implementation of the user repository, which communicates with the database.
The domain layer contains domain entities and business logic. The user directory contains the User entity, which represents a user in our system. The service directory contains the implementation of the user service, which contains the business logic for handling users.
The internal layer contains internal packages that are not exported and can only be used within the project. The config directory contains the configuration package, which is used to load configuration from environment variables or a configuration file. The database directory contains the MySQL package, which is used to connect to the MySQL database.
The cmd directory contains the server entry point, which initializes the server and starts listening for requests.
This directory structure allows for a clear separation of concerns between the different layers of the application, making it easy to understand and maintain.