Initial commit — AI-powered coding tutor (Professor)

Next.js 16, React 19, Monaco editor, Anthropic SDK, multi-provider AI,
Wandbox Python execution, iframe HTML preview, SQLite auth + session persistence.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Aodhan Collins
2026-03-04 21:48:34 +00:00
commit f644937604
56 changed files with 14012 additions and 0 deletions

21
db/schema.ts Normal file
View File

@@ -0,0 +1,21 @@
import { text, sqliteTable } from 'drizzle-orm/sqlite-core';
export const users = sqliteTable('users', {
id: text('id').primaryKey(),
email: text('email').notNull().unique(),
passwordHash: text('password_hash').notNull(),
createdAt: text('created_at').notNull(),
});
export const savedSessions = sqliteTable('saved_sessions', {
id: text('id').primaryKey(),
userId: text('user_id')
.notNull()
.references(() => users.id),
topicId: text('topic_id'),
taskJson: text('task_json'),
code: text('code'),
messagesJson: text('messages_json'),
executionResultJson: text('execution_result_json'),
updatedAt: text('updated_at').notNull(),
});