Web3 Student Lab is an open-source educational platform that helps students learn blockchain, smart contracts, open-source collaboration, and hackathon project development in one place.
The platform provides interactive tools, coding environments, and guided learning paths designed for beginners and university students.
The application is fully deployed and accessible online:
- Frontend Application: https://web3-student-lab.vercel.app/
- Backend Infrastructure: Hosted securely on Render using PostgreSQL, Redis, and integrated with the Stellar/Soroban Testnet.
- Smart Contracts: My contract is deployed!
- Blockchain Learning Simulator: Visually learn how blockchains work (create transactions, mine blocks, view hashes, and see how blocks connect).
- Smart Contract Playground: Write, run, and test smart contracts directly in your browser. Focuses on Soroban contracts written in Rust.
- Web3 Learning Roadmap: A guided path spanning programming fundamentals, cryptography, blockchain architecture, smart contracts, and full Web3 applications.
- Hackathon Project Idea Generator: Overcome coder's block by generating ideas based on technology and sector preferences.
- Open Source Contribution Trainer: Get hands-on with Git, simulated GitHub issues, PR exercises, and decentralized identity verification that attaches DID-backed contributor proof to saved training submissions.
Frontend
- React / Next.js
- Tailwind CSS
- Monaco Editor
Backend
- Node.js / Express
- PostgreSQL
Blockchain Integration
- Stellar SDK
- Soroban Smart Contracts
- Soroban Rust SDK
26.1.0for every contract crate and browser-generated Cargo manifest
web3-student-lab/
├── contracts/ # Soroban Cargo workspace (see docs/contracts/WORKSPACE.md)
├── frontend/ # Next.js/React frontend application
│ └── src/app/
│ ├── simulator/ # Visual blockchain tools
│ ├── playground/ # In-browser smart contract editor
│ ├── roadmap/ # Learning progress tracking and paths
│ └── ideas/ # Hackathon project generator UI
├── backend/ # Node.js backend application
│ └── src/
│ ├── blockchain/ # Interaction with Stellar/Soroban
│ ├── contracts/ # Compilation and execution engine for student code
│ ├── learning/ # Curriculum and progress APIs
│ └── generator/ # Prompt/AI layer for hackathon ideas
└── docs/ # Documentation and learning materials
- Node.js (v18+)
- Docker and Docker Compose (for PostgreSQL/Redis)
- Rust toolchain (for smart contracts)
- Stellar CLI
Most day-to-day work only needs PostgreSQL + standalone Redis. Prefer the development override so Sentinel and Cluster nodes are not started:
# Recommended for development (PostgreSQL + standalone Redis only)
docker compose -f docker-compose.yml -f docker-compose.dev.yml up -dOther compose profiles:
# Full stack (PostgreSQL, Redis, Sentinels, Cluster, backend) — production-like testing
docker compose -f docker-compose.yml up -d
# High-availability Redis testing (Sentinel / Cluster wired for the backend)
docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d| File | Purpose |
|---|---|
docker-compose.yml |
Full stack: Postgres, Redis, Sentinels, Cluster, backend |
docker-compose.dev.yml |
Dev override: Postgres + standalone Redis only |
docker-compose.prod.yml |
HA override: Sentinel/Cluster-oriented backend config |
Stop services with docker compose down (pass the same -f flags you used to start).
The Open Source Contribution Trainer now includes decentralized identity verification for contributor
workflows in frontend/src/app/version-control/page.tsx.
- Contributors link a DID, Stellar wallet address, and GitHub handle before saving a verified trainer version.
- Verified saves persist proof metadata in the version history engine at
frontend/src/lib/version-control/engine.ts. - Core attestation creation and verification logic lives in
frontend/src/lib/open-source-trainer/identity.ts.
We love our contributors! This project is being built for students, by students and open-source enthusiasts.
To start contributing:
- Read our Contribution Guidelines.
- Check out our existing Issues or look for the
good first issuelabel. - Fork the repository and submit a Pull Request!
This project is licensed under the MIT License - see the LICENSE file for details.