This repository is the central hub for all educational materials related to the Joinself ecosystem. Our mission is to make decentralized identity accessible to all developers by providing a clear, structured, and hands-on learning experience.
This academy provides hands-on examples that teach you how to integrate decentralized identity into your applications. Each example is designed to be practical, educational, and ready for real-world implementation.
Our examples offer:
- Progressive Learning: Start simple and build complexity step by step
- Multiple Languages: Examples available in Go and Java
- Clear Documentation: Every example explains what you'll learn and what happened
- Production Patterns: Battle-tested approaches for real applications
This repository combines theoretical understanding with practical implementation:
- /docs: Complete learning documentation with solutions, concepts and examples
- concepts/: Theoretical foundations (decentralized identity, cryptography, security)
- examples/: Hands-on guides linking theory to practice
- solutions/: Self's solutions to your company problems
- /examples: Progressive learning examples for server-side integration
server/: Server-side examples organized by learning progression:00_setup/: Account creation and configuration basics01_connection/: Establishing connections between identities02_credentials/: Issuing and exchanging verifiable credentials03_chat/: Building messaging and communication features04_advanced_features/: Advanced patterns and integrationscommon/: Shared utilities and helper functions
We believe in combining theoretical understanding with hands-on practice:
Theory + Practice = Mastery
- Understand Concepts: Learn the "why" behind decentralized identity
- Build Practical Skills: Apply concepts through working code
- Master Integration: Combine theory and practice for real solutions
- Production Ready: Deploy robust, secure applications
Each topic provides both conceptual foundation and practical implementation, with examples in Go and Java.
We welcome contributions! Please see the CONTRIBUTING.md file (coming soon) for details on how to get started.