Skip to content

tyler24434/tech

Repository files navigation

EduManageNG - Nigerian School Management & CBT Platform

A comprehensive Django-powered school management system with Computer-Based Testing (CBT) capabilities, specifically designed for Nigerian secondary schools (JS1 - SS3).

🌟 Features

πŸŽ“ Student CBT Portal

  • Secure Authentication: 10-digit candidate number and password system
  • Live Exam Interface: WAEC/JAMB-style CBT experience with countdown timer
  • Question Navigation: Previous/Next navigation with question palette
  • Auto-Save: Answers automatically saved as students progress
  • Mark for Review: Flag questions for later review
  • Auto-Submit: Automatic submission when time expires
  • Device Tracking: Monitor connected devices during exams

πŸ‘¨β€πŸ’Ό Admin Dashboard

  • Comprehensive Analytics: Performance statistics and insights
  • Student Management: Add, update, deactivate students with auto-generated IDs
  • Subject & Class Management: Full CRUD operations for academic structure
  • Assessment Creation: Upload .docx files for questions and answers
  • Session Management: Automatic student promotion system
  • Finance Tracking: Fee management and payment status
  • Results Export: CSV export functionality
  • Exam Control: START/PAUSE/STOP live assessments

πŸ‘©β€πŸ« Staff Portal

  • Registration ID Authentication: Secure staff login system
  • Limited Access: Role-based permissions for teachers
  • Class Management: View assigned classes and students

πŸ”§ System Features

  • Multi-Assessment Types: Exams, Tests, and Quizzes
  • File Parsing: Automatic .docx question/answer processing
  • Grading System: Configurable A-F grading scale
  • Session Promotion: Automatic class advancement
  • Device Management: PC connection limits and monitoring
  • Purple Theme: Professional, modern UI design

πŸš€ Quick Start

Prerequisites

  • Python 3.8+
  • Django 5.2.7
  • SQLite (default) or PostgreSQL

Installation

  1. Clone the repository
git clone <repository-url>
cd edumanageng
  1. Install dependencies
pip install django python-docx pillow django-crispy-forms crispy-bootstrap5 django-extensions
  1. Run migrations
python manage.py migrate
  1. Create superuser
python manage.py createsuperuser
  1. Populate test data
python manage.py populate_data
  1. Start development server
python manage.py runserver 0.0.0.0:8000

πŸ”‘ Default Login Credentials

After running populate_data:

  • Admin: admin / admin123
  • Staff: john.doe / staff123
  • Students: Use generated student IDs (e.g., 1234501991) / student001, student002, etc.

πŸ“š Usage Guide

For Administrators

  1. Access Admin Dashboard: Login at /admin/ or navigate to admin dashboard
  2. Manage Students: Add students with auto-generated 10-digit IDs
  3. Create Subjects: Set up subjects for each class level
  4. Upload Assessments: Create exams by uploading .docx question/answer files
  5. Control Exams: Use the START module to manage live assessments
  6. View Analytics: Monitor performance through the dashboard

For Students

  1. Access CBT Portal: Visit the main URL to see available assessments
  2. Login: Click on an assessment and enter your 10-digit candidate number and password
  3. Review Details: Check your information on the pre-exam dashboard
  4. Take Assessment: Navigate through questions, mark for review, and submit

For Staff

  1. Staff Login: Access /staff-login/ with your registration ID and password
  2. View Dashboard: Access limited administrative functions
  3. Manage Classes: View assigned students and classes

πŸ“ Project Structure

edumanageng/
β”œβ”€β”€ core/                          # Main application
β”‚   β”œβ”€β”€ models.py                  # Database models
β”‚   β”œβ”€β”€ views.py                   # View controllers
β”‚   β”œβ”€β”€ urls.py                    # URL routing
β”‚   β”œβ”€β”€ utils.py                   # Utility functions
β”‚   β”œβ”€β”€ admin.py                   # Django admin config
β”‚   └── management/commands/       # Custom management commands
β”œβ”€β”€ templates/                     # HTML templates
β”‚   β”œβ”€β”€ base.html                  # Base template
β”‚   β”œβ”€β”€ core/student/              # Student templates
β”‚   └── core/admin/                # Admin templates
β”œβ”€β”€ static/                        # Static files (CSS, JS, images)
β”œβ”€β”€ media/                         # User uploads
└── edumanageng/                   # Project settings

πŸ—„οΈ Database Models

Core Models

  • SystemConfiguration: Global system settings
  • Class: School classes (JS1-SS3)
  • Subject: Academic subjects per class
  • Student: Student records with auto-generated IDs
  • Staff: Teacher/staff accounts
  • Fee: School fee structure

Assessment Models

  • Exam/Test/Quiz: Assessment definitions
  • Question: Individual questions with options
  • ExamAttempt/TestAttempt/QuizAttempt: Student attempts
  • StudentAnswer: Individual answer records
  • ConnectedDevice: Device monitoring

🎨 UI/UX Features

  • Purple Theme: Professional color scheme with CSS custom properties
  • Responsive Design: Mobile-friendly interface
  • Bootstrap 5: Modern component library
  • Font Awesome: Comprehensive icon set
  • Interactive Elements: Hover effects, animations, and transitions
  • Accessibility: WCAG-compliant design patterns

πŸ”§ Configuration

System Settings

  • School Information: Name, code, session dates
  • Grading System: Configurable grade boundaries (A-F)
  • Student ID Generation: 5-digit school code + sequential numbering
  • Exam Settings: PC connection limits, duration settings

File Format Requirements

Questions.docx Format:

1. What is 2 + 2?
A. 3
B. 4
C. 5
D. 6

2. What is the capital of Nigeria?
A. Lagos
B. Port Harcourt
C. Abuja
D. Kano

Answers.docx Format:

1. B
2. C

πŸš€ Deployment

Production Considerations

  1. Database: Switch to PostgreSQL for production
  2. Static Files: Configure proper static file serving
  3. Security: Update SECRET_KEY and security settings
  4. HTTPS: Enable SSL/TLS encryption
  5. Backup: Implement regular database backups

Environment Variables

DEBUG=False
SECRET_KEY=your-secret-key
DATABASE_URL=postgresql://user:pass@localhost/dbname
ALLOWED_HOSTS=yourdomain.com

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ†˜ Support

For support and questions:

  • Create an issue on GitHub
  • Check the documentation
  • Review the code comments

🎯 Roadmap

  • Mobile app for students
  • Advanced analytics and reporting
  • Integration with payment gateways
  • Bulk student import/export
  • Email notifications
  • Advanced question types (essay, matching)
  • Plagiarism detection
  • Parent portal

πŸ™ Acknowledgments

  • Django framework and community
  • Bootstrap for UI components
  • Font Awesome for icons
  • Nigerian education system requirements
  • WAEC/JAMB CBT interface inspiration

EduManageNG - Empowering Nigerian Education Through Technology πŸ‡³πŸ‡¬

About

A School With Honour

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published