codex-lv3-may-2025

Capstone Project Planning Guide

đź“‹ Planning Worksheet - Use this worksheet to document your planning process as you work through each phase.

📊 Optional: GitHub Kanban Board Guide - Learn to use GitHub Projects to track your work and show progress professionally.


Phase 1: Initial Planning & Brainstorming

Steps:

1. Review some of the data sets you might like to use (on code.org). Think of what data you can collect from users through a form.

2. Brainstorm one or two ideas. Think about who your user might be. What value would it provide to your users? Find your “Why?” for the app.

3. Create a 2 minute pitch. Try pitching your idea to a group.

4. Vote on the pitch in your group. Think about practicality of creating the app in the time required and the usefulness to your users.

5. Decide if you’d like to work together or alone.


Phase 2: Detailed Planning & Design

Next Phase:

1. Finalize your app plan.

2. Wireframe

3. Plan your data tables in Supabase.

4. Download your data from code.org as CSV.


Phase 3: Coding & Implementation

Coding Phase

1. Create your project and tables in Supabase.

2. Upload your data to Supabase.

3. Create your React app with Vite.

   npm create vite@latest my-capstone-app -- --template react
   cd my-capstone-app
   npm install

4. Create your repo on GitHub.

5. Scaffold your README.

6. Create a plan for your week, including goals and milestones you’d like to achieve.


Tips for Success


This document was created with AI assistance using Claude Sonnet 4.5 for curriculum development.


Glossary

Key Terms from Vocabulary List

Controlling Complexity: Called the “essence of programming.” In React, using components is a way to control complexity by breaking big problems into smaller, reusable pieces.

Components: In React, the building blocks of applications that help organize code and keep programs from becoming too complicated by breaking down complex UIs into smaller, reusable pieces.

Database (DB): An organized collection of data that can be stored, accessed, and managed efficiently. In web development, databases provide a structured place to store and organize data.

Supabase: A backend-as-a-service that gives you a PostgreSQL database, authentication, storage, and APIs. Works like an open-source Firebase.

Persistence / Persist: When data stays saved even after refreshing the page or restarting the app/server — unlike variables in JavaScript which disappear on reload.

Table: A collection of related data in the database, organized into rows and columns — similar to a spreadsheet.

Column: A labeled field in a table (e.g., email, price, user_id) that defines one type of data.

Row / Record: One entry in a table — like one user, one product, or one message.

React: A framework created by Facebook in 2013. It’s built on the idea of components and is one of the most popular tools for making modern websites.

JSX: A special syntax used in React. It looks like HTML but isn’t exactly the same. JSX must be used inside React components.

State: In React, component-local data that React preserves between renders so a component can remember information and update the UI.

Props (Properties): Attributes you can give to components to make them more powerful. Props are like HTML attributes but for your own custom components.

List Patterns: Common approaches for working with lists, such as Random List Access and List Scrolling Pattern.

Function: In programming, reusable blocks of code that perform a specific task. They help organize code, avoid repetition, and make programs easier to understand.

Environment Variables (.env): Hidden configuration values like API keys, database URLs, or secrets that you don’t want hardcoded in your JavaScript.

Module: In programming, self-contained units of code that can be imported and used in other parts of a program. They help organize code into logical, reusable pieces.