Skip to content

calderbuild/CampusID

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ Campus ID - Web3 Digital Student Identity

A decentralized campus digital identity ecosystem built on StarkNet, enabling students to mint NFT-based certificates, earn campus tokens through check-ins, and participate in a tokenized campus economy.

🌟 Features

  • πŸ†” NFT Student Certificate: Mint unique student ID as an ERC721 NFT
  • πŸͺ™ Campus Points (CPT): ERC20 token economy for campus activities
  • πŸ“ Daily Check-ins: Earn 10 CPT tokens for each check-in
  • πŸ›’ Campus Store: Purchase virtual items using CPT tokens
  • πŸ“œ Transaction History: Track all activities with on-chain verification

πŸ–ΌοΈ Live Demo

Campus ID Demo - Transaction Confirmed on StarkNet

Real-time transaction confirmation and blockchain verification in action

πŸš€ Quick Start

Demo Mode (Immediate)

# Start frontend with demo data
cd frontend
npm install
npm run dev

Visit: http://localhost:5173

Demo features:

  • βœ… No wallet connection required
  • βœ… Full functionality showcase
  • βœ… Simulated blockchain interactions
  • βœ… Perfect for presentations

Production Mode (Live)

Prerequisites

Deployment

# Deploy contracts
cd contracts
scarb build
./deploy.sh

# Update frontend config
./update_to_production.sh

# Start production frontend
cd ../frontend
npm run dev

πŸ—οΈ Tech Stack

Smart Contracts

  • Cairo 2024_07 - StarkNet smart contract language
  • OpenZeppelin - Security standards for ERC721/ERC20
  • StudentNFT - ERC721 student certificate contract
  • CampusToken - ERC20 campus token contract

Frontend

  • React 19 + TypeScript - Modern UI framework
  • Vite - Ultra-fast build tool
  • starknet.js v7 - StarkNet blockchain interaction
  • Tailwind CSS - Mobile-first responsive design

Infrastructure

  • StarkNet Layer 2 - Low fees, high throughput
  • Account Abstraction - User-friendly wallet experience
  • Sepolia Testnet - Development and testing

πŸ“± User Experience

1. Wallet Connection

  • Auto-detect ArgentX wallet
  • One-click StarkNet network connection
  • Display wallet address and balance

2. Student Certificate NFT

  • Auto-minted on first login
  • Contains student metadata (avatar, name, ID)
  • Unique and permanent digital identity

3. Daily Check-in

  • Earn 10 CPT tokens daily
  • Smart contract auto-distribution
  • Anti-duplicate check-in mechanism

4. Campus Store

  • β˜• Coffee - 20 CPT
  • 🍞 Bread - 30 CPT
  • πŸ₯€ Drink - 50 CPT
  • Instant transaction confirmation

5. Transaction History

  • Complete operation records
  • Blockchain transaction hashes
  • Verifiable on Voyager explorer

🎯 Project Structure

StarkNet_hackathon/
β”œβ”€β”€ contracts/                 # Cairo smart contracts
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ student_nft.cairo # ERC721 Student Certificate
β”‚   β”‚   └── campus_token.cairo# ERC20 Campus Token
β”‚   └── Scarb.toml            # Contract configuration
β”‚
└── frontend/                  # React frontend
    β”œβ”€β”€ src/
    β”‚   β”œβ”€β”€ components/       # UI components
    β”‚   β”œβ”€β”€ contexts/         # Wallet and app contexts
    β”‚   β”œβ”€β”€ pages/           # App pages (Login, Home, etc.)
    β”‚   β”œβ”€β”€ services/        # Contract interaction services
    β”‚   β”œβ”€β”€ types/           # TypeScript types
    β”‚   └── utils/           # Helpers and constants
    └── package.json         # Dependencies

πŸ”§ Development

Environment Setup

# Install Cairo/Scarb
curl --proto '=https' --tlsv1.2 -sSf https://docs.swmansion.com/scarb/install.sh | sh

# Install frontend dependencies
cd frontend
npm install

Development Commands

# Frontend development
cd frontend
npm run dev          # Start dev server
npm run build        # Build for production
npm run lint         # Run ESLint

# Contract development
cd contracts
scarb build          # Compile contracts
scarb test           # Run tests

Environment Variables

Create frontend/.env:

VITE_STARKNET_NETWORK=sepolia
VITE_STARKNET_RPC_URL=https://starknet-sepolia.public.blastapi.io
VITE_STUDENT_NFT_ADDRESS=0x...
VITE_CAMPUS_TOKEN_ADDRESS=0x...
VITE_STORE_ADDRESS=0x...
VITE_DEMO_MODE=true  # Set to false for production

πŸŽͺ Demo Instructions

Quick Demo

  1. Run npm run dev in frontend directory
  2. Visit http://localhost:5173
  3. Explore all features without wallet
  4. Experience complete user journey

Production Demo

  1. Connect ArgentX wallet
  2. Switch to Sepolia testnet
  3. Mint student NFT certificate
  4. Perform check-ins and store purchases
  5. Verify transactions on blockchain explorer

πŸ† Innovation Points

Technical Innovation

  • First on StarkNet: Pioneer student identity system on StarkNet
  • Account Abstraction: Seamless wallet experience
  • Hybrid Architecture: Demo + production modes
  • Mobile Optimization: H5-first responsive design

Business Innovation

  • Educational DeFi: Tokenized campus participation
  • Digital Identity: Verifiable student credentials
  • Incentive Mechanics: Gamified campus engagement
  • Data Sovereignty: User-controlled digital identity

πŸ“Š Project Status

βœ… Completed

  • Smart contracts (StudentNFT + CampusToken)
  • Frontend application (5 complete pages)
  • Wallet integration (ArgentX)
  • Demo mode functionality
  • Mobile responsive design
  • Transaction history system
  • Complete documentation

πŸš€ Future Enhancements

  • Multi-campus support
  • Achievement system
  • DeFi integrations
  • Cross-chain compatibility
  • Admin dashboard
  • Advanced NFT attributes

πŸ§ͺ Testing

Build Test

cd frontend && npm run build

Contract Test

cd contracts && scarb test

πŸ“š Documentation

πŸ› Troubleshooting

Wallet won't connect:

  • Install ArgentX extension
  • Switch to Sepolia testnet
  • Refresh the page

Build errors:

rm -rf node_modules package-lock.json
npm install

Contract not found:

  • Deploy contracts first
  • Update .env with addresses
  • Restart dev server

πŸ“„ License

MIT License

πŸ™ Acknowledgments

Built for StarkNet Re{Solve} Hackathon

  • StarkNet Foundation
  • StarkWare
  • OpenZeppelin
  • ArgentX Wallet

Built with ❀️ on StarkNet

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors