NostrLearn is an innovative Learning Management System (LMS) that leverages the power of Nostr (Notes and Other Stuff Transmitted by Relays) to create a decentralized, privacy-focused educational platform.
- Decentralized User Accounts: Utilize Nostr keys for user authentication and profile management.
- Course Management: Create, update, and manage courses using Nostr events.
- Content Delivery: Distribute course materials through Nostr relays.
- Discussion Forums: Engage in course discussions using Nostr's decentralized messaging.
- Assignment Submission: Submit and grade assignments with verifiable timestamps.
- Progress Tracking: Monitor student progress with Nostr-based activity logs.
- Certifications: Issue tamper-proof certifications as Nostr events.
- Node.js (v14 or later)
- npm (v6 or later)
- A Nostr client or SDK
-
Clone the repository:
git clone https://github.com/yourusername/nostrlearn.git cd nostrlearn
-
Install dependencies:
npm install
-
Configure your Nostr relays in
config.js
:export const RELAYS = [ 'wss://relay.nostr.info', 'wss://nostr-pub.wellorder.net' ];
-
Start the application:
npm start
- User Registration: Users register using their Nostr public key.
- Course Creation: Instructors create courses by publishing Nostr events.
- Enrollment: Students enroll in courses by interacting with specific Nostr events.
- Content Access: Course materials are fetched from Nostr relays.
- Discussions: Users participate in discussions by publishing and subscribing to course-specific Nostr events.
- Assignments: Submit assignments as encrypted Nostr events.
- Certification: Completed courses result in a certification event published to the Nostr network.
We welcome contributions! Please see our CONTRIBUTING.md for details on how to submit pull requests, report issues, or request features.
This project is licensed under the MIT License - see the LICENSE.md file for details.
- The Nostr protocol developers and community
- All contributors and testers of NostrLearn
For more information on Nostr, visit nostr.com.