Skip to content

Iris is a speed reading training app that tracks users progress and test results.

Notifications You must be signed in to change notification settings

JasonBoyett/project-iris

Repository files navigation

Project Iris Official Repo

Iris Logo

Iris is a speed reading training application. It is deigned to be used as part of an academic study on the effects of speed reading training on reading and academic performance. To facilitate this study, Iris is designed to collect data on the study participants and their usage of the application.

Check out the current production version here.


Core Project Dependencies

Project Structure

Iris uses the pages router provided by Next.js. The pages directory contains all the routs for the application. The pages are divided into instructions, exercises, and admin routes as well some miscellaneous routes listed directly in the pages directory.

The server directory is a part of the Next.js framework and it contains all the serverless functions used by the application.

The components directory contains various reusable components used throughout the application.

The cva directory contains the class variance authority styles used throughout the application.

The hooks directory contains all custom hooks used in the application.

The stores directory contains Zustand stores.

The utils directory contains utility functions, types and Zod schemas.

Project Authors

  • Primary Developer: Jason Boyett
  • Project Manager: Dr. Vojislav Petrovic PhD
  • UI Designer: Jason Boyett & Zach Lyman

Getting Started

Getting a foothold

The best entry point for the project is the pages directory. Index.tsx Is the home page of the web sight but the main page of the app is Nav. From there you can view the individual exercises by viewing the exercises directory. Most exercises consist of some basic setup and a call to a primary component. Said components can be found in the components directory.

Running the project locally

To run the project locally you will neet to have Node.js installed. Once you have Node.js installed, clone the repository and run npm install to install all the dependencies. You will need some environment variables to run the project locally. These will be:

  • DATABASE_URL
    • This is the connection point to the database.
    • You can get by creating a planet scale database and copying the connection string.
  • NEXT_PUBLIC_CLERK_FRONTEND_API
    • This is the public API key for the Clerk authentication service.
    • You can get this by creating a Clerk account and creating a project.
  • NEXT_PUBLIC_CLERK_SIGN_IN_URL
    • This is the URL for the Clerk sign in page.
    • You can get this by creating a Clerk account and creating a project.

If you would like to use the production database and clerk project you can contact the project author for access. You will need to make segnificant contrebutions before you will be considered for access to the production database and clerk project.

Once you have the environment variables set up you will need to initialize your development database by running npx prisma db push to view the database database contents run npx prisma studio and navigate to localhost:5555 in your browser.

You can now run the project using either:

npm

npm run dev

or turbo

turbo dev

Both of these commands will start the project and default to port 3000.

Before attempting to submit your pull request please run the following commands

prettier --write .
turbo build lint

This will ensure that your code is formatted correctly and will build in production.

About

Iris is a speed reading training app that tracks users progress and test results.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published