https://github.com/droxer/learning-certificate-dapp
https://github.com/droxer/learning-certificate-dapp
Last synced: 3 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/droxer/learning-certificate-dapp
- Owner: droxer
- Created: 2025-10-19T03:58:37.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-10-23T08:22:18.000Z (9 months ago)
- Last Synced: 2025-10-28T06:51:44.476Z (8 months ago)
- Language: TypeScript
- Size: 229 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Learning Certificate DApp
A decentralized application for issuing and managing learning certificates on the blockchain.
## Overview
This project is a Web3 application that allows educational institutions to mint learning certificates as NFTs on the Ethereum blockchain. Students can view their issued certificates through a web interface.
## Features
- **Certificate Minting**: Teachers/institutions can mint certificates as NFTs
- **Certificate Viewing**: Students can view their issued certificates
- **Multi-language Support**: Supports English, Chinese, and Korean
- **Blockchain Integration**: Built with Solidity smart contracts and Ethereum
## Technology Stack
- **Frontend**: Next.js, React, TypeScript, Tailwind CSS
- **Blockchain**: Solidity, Hardhat, Ethereum
- **Web3 Integration**: Wagmi, RainbowKit
- **Smart Contracts**: ERC721 NFTs for certificates
## Project Structure
```
learning-certificate-dapp/
├── app/ # Next.js app router pages
├── components/ # React components
├── contracts/ # Solidity smart contracts
├── scripts/ # Deployment and minting scripts
├── test/ # Smart contract tests
├── abi/ # Smart contract ABI
└── lib/ # Library files
```
## Getting Started
### Prerequisites
- Node.js (v16 or higher)
- npm or yarn
### Installation
```bash
npm install
```
### Development
```bash
# Start Hardhat node
make hardhat-node
# In a new terminal, compile contracts
make compile
# Run tests
make test
# Deploy contracts (to local network)
make deploy
```
### Available Make Commands
```bash
make help # Show all available commands
make install # Install dependencies
make dev # Start development environment
make compile # Compile smart contracts
make test # Run tests
make deploy # Deploy contracts
make clean # Clean build artifacts
make stop # Stop services
```
## Smart Contract
The `LearningCertificate` contract is an ERC721 NFT contract that stores certificate information including:
- Course name
- Student name
- Completion date
- Grade
- IPFS hash for additional data
## Learn More
To learn more about the technologies used in this project:
- [Next.js Documentation](https://nextjs.org/docs)
- [Hardhat Documentation](https://hardhat.org/getting-started/)
- [Solidity Documentation](https://docs.soliditylang.org/)
- [Ethereum Documentation](https://ethereum.org/developers/)