{"id":50885919,"url":"https://github.com/kbennett2000/concord-tutorial-react","last_synced_at":"2026-06-15T17:01:33.841Z","repository":{"id":363235359,"uuid":"1262407378","full_name":"kbennett2000/concord-tutorial-react","owner":"kbennett2000","description":"A beginner-first React course that bridges concord-tutorial-web to reading a real app's code (songbird) — built on Concord's /v1 API.","archived":false,"fork":false,"pushed_at":"2026-06-08T03:19:41.000Z","size":1347,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-08T04:11:18.106Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kbennett2000.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-08T00:37:36.000Z","updated_at":"2026-06-08T03:19:45.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/kbennett2000/concord-tutorial-react","commit_stats":null,"previous_names":["kbennett2000/concord-tutorial-react"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/kbennett2000/concord-tutorial-react","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kbennett2000%2Fconcord-tutorial-react","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kbennett2000%2Fconcord-tutorial-react/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kbennett2000%2Fconcord-tutorial-react/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kbennett2000%2Fconcord-tutorial-react/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kbennett2000","download_url":"https://codeload.github.com/kbennett2000/concord-tutorial-react/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kbennett2000%2Fconcord-tutorial-react/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34372130,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-15T02:00:07.085Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-15T17:01:32.534Z","updated_at":"2026-06-15T17:01:33.836Z","avatar_url":"https://github.com/kbennett2000.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"![concord-tutorial-react — from your first app to reading the real thing.](docs/banner.svg)\n\n# concord-tutorial-react\n\nYou finished the first course, built a real app, and felt good about it. Then you opened a \"real\"\nReact project — maybe [songbird](https://github.com/kbennett2000/songbird) — to see how the pros\ndo it, and the floor dropped out. Folders of files, words you'd never seen, nothing that looked\nlike what you'd just written.\n\nThat feeling is exactly why this course exists.\n\nThere's no cliff here — just a short set of steps. Five lessons, **one new idea each**, rebuilding\nthe app you already know. By the last one you'll open that \"real\" project again and recognize it:\n*your* code, grown up. Because the point isn't React. The point is you, reading real code.\n\n![The compare app you'll build in this course — Psalm 23:1 shown side by side in the KJV, WEB, and ASV.](docs/hero.png)\n\n## Who this is for\n\nYou did [the first course](https://github.com/kbennett2000/concord-tutorial-web) — or you can\nalready fetch from Concord and put the results on a page in plain HTML and JavaScript. You have\n**not** touched React, and that's the whole point: we start there together.\n\n\u003e **Already write React?** You're welcome to skim, but this is a \"your first React app\" course,\n\u003e written gently and on purpose. For a fast reference, Concord's\n\u003e [`docs/API.md`](https://github.com/kbennett2000/concord/blob/main/docs/API.md) and songbird's\n\u003e source are right there.\n\n## Before you start\n\n\u003e **Concord needs to be running** — the same Scripture engine from the first course. Check it in\n\u003e 30 seconds by opening this in your browser:\n\u003e\n\u003e ```\n\u003e http://localhost:8000/healthz\n\u003e ```\n\u003e\n\u003e You're ready when a short line of data comes back — a few counts (translations, verses, places),\n\u003e not a styled page. Nothing there? Concord's\n\u003e [Quick start](https://github.com/kbennett2000/concord#quick-start) gets it running.\n\nIf you ran Concord for the first course, **grab the current version before you begin** — this\ncourse uses a newer feature, and the Quick start above always pulls the latest. (Starting fresh?\nYou'll get the right one automatically.)\n\nLesson 1 is already a page you run — it loads React — so you'll do the same quick local-preview\nsetup you used in the first course. A couple of minutes, once. See [SETUP.md](SETUP.md).\n\n## Start here\n\nOpen [Lesson 1](lessons/01-the-same-verse/). It's the verse you fetched in the first course, rebuilt\nthe React way — and it's a short one.\n\nWhat's ahead, one small win at a time: the same verse the new way, a search that updates as you\ntype, your own reusable building blocks, verses that link to other verses — and then the lesson\nthat's really the point: opening a real app and finding you can read it.\n\nAnd when you can read the real thing, there's one course left:\n**[concord-tutorial-ai](https://github.com/kbennett2000/concord-tutorial-ai)** — your fetch\nskills, pointed at an AI on your own computer, until it quotes Scripture only from your Concord.\nIt's plain HTML and JavaScript, so friends who skipped React can go straight there from the first\ncourse.\n\n## License\n\nMIT © 2026 Kris Bennett — see [`LICENSE`](LICENSE). (Parity with Concord and the first course.)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkbennett2000%2Fconcord-tutorial-react","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkbennett2000%2Fconcord-tutorial-react","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkbennett2000%2Fconcord-tutorial-react/lists"}