{"id":15147683,"url":"https://github.com/jasonboyett/project-iris","last_synced_at":"2025-10-24T03:31:21.754Z","repository":{"id":194665017,"uuid":"620807603","full_name":"JasonBoyett/project-iris","owner":"JasonBoyett","description":"Iris is a speed reading training app that tracks users progress and test results.","archived":false,"fork":false,"pushed_at":"2024-02-29T00:55:19.000Z","size":1575,"stargazers_count":8,"open_issues_count":3,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-30T22:38:46.313Z","etag":null,"topics":["react","speedreading","t3-stack","typescript"],"latest_commit_sha":null,"homepage":"https://speedread-git-main-jasonboyett.vercel.app/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JasonBoyett.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2023-03-29T12:13:41.000Z","updated_at":"2024-10-26T01:58:17.000Z","dependencies_parsed_at":"2023-09-14T14:45:23.389Z","dependency_job_id":"4f8221a1-8445-49d7-8884-a0dd4a0ec3bd","html_url":"https://github.com/JasonBoyett/project-iris","commit_stats":{"total_commits":207,"total_committers":8,"mean_commits":25.875,"dds":0.5507246376811594,"last_synced_commit":"13e77e6f6b693272f2fcc3e264c708129e945d05"},"previous_names":["jasonboyett/project-iris"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JasonBoyett%2Fproject-iris","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JasonBoyett%2Fproject-iris/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JasonBoyett%2Fproject-iris/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JasonBoyett%2Fproject-iris/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JasonBoyett","download_url":"https://codeload.github.com/JasonBoyett/project-iris/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237910078,"owners_count":19385829,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["react","speedreading","t3-stack","typescript"],"created_at":"2024-09-26T13:00:24.051Z","updated_at":"2025-10-24T03:31:16.427Z","avatar_url":"https://github.com/JasonBoyett.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Project Iris Official Repo\n\n![Iris Logo](/apps/nextjs/public/IRIS-LOGO.png)\n\nIris is a speed reading training application. It is deigned to be used as part of\nan academic study on the effects of speed reading training on reading and academic\nperformance.\nTo facilitate this study, Iris is designed to collect data on the study\nparticipants and their usage of the application.\n\n### Check out the current production version [here.](https://speedread-git-main-jasonboyett.vercel.app/)\n\n---\n\n## Core Project Dependencies\n\n- Iris uses the [t3 stack](https://create.t3.gg/)\n  - [TypeScript](https://www.typescriptlang.org/)\n  - [Tailwind CSS](https://tailwindcss.com/)\n  - [Trpc](https://trpc.io/)\n  - [Next.js](https://nextjs.org/)\n    - [React](https://reactjs.org/)\n    - [Vercel](https://vercel.com/)\n- [Zustand](https://zustand-demo.pmnd.rs/) for state management,\n- [Clerk](https://clerk.com/) for authentication,\n- [Class Variance Authority](https://cva.style/docs) for reusable styling,\n- [Planet Scale](https://planetscale.com/) for our database.\n- Iris also uses various chron jobs written in [Go](https://go.dev/) to handle various database operations that cannot be hosted on the public repository.\n\n## Project Structure\n\nIris uses the pages router provided by Next.js.\nThe [pages](src/pages) directory contains all\nthe routs for the application. The pages are divided into instructions, exercises,\nand admin routes as well some miscellaneous routes listed directly in the pages directory.\n\nThe [server](src/server) directory is a part of the Next.js framework and it contains\nall the serverless functions used by the application.\n\nThe [components](src/components) directory contains various reusable components used\nthroughout the application.\n\nThe [cva](src/cva) directory contains the\nclass variance authority styles used throughout the application.\n\nThe [hooks](src/hooks) directory contains all custom hooks used in the application.\n\nThe [stores](src/stores) directory contains Zustand stores.\n\nThe [utils](src/utils) directory contains utility functions, types and Zod schemas.\n\n## Project Authors\n\n- Primary Developer: [Jason Boyett](GitHub.com/JasonBoyett)\n- Project Manager: Dr. Vojislav Petrovic PhD\n- UI Designer: Jason Boyett \u0026 [Zach Lyman](https://limeademedia.com)\n\n## Getting Started\n\n### Getting a foothold\n\nThe best entry point for the project is the [pages](src/pages) directory.\n[Index.tsx](src/pages/index.tsx) Is the home page of the web sight but the main page of the app is [Nav](src/pages/nav.tsx).\nFrom there you can view the individual exercises by viewing the [exercises](src/pages/exercises) directory.\nMost exercises consist of some basic setup and a call to a primary component. Said components can be found in the [components directory](src/componants).\n\n### Running the project locally\n\nTo run the project locally you will neet to have [Node.js](https://nodejs.org/en/) installed.\nOnce you have Node.js installed, clone the repository and run `npm install` to install all the dependencies.\nYou will need some environment variables to run the project locally.\nThese will be:\n\n- DATABASE_URL\n  - This is the connection point to the database.\n  - You can get by creating a planet scale database and copying the connection string.\n- NEXT_PUBLIC_CLERK_FRONTEND_API\n  - This is the public API key for the Clerk authentication service.\n  - You can get this by creating a Clerk account and creating a project.\n- NEXT_PUBLIC_CLERK_SIGN_IN_URL\n  - This is the URL for the Clerk sign in page.\n  - You can get this by creating a Clerk account and creating a project.\n\nIf you would like to use the production database\nand clerk project you can contact the project author for access.\nYou will need to make segnificant contrebutions before you will be\nconsidered for access to the production database and clerk project.\n\nOnce you have the environment variables set up you will need to initialize\nyour development database by running `npx prisma db push` to view the database\ndatabase contents run `npx prisma studio` and navigate to `localhost:5555` in your browser.\n\nYou can now run the project using either:\n\nnpm\n\n```bash\nnpm run dev\n```\n\nor turbo\n\n```bash\nturbo dev\n```\n\nBoth of these commands will start the project and default to port 3000.\n\nBefore attempting to submit your pull request please run the following commands\n\n```bash\nprettier --write .\nturbo build lint\n```\n\nThis will ensure that your code is formatted correctly and will build in production.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjasonboyett%2Fproject-iris","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjasonboyett%2Fproject-iris","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjasonboyett%2Fproject-iris/lists"}