Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Studyhall Classroom

The student-facing half of Studyhall, a white-label course platform. One build of this app serves every school on the platform: Appwrite deploys it into each customer's own project as a Site, and site variables carry the school's name and colour.

It is a TanStack Start app rendered on the server.

What it does

Students sign in, read lessons, download handouts, and sit a quiz. Results are written back with a permission that names the student, so only that student and the school can read them.

The credential it does not have

Appwrite gives every request to a site a short-lived key in the x-appwrite-key header, scoped to the scopes the site was created with. This app reads that header and uses it for the request it arrived on. There is no API key in its environment, nothing to rotate, and nothing to leak.

Quiz questions carry their correct answer, and the questions table grants no read permission to signed-in users. The browser only ever receives prompts and options; marking happens on the server.

Running it locally

npm install
cp .env.example .env   # add a project ID and a development key
npm run dev

Deploying it

The platform deploys this repository into each customer's project with createTemplateDeployment, pinned to a release tag. See the Studyhall operator for the provisioning code.

Setting Value
Framework TanStack Start
Adapter SSR
Install command npm install
Build command npm run build
Output directory ./dist

About

Student-facing app for the Studyhall white-label course platform, deployed into each customer's Appwrite project

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages