diff --git a/app/register/form.js b/app/register/form.js
new file mode 100644
index 0000000..214211a
--- /dev/null
+++ b/app/register/form.js
@@ -0,0 +1,45 @@
+'use client'
+
+import {useRouter} from 'next/navigation'
+import {useState} from 'react'
+import AuthForm from '@/components/auth-form/index.js'
+import AuthAlert from '@/components/auth-form/auth-alert.js'
+
+export default function RegistrationForm() {
+ const router = useRouter()
+ const [error, setError] = useState('')
+ const [isOpen, setIsOpen] = useState(false)
+
+ const handleFormSubmit = async data => {
+ const response = await fetch('/api/auth/register', {
+ method: 'POST',
+ body: JSON.stringify({
+ ...data
+ })
+ })
+
+ if (response.status === 201) {
+ router.push('/login')
+ router.refresh()
+ } else {
+ const errorResponse = await response.json()
+ setError(errorResponse.message)
+ setIsOpen(true)
+ }
+ }
+
+ return (
+ <>
+ {error && }
+
+ >
+ )
+}
diff --git a/app/register/page.js b/app/register/page.js
new file mode 100644
index 0000000..cf95091
--- /dev/null
+++ b/app/register/page.js
@@ -0,0 +1,13 @@
+import {getServerSession} from 'next-auth'
+import {redirect} from 'next/navigation'
+import RegistrationForm from './form.js'
+
+export default async function RegisterPage() {
+ const session = await getServerSession()
+
+ if (session) {
+ redirect('/')
+ }
+
+ return
+}