Skip to content

Ardecrownn/starked-education

Β 
Β 

Repository files navigation

StarkEd

StarkEd is a decentralized learning and credential verification platform powered by Stellar blockchain. It enables secure, tamper-proof issuance and verification of educational credentials, certificates, and achievements using Soroban smart contracts.

🎯 Features

  • πŸ“š Decentralized Learning - Course creation and management on blockchain
  • πŸŽ“ Credential Verification - Tamper-proof certificates and achievements
  • πŸ”— Stellar Integration - Fast, low-cost transactions on Stellar
  • πŸ’Ό Professional Profiles - On-chain learning history and skills
  • πŸ† Achievement System - NFT-based badges and milestones
  • πŸ“Š Learning Analytics - Progress tracking and insights
  • πŸ” Secure Storage - IPFS integration for content persistence
  • 🌐 Cross-Platform - Web and mobile applications

πŸ› οΈ Technology Stack

Blockchain Layer

  • Stellar - Fast, scalable Layer 1 blockchain
  • Soroban - Smart contract platform for Stellar
  • Stellar SDK - JavaScript/TypeScript integration

Frontend

  • Next.js 14 - React framework with App Router
  • TypeScript - Type-safe development
  • TailwindCSS - Utility-first CSS framework
  • Stellar Wallets - Freighter, Albedo, and more
  • IPFS - Decentralized content storage

Backend

  • Node.js - Server-side JavaScript runtime
  • Express.js - Fast, minimalist web framework
  • PostgreSQL - Robust relational database
  • Redis - High-performance caching
  • Prisma - Modern database ORM
  • JWT - Secure authentication

Smart Contracts

  • Rust - Memory-safe smart contract language
  • Soroban SDK - Stellar smart contract development
  • Cairo Compatibility - Cross-platform contract support

πŸš€ Quick Start

Prerequisites

  • Node.js (v18+)
  • npm or yarn
  • PostgreSQL
  • Redis
  • Freighter or compatible Stellar wallet

Installation

# Clone the repository
git clone https://github.com/jobbykings/starked-education.git
cd starked-education

# Install dependencies
npm run install:all

# Set up environment
cp .env.example .env
# Edit .env with your configuration

# Start development
npm run dev

Development Setup

# Start Stellar network (local)
stellar standalone start

# Deploy contracts
cd contracts
npm run deploy:local

# Start backend
cd ../backend
npm run dev

# Start frontend
cd ../frontend
npm run dev

πŸ“ Project Structure

starked-education/
β”œβ”€β”€ contracts/              # Soroban smart contracts (Rust)
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ lib.rs       # Main contract logic
β”‚   β”‚   └── test.rs      # Contract tests
β”‚   └── Cargo.toml        # Rust dependencies
β”œβ”€β”€ frontend/               # Next.js React application
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ app/          # App Router pages
β”‚   β”‚   β”œβ”€β”€ components/    # Reusable UI components
β”‚   β”‚   └── lib/          # Utility functions
β”‚   β”œβ”€β”€ public/             # Static assets
β”‚   └── package.json        # Frontend dependencies
β”œβ”€β”€ backend/                # Node.js API server
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ routes/       # API endpoints
β”‚   β”‚   β”œβ”€β”€ models/        # Database models
β”‚   β”‚   β”œβ”€β”€ middleware/    # Auth and validation
β”‚   β”‚   └── utils/         # Helper functions
β”‚   └── package.json        # Backend dependencies
β”œβ”€β”€ docs/                   # Project documentation
β”œβ”€β”€ scripts/                # Deployment and utility scripts
└── .github/               # GitHub workflows and templates
    β”œβ”€β”€ workflows/           # CI/CD pipelines
    └── ISSUE_TEMPLATE/      # Issue templates

πŸ”§ Smart Contracts

The core Soroban contracts handle:

  • CredentialRegistry - Stores and verifies educational credentials
  • CourseManager - Manages course creation and enrollment
  • AchievementIssuer - Handles NFT-based achievement badges
  • ProfileManager - Manages on-chain learning profiles

🌐 API Endpoints

Authentication

  • POST /api/auth/register - User registration
  • POST /api/auth/login - User authentication
  • POST /api/auth/refresh - Token refresh

Courses

  • GET /api/courses - List available courses
  • POST /api/courses - Create new course
  • GET /api/courses/:id - Course details
  • POST /api/courses/:id/enroll - Enroll in course

Credentials

  • POST /api/credentials/issue - Issue new credential
  • GET /api/credentials/:id - Verify credential
  • GET /api/credentials/user/:address - User credentials

Profiles

  • GET /api/profiles/:address - Learning profile
  • PUT /api/profiles/:address - Update profile
  • GET /api/profiles/:address/achievements - User achievements

πŸŽ“ Use Cases

For Students

  • Earn Verifiable Certificates - Complete courses, earn blockchain-verified credentials
  • Build On-Chain Portfolio - Showcase learning history and achievements
  • Lifelong Learning Records - Persistent, portable academic records

For Educators

  • Create Blockchain Courses - Deploy courses with smart contract integration
  • Issue Digital Certificates - Automate credential issuance
  • Track Student Progress - Monitor engagement and completion

For Institutions

  • Verify Credentials Instantly - Eliminate fraud with on-chain verification
  • Reduce Administrative Overhead - Automate certificate management
  • Global Credential Recognition - Cross-border verification

🀝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

πŸ› Found a Bug?

πŸ’‘ Feature Request?

πŸ”’ Security Issue?

πŸ‘₯ Contributors

Thanks to all our contributors! See the CONTRIBUTORS.md file for details.

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

🌟 Community

πŸ“Š Project Status

  • Version: 0.1.0 (Alpha)
  • Network: Stellar Testnet
  • Status: Under Development
  • Roadmap: View Project Board

⭐ Star this repository to support decentralized education on Stellar!

About

Decentralized learning and credential verification platform powered by Stellar blockchain

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Makefile 66.4%
  • TypeScript 22.5%
  • Rust 6.1%
  • JavaScript 4.9%
  • Shell 0.1%