You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Urko 8117058cfd
refactor: clean code
4 days ago
cmd/http feat: add estimated fee 4 days ago
internal refactor: clean code 4 days ago
pkg refactor: clean code 4 days ago
.gitignore feat: udpdate gitignore 1 week ago
LICENSE feat: add license 1 week ago
Makefile feat: add Makefile 2 weeks ago
README.md feat: add README 1 week ago
go.mod feat: add override configuration with viper 4 days ago
go.sum feat: add override configuration with viper 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

  1. Input form and select blockchain to record
  2. Upload your document to database server
  3. Apply hash algorythm to your document and get unique hex hash value
  4. Pay servers maintenance fees + blockchain fees
  5. Receive email with your document hash and transaction ID within block explorer URL:
  6. 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.