Feature #11
openWisdom Logger (Web UI)
0%
Description
Task: Build the "Wisdom Logger" - Student Progress Journal System¶
Mission Alignment¶
Students from underserved communities need to track their learning journey, reflect on challenges, and build metacognitive skills. This tool demonstrates TeachingCode.org's contemplative approach to coding education.
The Build¶
What You're Creating¶
A Symfony-based journal system where students log:
- Daily coding sessions (what they built, time spent, challenges faced)
- Reflections (what they learned, how they felt, what clicked)
- Wisdom moments (breakthroughs, realizations, questions)
- Progress markers (skills acquired, projects completed)
Why This Task is Perfect For You¶
- Symfony fundamentals without overwhelming complexity
- Real educational value from day one
- Foundation piece for MiddleSeek AI integration later
- Clear scope with natural expansion paths
Technical Specifications¶
Phase 1: Core Symfony Entity & CRUD (Start Here)¶
symfony new wisdom-logger --webapp
cd wisdom-logger
Entity Structure:
// src/Entity/JournalEntry.php
- id (int)
- studentId (int) // future User relation
- sessionDate (datetime)
- codeActivity (text) // what they built
- timeSpent (int) // minutes
- challengesFaced (text)
- reflection (text)
- wisdomMoment (text, nullable)
- moodRating (int, 1-5, nullable)
- skillsTags (array) // json array
- createdAt (datetime)
- updatedAt (datetime)
Your Task List:
-
Create the Entity
php bin/console make:entity JournalEntry -
Generate CRUD Controller
php bin/console make:crud JournalEntry -
Customize the Form (src/Form/JournalEntryType.php)
- Make it student-friendly (helpful labels, placeholders)
- Add CSS classes for purple/grey branding
- Make wisdomMoment a textarea with prompt: "What clicked for you today?"
-
Style the Templates (templates/journal_entry/)
- Apply grey/purple brand palette
- Mobile-first responsive design
- Accessibility: proper labels, ARIA attributes
- Contemplative aesthetic (calm, spacious, focused)
-
Add a Dashboard View
- Route:
/journal/dashboard - Shows last 7 entries in timeline
- Quick stats: total sessions, total hours, mood trend
- "Start Today's Entry" prominent button
- Route:
Success Criteria¶
You're done when:
- ✅ Students can create/edit/delete journal entries
- ✅ Forms are intuitive and encouraging
- ✅ Dashboard shows learning progress visually
- ✅ Brand colors (grey/purple) applied consistently
- ✅ Mobile-responsive and accessible
- ✅ Code is clean, commented, AGPLv3 header on custom files
Future Expansion Hooks (Don't Build Yet)¶
Once this works, you'll add:
- MiddleSeek AI integration: AI analyzes entries, suggests resources
- Skill graph: Visualize skill acquisition over time
- Peer support: Share wisdom moments (anonymized)
- Mentor feedback: Teachers can leave encouraging notes
AGPLv3 License Header¶
Add to your custom PHP files:
/**
* This file is part of TeachingCode.org
*
* Copyright (c) 2025 Kusala Studio (501c3)
* Licensed under AGPLv3
*
* Mission: Serve underserved communities through open-source education
* https://teachingcode.org
*/
Why This Matters¶
Educational Research Shows:
- Journaling increases retention by 20-30%
- Reflection builds problem-solving skills
- Progress tracking boosts motivation in underserved students
Your code directly serves the mission: helping students from underserved communities become confident developers through contemplative practice.
Questions Before You Start?¶
- Database choice? (SQLite for dev, MySQL/PostgreSQL for prod?)
- Need help with Symfony environment setup?
- Want specific guidance on form customization or styling?
- Should I provide a purple/grey CSS starter?
Get building, and ping me when you hit your first technical question or when Phase 1 is done! 🟣
KJ Updated by Khun Josh about 1 month ago
- Subject changed from Wisdom Logger to Wisdom Logger (Web UI)