Skip to content

afshin/qs.ai

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QS.AI Platform

Deployment

See deployment document

Contributing to QS.AI

Set up environment

  • Install dependencies

Ensure you have pnpm installed and run:

pnpm install
  • Set up Supabase locally

First, you will need to install Docker, then you can start supabase with:

pnpm supabase:start

The terminal output will provide URLs to access the different services within the Supabase stack. The Supabase Studio is where you can create new users or make changes to your local database instance

Rename .env.local.example to .env.local and update it with the values from the terminal output. You can print out these values at any time with the following command:

pnpm supabase:status

Configure Auth

Follow this guide to set up an OAuth app with GitHub and save the client id and secret key.

Rename .env.example to .env and update SUPABASE_AUTH_EXTERNAL_GITHUB_CLIENT_ID and SUPABASE_AUTH_EXTERNAL_GITHUB_SECRET with the saved data from the previous step.

Restart Supabase with

pnpm supabase:restart

Configure Storage

Go to Supabase Studio and create a new bucket named qsai. Since with the local instance, Supabase does not support role-based access for S3 storage, we don't need to apply access policies.

Run the Next.js client

Go to qsai-jupyterlite project and start serving the JupyterLite application with

# In qsai-jupyterlite repo
npm run serve

In a separate terminal, run the following command in the current project to start the development server:

pnpm supabase:reset # Only need this command if the database schema is updated
pnpm dev

Then you should be able to log in with the username user@example.com and password password, or you can create a new account from the Supabase Studio interface.

About

qs.ai

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 88.3%
  • PLpgSQL 9.3%
  • CSS 1.4%
  • JavaScript 1.0%