Logo Lanfrica

Khaalid245/somali-early-warning-system-school

Domain:

education

Record type:

software
Creator:
Kha
Host:
somali-early-warning-system # School Early Warning Support System 🌐 **Live Demo**: alifmonitor.com ## πŸŽ₯ Demo Video Watch 5-minute Demo on Google Drive ## πŸ“‹ Description The School Early Warning Support System is a full-stack web application designed to assist schools in monitoring student attendance, identifying early academic risk indicators, and supporting structured intervention workflows between teachers, form masters, and administrators. The system enables data-driven educational decision-making by combining a secure backend API, a modern frontend interface, and a relational database designed to support analytics, alerts, and intervention management. --- ## πŸ› οΈ Technology Stack - **Frontend**: React (Vite) with Tailwind CSS - **Backend**: Django REST Framework - **Database**: MySQL 8.0 - **Authentication**: JWT with httpOnly cookies + 2FA (TOTP) - **Caching**: Redis (optional) - **Security**: Rate limiting, CSRF, XSS protection, security headers - **API Documentation**: Swagger/OpenAPI (drf-spectacular) - **Architecture**: Three-tier full-stack architecture --- ## πŸš€ Quick Start ### Prerequisites - Python 3.11+ - Node.js 18+ - MySQL 8.0+ - Git 2.x ### Installation Steps #### 1. Clone Repository ```bash git clone github.com cd somali-early-warning-system-school/somali-early-warning-system ``` #### 2. Backend Setup ```bash # Create virtual environment python -m venv .venv # Activate virtual environment (Windows) .venv\Scripts\activate # Install dependencies cd school_support_backend pip install -r requirements.txt # Create .env file echo DB_NAME=school_support_db > .env echo DB_USER=django_user >> .env echo DB_PASSWORD=your_password >> .env echo DB_HOST=localhost >> .env echo DB_PORT=3306 >> .env echo SECRET_KEY=your_secret_key >> .env echo DEBUG=True >> .env # Create database mysql -u root -p -e "CREATE DATABASE school_support_db;" # Run migrations python manage.py migrate # Create superuser (option …

Languages