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 …