Why EduSphere
What makes it better
than the alternatives
- 01
No ORM, no build pipeline
Plain ADO.NET and server-rendered Razor mean every query is visible and there's no npm, bundler or lock file to maintain.
- 02
Paid content is genuinely protected
Videos live outside the web root and stream only after an enrolment check, so sharing a link gives a non-buyer nothing.
- 03
Payments verified server-side
Orders are repriced on submit and confirmed with Stripe directly through both a return check and a signed webhook, so the browser is never believed.
- 04
Multi-currency that never corrupts history
Prices are stored once in a base currency and every payment records the rate it used, so changing a rate leaves past invoices untouched.
- 05
Built-in audit trail
Every administrative change, sign-in and data export is recorded with user, IP address and outcome, with no extra configuration.
Catalogue
- search
- category/level/price filters
- sorting
- paging
- featured courses
- ratings
Courses
- sections
- lessons
- video upload
- YouTube/Vimeo embed
- articles
- PDF lessons
- free previews
Player
- resume playback
- per-lesson completion
- progress bar
- sidebar navigation
- protected streaming
Quizzes
- single choice
- multiple choice
- true/false
- timer
- attempt limits
- shuffling
- server-side grading
- explanations
Progress
- per-lesson tracking
- automatic percentage
- course completion
- my-learning dashboard
Certificates
- automatic issue
- printable PDF
- QR code
- public verification page
- revocation
Checkout
- coupons
- VAT
- invoice numbering
- order confirmation
- free enrolment
Payments
- Stripe Checkout
- signed webhooks
- bank transfer
- cash
- admin confirmation
- invoice records
Currency
- base currency pricing
- editable rates
- header switcher
- per-payment rate recording
Accounts
- registration
- email confirmation
- password reset
- profile
- avatar upload
- change password
Admin courses
- create
- edit
- publish
- archive
- curriculum editor
- lesson reordering
- thumbnail upload
Admin quizzes
- question builder
- option editor
- passing score
- attempt limits
- answer locking
Admin students
- search
- detail view
- deactivate
- unlock
- complimentary access
Admin commerce
- payments
- coupons
- currencies
- VAT settings
- Stripe key management
Admin content
- categories
- instructors
- reviews moderation
- contact inbox
- certificates
Admin system
- dashboard
- activity log
- site settings
- Excel and print/PDF export on every list
Security
- BCrypt hashing
- account lockout
- rate limiting
- antiforgery
- session invalidation
- encrypted payment keys
SEO
- meta tags
- Open Graph
- Twitter cards
- JSON-LD
- sitemap.xml
- robots.txt
- landing page
| Language | Version | Framework | Used for | Share of code |
|---|---|---|---|---|
| C# | — | — | Web, API, admin | 53.1% |
| C# (Razor) | — | — | Web pages | 20% |
| CSS | — | — | Styling | 12.4% |
| SQL | — | — | Database | 8.9% |
| HTML | — | — | Front-end | 4% |
| JavaScript | — | — | Front-end | 1.7% |
- Primary language
- C#
- Framework
- C#
- Database
- SQL Server 2019+ (Express, Standard or Azure SQL)
- Authentication
- Email + password (BCrypt, work factor 11), cookie sessions, role-based access
- Licence
- Single-site
- Screens
- 50
- Database tables
- 22
- Supported languages
- English
- Browser support
- Chrome 110+, Edge 110+, Firefox 110+, Safari 16+
| Minimum | Recommended | |
|---|---|---|
| CPU | 2 vCPU | 4 vCPU |
| RAM | 4 GB | 8 GB |
| OS | Ubuntu 22.04 or Windows Server 2019+, .NET 10, SQL Server 2019+ | Ubuntu 22.04 or Windows Server 2019+, .NET 10, SQL Server 2019+ |
| Est. monthly hosting | $20 | $20 |
git clone <repo> /opt/edusphere && cd /opt/edusphere
echo "SA_PASSWORD=$(openssl rand -base64 24)" > .env
docker compose up -d --build
# Initialize database
PW=$(grep SA_PASSWORD .env | cut -d= -f2)
for f in schema seed demo-data; do
docker compose exec -T sql /opt/mssql-tools18/bin/sqlcmd \
-S localhost -U sa -P "$PW" -C -i "/scripts/$f.sql"
done
# App: :8080 — use Nginx for HTTPS
# Windows Server + IIS
dotnet publish src\EduSphere.Web -c Release -o .\publish
# Copy publish\ to C:\inetpub\EduSphere
sqlcmd -S localhost\SQLEXPRESS -E -C -i database\schema.sql
sqlcmd -S localhost\SQLEXPRESS -E -C -i database\seed.sql
sqlcmd -S localhost\SQLEXPRESS -E -C -i database\demo-data.sql
# IIS App Pool: No Managed Code
# Grant Modify access to App_Data, logs & DataProtection keys
# Configuration
# Copy appsettings.example.json → appsettings.json
# Set ConnectionStrings__EduSphereDb and DataProtection__KeyPath
# Demo__ShowCredentials=true only for demo sitesQuality report
Manually reviewedHow to read the quality report
What this is. Every project on Vibe96 goes through an automated audit of its source code before a reviewer in Dubai checks it by hand. The score is out of 100; 75 is the minimum to be listed, and any single failing check blocks a listing regardless of the score.
- Security
- No real credentials in the code, every data-changing route protected, admin areas role-gated, no SQL built from user input.
- Code structure
- A developer can navigate and extend it: clear module boundaries, no giant files, little copy-paste.
- Docs & completeness
- The setup guide, example config, schema and required files the builder committed to are actually in the archive.
- Dependency health
- Packages pinned, no known critical vulnerabilities, no abandoned libraries in production paths.
- Build & deploy
- A clean machine can restore, build and start it by following the shipped instructions.
Warnings are problems that didn't block the listing; they stay visible here until a later version clears them. The audit reads the code — it does not run it — so always try the live demo before you buy. Lines of code are counted from the same audited archive.
What to know before you buy
3 non-blocking findings shown publicly: no real secrets found; weak defaults in appsettings.json need hardening; strong authentication and role guards; missing ownership checks on student profile reads; good separation of concerns with minor duplication and some configuration hard-coding. The seller has been notified; fixes ship in the next version.
Versions & updates
No updates yet. New versions appear here with a changelog.
Buyers receive updates free for 1 year.
What you get
- </>Full source codeThe complete audited source, delivered as a download from your account. No obfuscation.
- ▤DocumentationSetup guide, architecture notes, CLAUDE.md and AGENTS.md.
- ↻One year of updatesEvery new version the builder publishes, free for 12 months.
- ♧30 days of supportInstallation and defect support through Vibe96 tickets.