2025-01-23 15:45:18 +07:00
2024-06-06 00:21:47 +07:00
2025-01-22 14:34:38 +07:00
2025-01-23 14:56:46 +07:00
2025-01-22 14:34:38 +07:00
2025-01-23 15:45:18 +07:00
2024-07-17 19:27:33 +07:00
2025-01-22 14:34:38 +07:00
2025-01-23 15:45:18 +07:00
2025-01-23 14:56:46 +07:00
2024-06-06 00:21:47 +07:00
2024-06-06 00:21:47 +07:00
2024-06-06 00:21:47 +07:00
2024-06-06 00:21:47 +07:00
2024-06-06 00:21:47 +07:00
2024-06-06 00:21:47 +07:00
2024-06-06 00:21:47 +07:00
2025-01-23 14:56:46 +07:00
2024-06-06 00:21:47 +07:00

SELF-HOSTING INSTRUCTIONS

FRONT END

This project was written in Next.js. I hosted the fronend on Vercel; you can do the same by cloning it and hosting it on your Vercel account. But any other front end hosting should work.

BACKEND

The backend was hosted serverlessly with Supabase. This is the easiest way to get started quickly. With a bit more modifications, you can use any other severless backend services.

ENVIRONMENT VARIABLES

Assuming you're also hosting on Supabase, you will need to set the following environment variables:

  • NEXT_PUBLIC_SUPABASE_URL - the URL of your Supabase instance
  • NEXT_PUBLIC_SUPABASE_ANON_KEY - the anon key of your Supabase instance

Ideally these env vars should be modified to be used only in the backend (e.g 'api') part of the Next project.

DATABASE SCHEMA

Three different tables are used, the schema to recreate them is in database/schema.sql.

SQL FUNCTIONS

Some database operations use Supabase SQL functions. The SQL functions are in database/sql_functions.sql.

STORAGE

This project use storage to store Jupyter notebooks and cryptraphic files generated in the proving / verification process.

The storage is handled by Supabase, but another storage solution such as S3 can also be used. The storage structure is dtailed in database.storage.md.

AUTHENTICATION

Authentication is handled by Supabase auth.

Description
No description provided
Readme 2.3 MiB
Languages
TypeScript 83%
Jupyter Notebook 16.2%
CSS 0.6%
JavaScript 0.2%