An open API service indexing awesome lists of open source software.

https://github.com/canarygrapher/certify-chain

Blockchain based certificate authenticator
https://github.com/canarygrapher/certify-chain

Last synced: about 1 month ago
JSON representation

Blockchain based certificate authenticator

Awesome Lists containing this project

README

        

# Certify Chain 1.0
- Certify chain is a blockchain based certificate generation network where an organization can issue certificates, which can then by verified by any third party.
- The hash of the certificate details are stored onto the blockchain and the verification process is carried out using smart contracts.
- The smart contract is deployed on the Rinkeby Test Network. The contract transactions can be found [here](https://rinkeby.etherscan.io/address/0xd8c6b3C5eec446E7a7E2C4390fD52E00d1099c9F).

# Contract Strucutre
![image](https://user-images.githubusercontent.com/51917666/145521701-2a59b90a-588b-48ac-92d6-a8bd07bfad04.png)

# Interface

![image](https://user-images.githubusercontent.com/51917666/145521018-8da25ac1-30ec-4717-877a-9ce0a41b1c34.png)
![image](https://user-images.githubusercontent.com/51917666/145520862-90c72e4c-cc98-4e58-9c2e-79f588211ae1.png)
![image](https://user-images.githubusercontent.com/51917666/145520876-418bcb74-6a97-4ad3-a112-94a53bac11f0.png)
![image](https://user-images.githubusercontent.com/51917666/145520892-60e85e9b-05b4-4027-a883-da8fbe4a2fe0.png)
![image](https://user-images.githubusercontent.com/51917666/145520900-aa4cb876-f5f0-46e0-b3cd-e224c8144f14.png)

---------------------------------------------------------------------------------------------------------------------------


# Certify Chain 2.0 (In progress)

# The idea
There is one parent smart contract which can be used to generate a child smart contract for every new organization that joins the network.
![image](https://user-images.githubusercontent.com/27415791/143009140-ee2f0fa6-09c5-4a6f-82a4-6ec6158a49f6.png)

# Pages
These are the pages that certify chain web application has:

## User
Users can create an account using Auth services like Google, Facebook, LinkedIn, etc. The application uses service like Auth0 to achieve this.

![image](https://user-images.githubusercontent.com/27415791/143014174-6b2ff012-b5c8-4735-aab2-2d950e70d1fc.png)

### The dashboard
This page shows after the user has logged in. This is the only page that a logged in user can access. There are two tabs on this page.

- **Certificates** - The users can see all the certificates that have been issued to them on this page. This section would have paginations in case there are a lot of certificates.
![image](https://user-images.githubusercontent.com/27415791/143014290-f2646699-c04c-438d-bfbb-1f43c72cabc8.png)

- **My organizations** - In order to be issued certificates, the user must be added to an organization. This tab displays all the organizations the user is a part of.
![image](https://user-images.githubusercontent.com/27415791/143014585-d17a1b75-ec61-490e-8276-228977ea3ba2.png)

## Admin
The admins can only log in using a verified account accessible through a crypto wallet like WalletConnect or MetaMask.
![image](https://user-images.githubusercontent.com/27415791/143021871-09f841dc-2ffe-4d24-b3f6-f29cd6739400.png)

### Admin Dashboard
An account is created after the master contract generates a child smart contract for the organization in question. Once logged in, the admin is redirected to the admin dashboard with four options.

- **Manage Members** - Admins can add/remove members from their organization. In order to generate certificates for a user, they should be added to the organization beforehand. In case the user is removed from the orgaization, all the certificates generated by that organization for that user is removed.
![image](https://user-images.githubusercontent.com/27415791/143023271-260a1c04-433b-41ed-b750-49a13583740f.png)

- **Generate Certificate** - Admin can generate certificates for the user. This is usually done in a pool, to save cost, so it might take a few hours before the certificate is generated.
![image](https://user-images.githubusercontent.com/27415791/143023299-57b5f778-2cfc-41ef-834e-3d16c0652f2e.png)

- **Revoke Certificate** - Certificates can be revoked if it was generated by mistake, or the user for whom it was created turns out to be malicious.
![image](https://user-images.githubusercontent.com/27415791/143023336-d6a2c3dc-d36e-4aec-ab35-95d23ddcb387.png)

- **Profile** - The admin can change the profile information for their organization which is visible to the public.
![image](https://user-images.githubusercontent.com/27415791/143023387-6d0cf985-9043-486b-86e4-949ad1cfb5f5.png)

## Organization (Showcase page)
This is a showcase page where all the organizations that have signed up with Certify Chain can be visible.
![image](https://user-images.githubusercontent.com/27415791/143023777-1c6af5aa-5063-4e2c-9736-ff2b20a2aa4a.png)

## Verify Page
This is the page where anyone can visit to verify a particular certificate using its unique ID presented to them.
![image](https://user-images.githubusercontent.com/27415791/143024406-53f89272-f68b-4873-9e81-d8677ff82d8d.png)

# Tech Stack
The application is a Progressive Web Application Made using NextJS, database including MongoDB, and Ant design system, with Tailwind CSS.

![image](https://user-images.githubusercontent.com/27415791/143024608-0773759a-cdbb-4df9-9883-66b4c2f48ff9.png)
![image](https://user-images.githubusercontent.com/27415791/143024646-5caa8327-6626-407b-887f-2fdf4a546e25.png)
![image](https://user-images.githubusercontent.com/27415791/143024709-a9866840-e9b4-4373-95b1-1e40c95aaa39.png)
![image](https://user-images.githubusercontent.com/27415791/143024740-bcac3499-c0df-4f54-b4ee-4f0acd094bff.png)