Finished Banjo App

I am proud of the work I have done on this project.
I first started out with just the "lessons" endpoint and I didn't like
how the material was organized so I added the "topics" endpoint and "unit"
endpoint to make it easier to find lessons on a specific topic or unit.
I also added the "notes" endpoint to make it easier to find reflections on
specific lessons. I am really happy wth how my app turned out and I am
glad I chose something I can actually use. I am excited to add more
lesson plans in the future especially if I teach different
classes to help me stay organized.
This commit is contained in:
jkissane2
2026-04-02 10:18:51 -04:00
parent 667c4aa1ed
commit f4f1dd86d4
4 changed files with 66 additions and 3 deletions

1
.envrc Normal file
View File

@@ -0,0 +1 @@
source .venv/bin/activate

Binary file not shown.

61
lesson_app/app/views.py Normal file
View File

@@ -0,0 +1,61 @@
from banjo.urls import route_get
lessons_data = [
{
"course": "Algebra 1",
"unit": "Unit 9: Quadratic Functions",
"topic": "Graphing Quadratic Functions",
"title": "Intro to Quadratic Graphs",
"objective": "Students will graph quadratic functions and identify key features.",
"materials": "Graph paper and calculators",
"warmup": "Review linear graphs",
"activity": "Introduce standard form",
"exit_ticket": "Short assessment",
"notes": "Use visuals"
},
{
"course": "Algebra 1",
"unit": "Unit 5: Linear Functions",
"topic": "Slope Intercept Form",
"title": "Graphing Linear Equations",
"objective": "Students will graph lines in slope-intercept form.",
"materials": "Notebook and graph paper",
"warmup": "Review slope from a graph",
"activity": "Practice graphing from y = mx + b",
"exit_ticket": "Graph two linear equations",
"notes": "Remind students that b is the y-intercept"
},
{
"course": "Algebra 1",
"unit": "Unit 6: Systems of Equations",
"topic": "Substitution",
"title": "Solving Systems by Substitution",
"objective": "Students will solve systems using substitution.",
"materials": "Guided notes and worksheet",
"warmup": "Solve a one-step equation",
"activity": "Model substitution step-by-step",
"exit_ticket": "Solve one system independently",
"notes": "Go slowly on substitution"
}
]
@route_get("lessons")
def lessons(params):
return {"lessons": lessons_data}
@route_get("units")
def units(params):
unit_names = sorted(set(lesson["unit"] for lesson in lessons_data))
return {"units": unit_names}
@route_get("topics")
def topics(params):
topic_names = sorted(set(lesson["topic"] for lesson in lessons_data))
return {"topics": topic_names}
@route_get("notes")
def notes(params):
notes_names = sorted(set(lesson["notes"] for lesson in lessons_data))
return {"notes": notes_names}

View File

@@ -1,18 +1,19 @@
# Planning your app
## 1. Who will use your app? (Who is your app's target user?)
This app is designed for teachers, specifically myself as a math teacher, who want to organize lesson plans efficiently. The user will host the app on their own computer for personal use. It can be used to organize lesson plans, track units, and refelct on lessons for future improvement.
## 2. What need or problem will your app solve? How do you know this is really a need for your target user? How does the target user currently deal with the problem?
My app is designed to help teachers stay organized. I often struggle to keep my lesson plans organized across units and topics from year to year. I find myself always looking for a specific lessons and can't remember if its in my Google Drive. OneDrive, or in a binder in my filing cabinet.
## 3. How will your app's design meet the need you have identified?
My app solves my issue by storing all lesson plans in one place, allowing easy searching for materials by topic and unit, and allowing teachers to add notes and reflections after each lesson so when they pull up the lesson in the future, they know what went smooth and what could use improvement.
## 4. How could your app possibly cause harm? (For example, could someone get hurt if data leaked or if someone used the app inappropriately?) What steps will you take to ensure that nobody is harmed by your app?
This app is unliekly to cause harm. It is intended for personal use by teachers. There is minimal risk since no sensitive data is required. To ensure saftey, no personal student data will be stored in the app.