Open-source student portal for learners, built on Astro 6 + Cloudflare D1. Powered by community, authenticated by Mindful Auth.
The learner-facing complement to Mindful LMS Educator. Students and educators share the same D1 database with strict role-based isolation, enabling real-time progress tracking and instant content updates.
This is the Student portal for learner dashboards running on Cloudflare D1 and Astro 6. You also need the educator admin dashboard Mindful LMS Educator. Both are secured by Mindful Auth for role-based access control.
A production-ready D1-backed learner dashboard for Cloudflare Workers that gives students everything they need to:
- ✅ Browse and enroll in courses
- ✅ Track personal progress and completion status
- ✅ Watch lessons and mark as complete
- ✅ Access real-time updates from educator changes
Tech Stack:
- Astro 6 — Edge-native SSR framework
- Cloudflare D1 — SQLite at the edge
- Mindful Auth — Enterprise security (2FA, magic links, audit logs)
- TypeScript — Type-safe, maintainable code
| Feature | Benefit |
|---|---|
| Cloudflare Native | Runs on Workers; zero cold starts, global network for learners worldwide |
| Single D1 Database | Students and educators in one database with strict role-based isolation; no data replication delays |
| Instant Content Sync | When educators publish updates, learners see them within milliseconds |
| Community-Built | Features built by agencies for agencies; shared solutions reduce build time |
| Fully Headless | 100% control over student UX. No locked-in components or forced design patterns |
| You Own Your Data | All learner data stays in your Cloudflare account. Zero vendor lock-in—unlike Thinkific or Teachable |
The Problem with Traditional LMS:
- Vendor Lock-In — Learner data trapped in Thinkific, Teachable, Kajabi. Migrating is painful or impossible.
- Runaway Costs — Monthly fees skyrocket as enrolled learners grow. Thinkific charges per learner; Mindful LMS is open source with Mindful Auth for authentication (flat-rate pricing) and free Cloudflare infrastructure.
- Limited Customization — Forced design templates. Your learners' experience gets a generic "courseware" feel.
- Slow Performance — Traditional platforms aren't built for the edge. Latency reduces completion rates.
The Mindful LMS Advantage:
- You Own Everything — All learner data, code, infrastructure stays in your Cloudflare account. Portability built-in.
- Predictable Pricing — Flat-rate authentication (Mindful Auth) + free Cloudflare infrastructure. Costs don't explode as enrollment grows.
- Fully Customizable — Headless student portal. Build the exact learning experience your audience needs.
- Built at the Edge — Astro 6 + Cloudflare Workers = zero cold starts, instant global performance. Higher completion rates.
- Community-Powered — Features built by developers/agencies for developers/agencies. Shared solutions reduce your time-to-market.
Mindful LMS requires both the Student portal (this repo) and the Educator portal:
| Product | Target | Database | Use Case |
|---|---|---|---|
| Mindful LMS Student (D1) | Learners | D1 | Course enrollment, progress tracking, lesson playback |
| Mindful LMS Educator (D1) | Educators / Admins | D1 | Course creation, lesson management, student progress tracking |
Both share Mindful Auth for identity and role-based access.
Ensure you have the following:
- Node.js 22+
- A Cloudflare Account (Free tier works perfectly for D1 and Workers)
- Wrangler CLI installed and authenticated (
npx wrangler login) - The Mindful LMS Educator deployed first (shares the same D1 database) — the Educator repo owns the D1 schema; see
docs/d1-schema.sqlthere to set up your database - Mindful Auth configured for role-based student access
- Astro 6.0+ Optimized — Native support for CSP, SSR, and Middleware
- Real-Time Progress Sync — Instant updates when educators publish new lessons or mark assignments complete
- Role-Based Isolation — Students can only access their enrolled courses and personal progress (no cross-student data leakage)
- Fully Headless — Total control over student UX. No "black-box" components or forced styling
- Responsive Design — Built for mobile learners on any device
- Session-Based Auth — Secure authentication via Mindful Auth with optional 2FA
Single Database, Strict Role-Based Access
Both students and educators connect to the same D1 database. Mindful Auth middleware ensures:
- Students can only query lesson and progress tables they have access to
- Educators can only query course management and student tracking tables
- No cross-role data leakage, no sync delays
Why This Matters:
- Instant content updates (no queue jobs between educator and learner portals)
- Zero vendor lock-in (your data, your infrastructure)
- Real-time progress tracking (students see new lessons the moment educators publish)
Want to build the next feature? Check out CONTRIBUTING.md for submission guidelines, feature ideas, and design variant specs.
Have Questions? Join our GitHub Discussions:
- 🔧 Get help with setup and deployment
- 💡 Share feature ideas for learners
- 🎨 Discuss design variants and UX improvements
- 📰 Showcase your projects
This student portal is secured by Mindful Auth, which handles:
- Password & Magic Link Auth — Multiple authentication methods
- Two-Factor Authentication (TOTP) — Optional per user
- Audit Logs — Track all student actions for compliance and learning analytics
- Rate Limiting & Bot Protection — Six-layer defense system
- Role-Based Access Control (RBAC) — Student-only data isolation from educators
Learn more: mindfulauth.com
- Full Documentation — Setup guides, API reference, best practices
- Mindful LMS Educator — Admin/educator portal (required companion repo)
- GitHub Discussions — Community Q&A and support
- YouTube Channel — Tutorials and walkthroughs
- Reddit — Community chat
- LinkedIn — Latest updates
- Contact Us — Support and partnerships
MIT — Build anything.
Questions? Open an issue or start a discussion on GitHub.
Ready to contribute? See CONTRIBUTING.md for submission guidelines, feature ideas, and cross-repo coordination.