diff --git a/app/pages/login.vue b/app/pages/login.vue
new file mode 100644
index 0000000..bf558f2
--- /dev/null
+++ b/app/pages/login.vue
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/server/api/login.post.ts b/server/api/login.post.ts
new file mode 100644
index 0000000..849d3d7
--- /dev/null
+++ b/server/api/login.post.ts
@@ -0,0 +1,25 @@
+import { z } from 'zod'
+
+const bodySchema = z.object({
+ email: z.string().email(),
+ password: z.string(),
+})
+
+export default defineEventHandler(async (event) => {
+ const { email, password } = await readValidatedBody(event, bodySchema.parse)
+
+ if (email === 'admin@admin.com' && password === 'iamtheadmin') {
+ // set the user session in the cookie
+ // this server util is auto-imported by the auth-utils module
+ await setUserSession(event, {
+ user: {
+ name: 'John Doe',
+ },
+ })
+ return {}
+ }
+ throw createError({
+ statusCode: 401,
+ message: 'Bad credentials',
+ })
+})
diff --git a/server/api/register.post.ts b/server/api/register.post.ts
new file mode 100644
index 0000000..19aff0b
--- /dev/null
+++ b/server/api/register.post.ts
@@ -0,0 +1,9 @@
+import { z } from 'zod'
+
+const bodyPost = z.object({
+ email: z.string().email(),
+ first_name: z.string(),
+ last_name: z.string(),
+ pwd: z.string()
+})
+