An AI assisted learning tool for Ethiopian high school students, especially Grade 12th students.
# Ethio Tefetagn - ኢትዮ ተፈታኝ
ESSLCE exam prep for Ethiopian high school students — practice questions for both the Natural Science and Social Science streams, a textbook library, and an AI study assistant that cites the page it's answering from.
## What's here
```
ethiotefetagn/
├── Books/ ← drop textbook PDFs here — 32 folders: 8 subjects × grades 9–12
│ (see Books/README.md)
├── DEPLOYMENT.md ← step-by-step: domain, hosting, going live
├── render.yaml ← one-click backend deploy config for Render
├── netlify.toml ← one-click frontend deploy config for Netlify
├── .gitignore
├── public/ ← the website itself (static HTML/CSS/JS — deploy anywhere)
│ ├── index.html Landing page, stream picker, visitor counter
│ ├── dashboard.html Subject grid + "readiness bloom" for a chosen stream
│ ├── quiz.html Quiz-taking screen
│ ├── chatbot.html AI study assistant screen (subject + grade pickers)
│ ├── library.html Textbook library — view/download books by subject & grade
│ ├── css/style.css Includes light + dark theme tokens
│ └── js/
│ ├── config.js Backend URL — the one line to edit after deploying
│ ├── questions.js Subject + question data (edit/add questions here)
│ ├── bloom.js Progress visualization + local progress storage
│ ├── quiz.js Quiz logic
│ ├── chatbot.js Chat UI logic
│ ├── library.js Fetches book availability from the backend
│ └── main.js Countdown timer, visitor counter, dark mode toggle
└── server/ ← backend API (Node/Express — needed for a real,
│ site-wide visitor count, the Library, and the AI chatbot)
├── server.js CORS-restricted, rate-limited, helmet-hardened
├── ingest-books.js Converts uploaded PDFs into page-cited JSON
├── subjects.js Shared subject-i …