AI-powered student tracking and management platform for educational institutions.
- Production: https://smart-time-table-management-system-1.onrender.com
- Admin Login: admin/admin123 (demo)
- AI-powered personalized dashboard
- Smart study recommendations
- Interactive AI chatbot assistant
- Real-time timetable updates
- Email OTP registration (FREE!)
- Attendance tracking
- Class management dashboard
- Attendance marking system
- Student progress tracking
- Announcement system
- Material management
- Comprehensive course management
- AI-assisted timetable generation
- Teacher and student management
- Advanced analytics dashboard
- Automated conflict resolution
- Performance insights
- Automatic timetable optimization
- Performance prediction analytics
- Smart notification system
- Attendance trend analysis
- Resource optimization suggestions
- Backend: Django 4.2+ (Python)
- Frontend: Bootstrap 5, JavaScript
- Database: PostgreSQL (Production), SQLite (Development)
- Email: Gmail SMTP (FREE OTP verification)
- AI: OpenAI GPT, Offline fallback
- Deployment: Render.com
- Authentication: Email OTP verification
✅ 100% FREE email verification (no SMS costs)
✅ Professional HTML email templates
✅ 6-digit OTP codes with 10-minute expiration
✅ All user types (Student, Teacher, Admin)
✅ Phone numbers optional
✅ Gmail SMTP integration
git clone https://github.com/AdityaPandey-DEV/Smart-Time-Table-Management-System.git
cd student-tracking-systempip install -r requirements.txtCreate .env file:
DEBUG=True
SECRET_KEY=your-secret-key-here
# Email Configuration (Gmail SMTP)
EMAIL_BACKEND=django.core.mail.backends.smtp.EmailBackend
EMAIL_HOST=smtp.gmail.com
EMAIL_HOST_USER=your-email@gmail.com
EMAIL_HOST_PASSWORD=your-16-character-app-password
# Database
DATABASE_URL=sqlite:///db.sqlite3python manage.py migrate
python manage.py collectstaticpython manage.py createsuperuserpython manage.py runserverVisit: http://127.0.0.1:8000
- Go to: https://myaccount.google.com/security
- Enable "2-Step Verification"
- Complete phone verification
- Go to: https://myaccount.google.com/apppasswords
- Select "Mail" → "Other (Custom name)"
- Enter: "Student Tracking System"
- Copy the 16-character password (e.g.,
abcdefghijklmnop)
EMAIL_HOST_USER=your-email@gmail.com
EMAIL_HOST_PASSWORD=abcdefghijklmnoppython test_email.pyGmail SMTP is blocked on Render free tier! Use SendGrid instead (100 emails/day free).
Quick Setup:
- Create account: https://signup.sendgrid.com/
- Generate API key: https://app.sendgrid.com/settings/api_keys
- Verify sender email
- Add environment variables (see below)
📖 Full guide: See docs/RENDER_EMAIL_SETUP.md
# Basic Settings
DEBUG=False
SECRET_KEY=your-production-secret-key
ALLOWED_HOSTS=your-domain.onrender.com,*.onrender.com
# Email Configuration (SendGrid - Recommended for Render)
EMAIL_BACKEND=django.core.mail.backends.smtp.EmailBackend
EMAIL_PROVIDER=sendgrid
EMAIL_HOST=smtp.sendgrid.net
EMAIL_PORT=587
EMAIL_USE_TLS=True
EMAIL_HOST_USER=apikey
SENDGRID_API_KEY=SG.your-sendgrid-api-key-here
DEFAULT_FROM_EMAIL=your-verified-email@example.com
# Alternative: Gmail SMTP (works locally, blocked on Render free tier)
# EMAIL_HOST=smtp.gmail.com
# EMAIL_HOST_USER=your-email@gmail.com
# EMAIL_HOST_PASSWORD=your-gmail-app-password
# Security
CSRF_TRUSTED_ORIGINS=https://your-domain.onrender.com
# Database (PostgreSQL)
DATABASE_URL=postgresql://user:password@host:port/database⚠️ EMAIL_HOST_PASSWORD: Must have NO SPACES⚠️ DEBUG: Must beFalsein production⚠️ CSRF_TRUSTED_ORIGINS: Required for form submissions
- Go to
/register/student/ - Fill personal information
- Email required, phone optional
- Receive OTP via email (FREE!)
- Enter 6-digit code to verify
- Account created successfully
- Go to
/register/teacher/ - Fill professional details
- Email OTP verification
- Account approved by admin
- Go to
/register/admin/ - Fill administrative information
- Email OTP verification
- Full system access
python scripts/email/check_email_config.py # Check config (no Django needed)
python manage.py test_sendgrid_email your-email@example.com # Test email (on Render)See docs/email/ for comprehensive email setup guides.
python system_health_check.pypython setup_demo.pypython debug_production.pyenhanced_timetable_system/
├── accounts/ # User management & authentication
├── timetable/ # Core timetable functionality
├── ai_features/ # AI-powered features
├── utils/ # Utilities (email, AI services)
├── templates/ # HTML templates
├── static/ # CSS, JS, images
├── enhanced_timetable_system/ # Django settings
└── requirements.txt # Python dependencies
- Conflict detection and resolution
- Resource optimization
- Schedule balancing
- Automated suggestions
- Student performance prediction
- Attendance pattern analysis
- Grade trend forecasting
- Personalized recommendations
- Smart reminder system
- Proactive conflict alerts
- Performance insights
- Custom notification preferences
- Email OTP verification
- Role-based access control
- Session management
- CSRF protection
- Input validation
- SQL injection prevention
- XSS protection
- Secure password hashing
Problem: "An error occurred. Please try again"
- Solution: Check Render logs for specific error
- Common fix: Verify EMAIL_HOST_PASSWORD has no spaces
Problem: Form stuck at Stage 1
- Solution: Check CSRF_TRUSTED_ORIGINS in production
- Alternative: Try incognito mode, different browser
Problem: No OTP email received
- Solution: Check spam folder, verify Gmail App Password
- Test: Run
python test_email.pylocally
Problem: 535 Username and Password not accepted
- Solution: Regenerate Gmail App Password
- Check: 2-Factor Authentication enabled
- Verify: 16-character password, no spaces
Problem: Connection refused or timeout
- Solution: Check internet connection, firewall
- Alternative: Try different SMTP settings
Problem: 500 Internal Server Error
- Solution: Check DEBUG=False, proper SECRET_KEY
- Verify: All environment variables set correctly
Problem: CSRF verification failed
- Solution: Add CSRF_TRUSTED_ORIGINS environment variable
- Format:
https://your-domain.onrender.com
python manage.py testpython test_email.pypython system_health_check.py- User registration (all types) with email OTP
- Gmail SMTP email sending
- Professional HTML email templates
- AI-powered timetable generation
- Comprehensive admin dashboard
- Student/Teacher portals
- Attendance management
- Course management system
- Email OTP system (FREE verification)
- Phone numbers optional across all user types
- Professional error handling
- Production-ready security settings
- Offline AI fallback system
- Fork the repository
- Create feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- GitHub Issues: https://github.com/AdityaPandey-DEV/Smart-Time-Table-Management-System/issues
- Email: adityapandey.dev.in@gmail.com
- Live Demo: https://smart-time-table-management-system-1.onrender.com
- Django framework and community
- Bootstrap for responsive UI
- OpenAI for AI capabilities
- Gmail SMTP for free email service
- Render.com for hosting platform
Join thousands of students and educators using our AI-powered platform!
🌟 Get Started Today | 📚 Learn More
Student Tracking System - Making education management easier! 🎓