diff --git a/web/prisma/schema.prisma b/web/prisma/schema.prisma
index 592a0fc..3441c04 100644
--- a/web/prisma/schema.prisma
+++ b/web/prisma/schema.prisma
@@ -35,3 +35,12 @@ model Submission {
actualOutput String
message String?
}
+
+model Problem {
+ id Int @id @default(autoincrement())
+ friendlyName String
+ sampleInput String
+ sampleOutput String
+ realInput String
+ realOutput String
+}
diff --git a/web/src/hooks.server.ts b/web/src/hooks.server.ts
index e4c008b..fa10523 100644
--- a/web/src/hooks.server.ts
+++ b/web/src/hooks.server.ts
@@ -24,7 +24,7 @@ export const handle = (async ({ event, resolve }) => {
if (session) {
removeExpiredSessions(session.userId);
if (!isSessionExpired(session)) {
- throw redirect(302, '/admin/reviews');
+ throw redirect(302, '/admin');
} else {
event.cookies.delete('token');
const res = resolve(event);
diff --git a/web/src/routes/admin/+layout.svelte b/web/src/routes/admin/+layout.svelte
new file mode 100644
index 0000000..6e3b094
--- /dev/null
+++ b/web/src/routes/admin/+layout.svelte
@@ -0,0 +1,11 @@
+