# π Kujifunza Kiswahili
An interactive Swahili learning website β built to grow week by week.
---
## π Project Structure
```
kiswahili/
β
βββ index.html β The main page (don't edit this often)
β
βββ css/
β βββ style.css β All the site styling
β
βββ js/
β βββ main.js β All the site logic + LESSON REGISTRY
β
βββ lessons/ β π PUT ALL YOUR LESSON FILES HERE
βββ swahili_tenses_lesson.html
βββ swahili_negation.html
βββ swahili_sentence_structure.html
βββ swahili_object_infixes.html
βββ swahili_pa_ku_mu.html
βββ swahili_a_of_association.html
βββ swahili_word_order.html
βββ swahili_body_lesson.html
βββ swahili_animal_game.html
βββ swahili_body_parts_game.html
```
---
## β How to Add a New Lesson Each Week
### Step 1 β Create your lesson file
Put your new HTML lesson file in the `/lessons/` folder.
Name it something clear, like `week8_colours.html`.
### Step 2 β Register it in main.js
Open `js/main.js` and add a new entry to the `LESSONS` array at the top:
```js
{
id: 'colours', // unique ID, no spaces
title: 'Colours β Rangi', // title shown on the card
description: 'Learn all colours...', // short description
icon: 'π¨', // emoji
category: 'vocab', // 'grammar', 'vocab', or 'game'
badge: 'VOCAB', // badge text on card
week: 8, // week number
file: 'lessons/week8_colours.html', // path to your file
tags: ['colours', 'rangi', 'red'], // search keywords
isNew: true, // shows NEW badge (set to false after a week)
},
```
### Step 3 β Save, commit, push
That's it! The card and sidebar item appear automatically.
---
## π Categories
| Category | Used for | Colour |
|-----------|-----------------------------------|--------|
| `grammar` | Grammar rules & references | Blue |
| `vocab` | Vocabulary lists & word groups | Orange |
| `game` β¦