Logo Lanfrica

steve-ongera/kcse_system

Domaine:

education

Type de record:

software
Créateur:
ste
Hôte:
A full-stack web application for managing Kenya Certificate of Secondary Education (KCSE) examinations — from candidate registration through results publication. Built with Django REST Framework (backend) and React JSX (frontend). # KCSE Management System A full-stack web application for managing Kenya Certificate of Secondary Education (KCSE) examinations, built for the Kenya National Examinations Council (KNEC). The system handles candidate registration, marks entry, result management, and public result lookup. --- ## Table of Contents - Overview - Technology Stack - Project Structure - Getting Started - Environment Variables - API Reference - Frontend Architecture - Backend Architecture - Authentication - Data Models - Grading System - Security Considerations - Development Notes --- ## Overview The system serves two distinct user groups: **Public users** — candidates and guardians who need to look up official KCSE results using an index number and full name. No account is required. **Admin users** — KNEC staff, school administrators, and examiners who register candidates, enter marks, approve results, and monitor system activity through a protected dashboard. --- ## Technology Stack ### Backend | Component | Technology | |----------------|--------------------------------------| | Framework | Django 4.x + Django REST Framework | | Authentication | Django Simple JWT | | Database | PostgreSQL (recommended) | | Caching | Django cache framework (1-hour TTL) | | Rate limiting | DRF throttling (20 requests/hour for public lookup) | ### Frontend | Component | Technology | |----------------|----------------------------------| | Framework | React 18 | | Routing | React Router 6 | | HTTP client | Axios | | Charts | Recharts | | Build tool | Vite 5 | | Fonts | Playfair Display, DM Sans, DM Mono | --- ## Project Structure ``` kcse-management-system/ │ ├── backend/ # Django application │ ├── m …