A complete Web3 education platform where instructors can create courses and students can purchase access using cryptocurrency. Built with Next.js and Solidity smart contracts, deployed on BlockDAG testnet.
- Browse Marketplace: Discover courses from expert instructors
- Secure Payments: Purchase courses with BDAG cryptocurrency
- Instant Access: Get immediate access to Zoom links after purchase
- Course Management: Track all your purchased courses in one place
- Easy Course Creation: Simple form to create and publish courses
- Direct Payments: Receive payments directly to your wallet
- Course Analytics: View your teaching statistics
- Access Control: Zoom links are securely protected until purchase
- Smart Contract Security: Access control and payment verification
- Wallet Integration: MetaMask connection with BlockDAG testnet
- Responsive Design: Works on desktop and mobile devices
- Real-time Updates: Instant blockchain state synchronization
- Frontend: Next.js 15, React 19, TypeScript, Tailwind CSS
- Blockchain: Solidity, Hardhat, Ethers.js
- Network: BlockDAG Testnet
- Wallet: MetaMask integration
- Styling: Tailwind CSS with responsive design
src/- Next.js frontend source codecomponents/- Reusable React componentshooks/- Custom React hooks (wallet, contract, etc.)utils/- Utility functionsconstants/- Contract addresses, ABI, etc.web3/- Ethers.js and blockchain logictypes/- TypeScript types
blockchain/- Solidity smart contracts and scriptscontracts/- Solidity contract filesscripts/- Deployment and interaction scripts
docs/- Documentation (deployment guide, usage, etc.)public/- Static assets
- Node.js 16+
- MetaMask wallet
- Git
- Clone the repository
git clone <your-repo-url>
cd SkillXChange- Install dependencies
npm install- Configure environment
Create
.env.localfile:
MNEMONIC="your twelve word mnemonic phrase"
BLOCKDAG_RPC_URL="https://rpc-testnet.blockdag.network"
BLOCKDAG_CHAIN_ID=#### (use official Chain ID)- Deploy smart contract
npm run compile
npm run deploy- Start the application
npm run devVisit http://localhost:3000 to see the application.
-
Add BlockDAG Testnet to MetaMask:
- Network Name: BlockDAG Testnet
- RPC URL: https://rpc-testnet.blockdag.network
- Chain ID: 1043
- Currency: BDAG
-
Get testnet tokens from the faucet
- Connect your wallet
- Navigate to "Create Course"
- Fill in course details:
- Title and description
- Price in BDAG tokens
- Zoom meeting link
- Submit and confirm the transaction
- Browse the marketplace
- Click "Buy Course" on desired course
- Confirm the payment transaction
- Access the course from "My Courses"
createCourse()- Create a new coursepurchaseCourse()- Buy access to a coursegetCourseZoomLink()- Access Zoom link (enrolled users only)getAllActiveCourses()- List all available coursesisEnrolled()- Check enrollment status
- Access control for Zoom links
- Payment verification before access
- Instructor ownership validation
- Course activation management
Deploy your version and add the live demo link here
Add screenshots of your application here
- Fork the project
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
# Frontend
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
npm run lint # Run linting
# Smart Contracts
npm run compile # Compile contracts
npm run deploy # Deploy to testnet
npm run deploy:local # Deploy locally- Smart contracts include access control mechanisms
- Payment verification before granting access
- Secure wallet integration through MetaMask
- Input validation and error handling
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenZeppelin for smart contract libraries
- Next.js team for the amazing framework
- BlockDAG network for testnet support
- Ethers.js for blockchain integration
For questions and support:
- Open an issue on GitHub
- Check the deployment guide
- Review the troubleshooting section
Built with ❤️ for the decentralized education revolution
See docs/DEPLOYMENT.md for deployment and usage instructions.