https://github.com/darrensemusemu/certify-d-api
A document certification platform
https://github.com/darrensemusemu/certify-d-api
go kratos kubernetes oathkeeper skaffold
Last synced: 6 months ago
JSON representation
A document certification platform
- Host: GitHub
- URL: https://github.com/darrensemusemu/certify-d-api
- Owner: darrensemusemu
- Created: 2022-05-28T21:08:55.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-10-01T15:36:15.000Z (about 3 years ago)
- Last Synced: 2025-02-01T16:25:20.463Z (8 months ago)
- Topics: go, kratos, kubernetes, oathkeeper, skaffold
- Language: Go
- Homepage:
- Size: 10.2 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Certify-d API
> NB: This project was initially as a space for experimenting with new ideas
This project supports `Certify-d`'s efforts as an online document certification platform.
[What does this project tries to solve?](https://notarycapetown.co.za/blog/why-you-need-to-certify-documents/)
## Architecture
A high-level [architectural overview](./docs/Architecture.md) of the system details how different person/actors, the systems itself, and other (external) systems interact.
## Project StructureAll services are for the API project are within this single mono-repo.
This project is structured is follows:- [.prow](./.prow): k8s [Prow](https://prow.darrensemusemu.dev/) CI/CD jobs
- [api](./api): OpenAPI & gPRC related files
- [common](./common): shared pkg's usd by all micro-services
- [conf](./conf): project wide configuration files
- [docs](./docs): documentation related files
- [scripts](./scripts): scripts to run for builds, deploys, etc.
- [service.upload](./service.upload): micro-service, handling of all file storage operations
- [service.user](./service.user): micro-service, handling of all user operations
- [third_party](./third_party): external 3rd party tools/services
- [kratos](./kratos): user identity & management system, see [Ory Kratos](https://www.ory.sh/docs/kratos/quickstart)
- [oathkeeper](./kratos): identity & access auth proxy, [see ory.sh](https://www.ory.sh/docs/kratos/quickstart)## Project versioning
Each project/micro-service is version independently. For each version, a git tag is created and used. The conversions for all tags are as follows: ***my_app/v0.0.0***
## See Also
[Swagger UI](https://certify-d.darrensemusemu.dev/api/swagger/index.html)
## TODO
- Certification service, handling of transforming files to stamped *'certified'* docs
- Notification service, handling of all notification operations
- Order service, handling of all order operations
- Payment service, handling of all payments operations
- Bidding service: handling of outsourcing services to 3rd parties