SmartLearnNeuro is an accessible, Django-based e-learning platform designed to empower neurodiverse learners, including those with dyslexia and ADHD. With a focus on personalization and inclusivity, it provides adaptive learning experiences, robust accessibility features, and a user-friendly interface to enhance education for all.
- Customizable Settings: Adjust font size, dyslexia-friendly fonts (e.g., OpenDyslexic), high contrast modes, and color blindness filters.
- Assistive Tools: Text-to-speech, screen reader optimization, keyboard navigation, and reading guides.
- Neurodiverse Support: Tailored settings for dyslexia (e.g., letter spacing, simplified language) and ADHD (e.g., focus timers, break reminders).
- Secure Authentication: User registration, login, and logout with role-based access.
- Profile Customization: Personalize learning preferences, accessibility settings, and progress tracking.
- Learning Conditions: Support for ADHD, dyslexia, and standard learners with condition-specific optimizations.
- Lessons & Assessments: Structured content delivery with interactive assessments (details inferred; specifics limited in provided files).
- Adaptive Learning Paths: Personalized pacing and difficulty adjustments based on user performance.
- Progress Tracking: Monitor completed lessons, engagement levels, and learning streaks.
- Adaptive Learning: AI-driven content adjustments for difficulty and pacing (assumed functionality based on context).
- Reward System: Gamification with points, levels, and achievements to boost engagement, especially for ADHD learners.
- Python: 3.9+
- PostgreSQL: 14+ (recommended; SQLite used in development)
- Node.js: 18+ (for frontend dependencies)
-
Clone the Repository:
git clone https://github.com/Rakshak-D/Smart-learn-Neuro.git cd Smart-learn-Neuro
-
Set Up Virtual Environment:
python -m venv .venv source .venv/bin/activate # On Windows: `.venv\Scripts\activate`
-
Install Dependencies:
pip install -r requirements.txt
-
Configure Environment: Create a
.env
file in the project root:echo "SECRET_KEY=your-secret-key-here" > .env echo "DEBUG=True" >> .env echo "DATABASE_URL=postgres://user:password@localhost:5432/smartlearnneuro" >> .env
-
Set Up Database:
- Update
DATABASES
insettings.py
with your PostgreSQL credentials if not using.env
. - Run migrations:
python manage.py migrate
- Create a superuser:
python manage.py createsuperuser
- Update
-
Start the Server:
python manage.py runserver
- Home:
http://localhost:8000/
- Admin Dashboard:
http://localhost:8000/admin/
- User Profile:
http://localhost:8000/users/profile/
- Accessibility Settings:
http://localhost:8000/accessibility/settings/
- Lessons:
http://localhost:8000/lessons/
(assumed based on templates)
graph TD
A[User] --> B{Authentication}
B -->|Authenticated| C[Profile Manager]
B -->|Guest| D[Public Pages]
C --> E[Accessibility Settings]
C --> F[Learning Modules]
E --> G[(PostgreSQL)]
F --> G
F --> H[AI Engine]
sequenceDiagram
participant U as User
participant S as System
participant D as Database
U->>S: Login/Register
S->>D: Verify Credentials
D-->>S: User Data
S->>U: Dashboard
U->>S: Update Accessibility Settings
S->>D: Save Settings
D-->>S: Success
S->>U: Updated Interface
Component | Technologies |
---|---|
Frontend | HTML5, CSS3, JavaScript, Bootstrap, HTMX |
Backend | Django 4.2, Django REST Framework |
Database | PostgreSQL (production), SQLite (dev) |
Accessibility | OpenDyslexic font, Chart.js for visuals |
Security | CSRF protection, session management |
Smart-learn-Neuro/
├── accessibility/ # Accessibility features and settings
│ ├── models/ # Dyslexia, ADHD, and general settings
│ ├── middleware/ # Request/response processing
│ └── templates/ # Accessibility UI components
├── users/ # User authentication and profiles
│ ├── models/ # CustomUser with learning conditions
│ └── views/ # Login, register, profile management
├── templates/ # Base templates and error pages
├── static/ # CSS, JS, and other static assets
└── manage.py # Django management script
While a requirements.txt
wasn’t provided, inferred dependencies include:
Django==4.2.11
djangorestframework==3.15.1
psycopg2-binary==2.9.9 # PostgreSQL adapter
python-dotenv==1.0.0
Bug Report Template:
## Description
[What went wrong?]
## Steps to Reproduce
1. [Step 1]
2. [Step 2]
3. [Observe issue]
**Expected Behavior**
[What should happen?]
**Actual Behavior**
[What actually happens?]
**Environment**
- OS: [e.g., Windows 11]
- Browser: [e.g., Chrome 120]
- Python Version: [e.g., 3.9]
**Additional Context**
[Screenshots, logs, etc.]
Labels:
bug
- Code issuesenhancement
- Feature requestsaccessibility
- Accessibility-related concerns
This project is licensed under the MIT License - see the LICENSE file for details.
Maintainer: Rakshak D
📧 rakshakmce@gmail.com
🔗 GitHub Profile
- AI Enhancements: Real-time learning pace adjustments.
- Mobile App: Progressive Web App support.
- Multilingual Support: Interface translations.
- Analytics Dashboard: Detailed learning insights.
- Fork the repository.
- Create a branch (
git checkout -b feat/new-feature
). - Commit changes (
git commit -m "Add new feature"
). - Push to your branch (
git push origin feat/new-feature
). - Open a Pull Request.
Standards:
- Adhere to PEP 8.
- Write clear commit messages.
- Include docstrings for major functions.
This project is made possible by the dedicated efforts of our team:
- Rakshak D
GitHub Profile | Core Architecture & Recommendation Systems - Pranathi R
GitHub Profile | Database Design & NLP Integration
- Inchara P
GitHub Profile | UI/UX Design & Accessibility Features - Sushmindra S.V
GitHub Profile | Deployment Pipeline & Performance Optimization
Want to join us?
We welcome contributions! Check out our:
🔹 Development Roadmap
🔹 Contribution Guidelines
Together, we're redefining accessible education! 🧠✨