- )
-}
-
-export default function MyApp() {
- return
-}
diff --git a/apps/docs/content/docs/audience.mdx b/apps/docs/content/docs/audience.mdx
new file mode 100644
index 00000000..3b91b9ca
--- /dev/null
+++ b/apps/docs/content/docs/audience.mdx
@@ -0,0 +1,10 @@
+---
+title: Audience
+description: Information about ClassroomIO's target audience.
+---
+
+import { Callout } from 'fumadocs-ui/components/callout';
+
+
+ This page is a work in progress. Help us expand it by contributing!
+
diff --git a/apps/docs/content/docs/community.mdx b/apps/docs/content/docs/community.mdx
new file mode 100644
index 00000000..01f1ffce
--- /dev/null
+++ b/apps/docs/content/docs/community.mdx
@@ -0,0 +1,10 @@
+---
+title: Community
+description: Join the ClassroomIO community.
+---
+
+import { Callout } from 'fumadocs-ui/components/callout';
+
+
+ This page is a work in progress. Help us expand it by contributing!
+
diff --git a/apps/docs/pages/contributor-guides/adding-translation-to-code.mdx b/apps/docs/content/docs/contributor-guides/adding-translation-to-code.mdx
similarity index 83%
rename from apps/docs/pages/contributor-guides/adding-translation-to-code.mdx
rename to apps/docs/content/docs/contributor-guides/adding-translation-to-code.mdx
index 27f9ceae..2776c83d 100644
--- a/apps/docs/pages/contributor-guides/adding-translation-to-code.mdx
+++ b/apps/docs/content/docs/contributor-guides/adding-translation-to-code.mdx
@@ -1,6 +1,9 @@
-# Adding Translation To Your Code - Developer's Guide
+---
+title: Adding Translation To Your Code - Developer's Guide
+description: Developer's guide to adding translations to the code.
+---
-In this guide, we'll walk through the process of adding translations to your code. This enables multi-translation support on the platform, enhancing the experience for every users.
+In this guide, we'll walk through the process of adding translations to your code. This enables multi-translation support on the platform, enhancing the experience for every user.
## Obtain Your RapidAPI Key
@@ -18,15 +21,15 @@ Follow these steps:
Once you have your API Key, follow these steps to add a translation:
-1. Open the English file named `en` located in `apps\dashboard\src\lib\utils\translations\en.json`.
+1. Open the English file named `en` located in `apps/dashboard/src/lib/utils/translations/en.json`.
2. Create an object with a name corresponding to the translation you wish to add.
Example: `"tabs": { "profile": "Profile", "landing_page": "Landing Page" }`.
3. Now, navigate to the file where you want to insert the translation.
4. Import the translation function:
-````bash copy
+```bash
import { t } from '$lib/utils/functions/translations';
-````
+```
5. Locate the line where you want to add the translation and use the following syntax: `$t('path to the value in the object')`.
Example: `
{$t('tabs.profile')}
` (This will output "Profile").
@@ -36,9 +39,8 @@ import { t } from '$lib/utils/functions/translations';
Once you've updated the English file, you need to update the other files. To do this, run a command. Firstly ensure you're still in the `/apps/dashboard` directory, then execute:
-````bash copy
+```zsh title="Terminal"
pnpm run script:translate
-````
+```
This command runs a script that updates the other translation files.
-
diff --git a/apps/docs/content/docs/contributor-guides/cloudflare-setup.mdx b/apps/docs/content/docs/contributor-guides/cloudflare-setup.mdx
new file mode 100644
index 00000000..7656fb8d
--- /dev/null
+++ b/apps/docs/content/docs/contributor-guides/cloudflare-setup.mdx
@@ -0,0 +1,6 @@
+---
+title: Cloudflare Setup
+description: Guide to setting up Cloudflare for ClassroomIO.
+---
+
+In this guide, you will learn how to get your Cloudflare environment variables. We use Cloudflare R2 for video uploads and the aim of this guide is to help you get the right variables to properly set up our api.
diff --git a/apps/docs/pages/contributor-guides/demo-accounts.mdx b/apps/docs/content/docs/contributor-guides/demo-accounts.mdx
similarity index 55%
rename from apps/docs/pages/contributor-guides/demo-accounts.mdx
rename to apps/docs/content/docs/contributor-guides/demo-accounts.mdx
index 4144cddb..10c64800 100644
--- a/apps/docs/pages/contributor-guides/demo-accounts.mdx
+++ b/apps/docs/content/docs/contributor-guides/demo-accounts.mdx
@@ -1,6 +1,9 @@
-import { Callout } from 'nextra/components';
+---
+title: Login with Demo Accounts
+description: Quick login guide using demo accounts for testing.
+---
-# Login quickly with Demo Accounts
+import { Callout } from 'fumadocs-ui/components/callout';
This guide will help you get started quickly once you setup our local environment and you want to start using the [dashboard](https://app.classroomio.com).
@@ -9,7 +12,7 @@ This guide will help you get started quickly once you setup our local environmen
and you have `dashboard` running locally.
-### Admin Login Credentials.
+## Admin Login Credentials
Once you have the `dashboard` service running locally and you have setup supabase, we added seed data that can allow you access an admin account to a demo organization and a student account to a student dashboard. This allows you see what ClassroomIO can do quickly without trying to figure it out.
@@ -17,34 +20,15 @@ Once you have the `dashboard` service running locally and you have setup supabas
**Password:** 123456
-
diff --git a/apps/docs/content/docs/contributor-guides/design.mdx b/apps/docs/content/docs/contributor-guides/design.mdx
new file mode 100644
index 00000000..038505d4
--- /dev/null
+++ b/apps/docs/content/docs/contributor-guides/design.mdx
@@ -0,0 +1,11 @@
+---
+title: Design Contribution Guide
+description: Guidelines for contributing design improvements.
+---
+
+import { Callout } from 'fumadocs-ui/components/callout';
+
+
+
+ This page is a work in progress. Help us expand it by contributing!
+
diff --git a/apps/docs/pages/contributor-guides/devs.mdx b/apps/docs/content/docs/contributor-guides/devs.mdx
similarity index 90%
rename from apps/docs/pages/contributor-guides/devs.mdx
rename to apps/docs/content/docs/contributor-guides/devs.mdx
index 9a89ded9..3e65b3f5 100644
--- a/apps/docs/pages/contributor-guides/devs.mdx
+++ b/apps/docs/content/docs/contributor-guides/devs.mdx
@@ -1,6 +1,9 @@
-# Developers Contribution Guide
+---
+title: Developers Contribution Guide
+description: Guidelines for contributing code to ClassroomIO.
+---
-First and foremost, we're absolutely thrilled that you're considering becoming a part of the community
+First and foremost, we're absolutely thrilled that you're considering becoming a part of the community.
## Issue Hunters
@@ -14,7 +17,7 @@ We invite innovative minds to contribute to the evolution of ClassroomIO. If you
Ready to dive into the code and make a real impact? Here's your path:
-1. **Fork the Repository:** Fork our repository or use [Gitpod](https://classroomio.com/docs/contributor-guides/gitpod)
+1. **Fork the Repository:** Fork our repository or use [Gitpod](/docs/contributor-guides/gitpod)
2. **Implementation:** Code it out, test it and apply your changes.
diff --git a/apps/docs/content/docs/contributor-guides/gitpod.mdx b/apps/docs/content/docs/contributor-guides/gitpod.mdx
new file mode 100644
index 00000000..a9306913
--- /dev/null
+++ b/apps/docs/content/docs/contributor-guides/gitpod.mdx
@@ -0,0 +1,26 @@
+---
+title: Gitpod Setup
+description: Guide to setting up Gitpod for ClassroomIO development.
+---
+
+import { Callout } from 'fumadocs-ui/components/callout';
+
+## One Click Setup
+
+- This will open a fully configured workspace in your browser with all the necessary dependencies already installed.
+- Click the button below to open this project in Gitpod.
+
+[](https://gitpod.io/#https://github.com/rotimi-best/classroomio)
+
+
+ Gitpod does not utilize `localhost` for accessing services. Instead, it uses its own URL after
+ starting all the necessary services. The correct URLs to access the project are automatically
+ inserted into the `.env` file upon initialization.
+
+
+### Viewing URLs in Terminals
+
+To view the URLs, follow these steps:
+
+1. Open your terminal.
+2. Click on the `port` to see the URLs.
diff --git a/apps/docs/content/docs/contributor-guides/meta.json b/apps/docs/content/docs/contributor-guides/meta.json
new file mode 100644
index 00000000..fa13b293
--- /dev/null
+++ b/apps/docs/content/docs/contributor-guides/meta.json
@@ -0,0 +1,10 @@
+{
+ "devs": "Developers Guide",
+ "design": "Design Contribution Guide",
+ "supabase-cloud": "Supabase Cloud Setup",
+ "cloudflare-setup": "Cloudflare Setup",
+ "gitpod": "Gitpod Setup",
+ "demo-accounts": "Login with Demo Accounts",
+ "student-dashboard": "Student Dashboard Guide",
+ "adding-translation-to-code": "Adding Translations to Code"
+}
diff --git a/apps/docs/pages/contributor-guides/student-dashboard.mdx b/apps/docs/content/docs/contributor-guides/student-dashboard.mdx
similarity index 72%
rename from apps/docs/pages/contributor-guides/student-dashboard.mdx
rename to apps/docs/content/docs/contributor-guides/student-dashboard.mdx
index 379c363d..889f706b 100644
--- a/apps/docs/pages/contributor-guides/student-dashboard.mdx
+++ b/apps/docs/content/docs/contributor-guides/student-dashboard.mdx
@@ -1,6 +1,9 @@
-import { Callout } from 'nextra/components';
+---
+title: Student Dashboard - Developers Guide
+description: Guide to setting up the student dashboard locally.
+---
-# Student Dashboard - Developers guide
+import { Callout } from 'fumadocs-ui/components/callout';
In this guide I will be showing you how to set up a local student dashboard that a student will see. This dashboard will allow students to view their grades, attendance, and other information. This dashboard will also allow students to submit assignments and view their grades for those assignments.
@@ -8,7 +11,7 @@ In this guide I will be showing you how to set up a local student dashboard that
### Requirements
-
+
Make sure to use 2 different browser windows: The reason is that one will be for the admin and
another for the students. For the student we will need to set the cookies value to hold the
organization siteName since we are using the subdomain to access the student dashboard like on
@@ -17,15 +20,15 @@ In this guide I will be showing you how to set up a local student dashboard that
### Demo
-
+
diff --git a/apps/docs/pages/contributor-guides/supabase-cloud.mdx b/apps/docs/content/docs/contributor-guides/supabase-cloud.mdx
similarity index 70%
rename from apps/docs/pages/contributor-guides/supabase-cloud.mdx
rename to apps/docs/content/docs/contributor-guides/supabase-cloud.mdx
index 1a7d23ad..988f3a0a 100644
--- a/apps/docs/pages/contributor-guides/supabase-cloud.mdx
+++ b/apps/docs/content/docs/contributor-guides/supabase-cloud.mdx
@@ -1,13 +1,10 @@
-import Image from 'next/image';
-import { Callout, Steps } from 'nextra/components';
-import AuthSettings from './images/auth-settings.webp';
-import DBPushResult from './images/db-push-result.webp';
-import DBUrl from './images/db-url.webp';
-import MatchEnvVariables from './images/match-env.webp';
-import NewProject from './images/new-project.webp';
-import SmtpSettings from './images/smtp-settings.webp';
+---
+title: Supabase Cloud Setup
+description: Guide to setting up Supabase cloud for ClassroomIO.
+---
-# Supabase Cloud Setup
+import { Step, Steps } from 'fumadocs-ui/components/steps';
+import { Callout } from 'fumadocs-ui/components/callout';
In this guide, you will learn how to setup a supabase cloud project and link it to your local environment.
@@ -16,89 +13,104 @@ In this guide, you will learn how to setup a supabase cloud project and link it
1. You don't want to setup supabase on your local machine
2. You can't run docker on your computer
3. You are experiencing performance issues using supabase locally
-4. You want to selfhost our frontend app but use supabase cloud.
+4. You want to selfhost our frontend app but use supabase cloud
If your requirement matches any of the above, then this guide is for you.
## Video Walkthrough
-
+
-## Step by Step guide
+## Step by Step Guide
-
+
### Create a Supabase project
For this step you need to have signed up for supabase and create an account, just visit [supabase.com](https://supabase.com).
Once you have an account just click on the _New Project_ on your dashboard. After that you should see a similar screen to the below, fill in the fields.
-
+
-
+
Make sure you save your database password somewhere, else you won't be able to get it back
anywhere in the dashboard for security reasons.
+
+
+
### Setup Supabase CLI
Follow the instructions [here](https://supabase.com/docs/guides/local-development/cli/getting-started) to setup the Supabase CLI on your computer.
+
+
+
### Login to Supabase via the CLI
Open your terminal and go to the root of the project. Run the following:
-```bash copy
+```zsh title="Terminal"
supabase login
```
Follow the instruction in your terminal to generate your access token. Paste the token in the console and hit **Enter**
+
+
+
### Push migrations to your Supabase project
- Go to the supabase dashboard, go to your project, click on the settings icon on the left side bar
-
+
- Copy the URL in the image above for your `db url`
- Paste it somewhere
- In the url, replace `[YOUR PASSWORD]` with your db password (which you saved in section 1).
- Then run in your terminal:
-```bash copy
+```zsh title="Terminal"
supabase db push --db-url "URL HERE"
```
-
+
Make sure you preserve the double quotes before and after the url. Only replace `URL HERE` with
your `db url` that contains your password
#### Result
-
+
+
+
+
### Configure Auth in your Supabase project
Here we will update our email configurations, to prevent supabase from sending confirmation emails on signup. This is because we don't use Supabase for email verification, we handle that internally due to the quality of the email.
-
+
+
+
+
### Configure SMTP
-Supabase [now requires adding custom SMTP](https://github.com/orgs/supabase/discussions/29370) to your supabase project in order to avoid abuse of their system. Without adding a custom SMTP, your signup requests to your supabase project will fail. To avoid this, you should go to the [STMP section](https://supabase.com/dashboard/project/_/settings/auth) of your supabase settings.
+Supabase [now requires adding custom SMTP](https://github.com/orgs/supabase/discussions/29370) to your supabase project in order to avoid abuse of their system. Without adding a custom SMTP, your signup requests to your supabase project will fail. To avoid this, you should go to the [SMTP section](https://supabase.com/dashboard/project/_/settings/auth) of your supabase settings.
Make sure to toggle **Enable Custom SMTP** and fill in the following fields:
@@ -109,40 +121,47 @@ Make sure to toggle **Enable Custom SMTP** and fill in the following fields:
- SMTP username
- SMTP password
-
+
-
+
Learn more about setting up SMTP [here](https://supabase.com/docs/guides/auth/auth-smtp)
+
+
+
### Add configurations to your environment variables
Now with all these set up you need to get update the .env file in `apps/dashboard`. You need to update the following environment variables:
-```bash copy
+```zsh title="env"
PUBLIC_SUPABASE_URL=
PUBLIC_SUPABASE_ANON_KEY=
PRIVATE_SUPABASE_SERVICE_ROLE=
```
-To get the correct environment variables, follow the instructions in this image
+To get the correct environment variables, follow the instructions in this image:
-
+
+
+
+
### Tada - That's all
Now you can run:
-```bash copy
+```zsh title="Terminal"
pnpm dev --filter=dashboard
```
- Open the url in your browser
- Click on Sign up
-- And that's it ...
+- And that's it...
-
- Visit the [Sign up guide](/quickstart/signup) to learn how to signup
+
+ Visit the [Sign up guide](/docs/quickstart/signup) to learn how to signup
+
diff --git a/apps/docs/content/docs/course.mdx b/apps/docs/content/docs/course.mdx
new file mode 100644
index 00000000..aaf89b16
--- /dev/null
+++ b/apps/docs/content/docs/course.mdx
@@ -0,0 +1,10 @@
+---
+title: Course
+description: Learn about courses in ClassroomIO.
+---
+
+import { Callout } from 'fumadocs-ui/components/callout';
+
+
+ This page is a work in progress. Help us expand it by contributing!
+
diff --git a/apps/docs/content/docs/home.mdx b/apps/docs/content/docs/home.mdx
new file mode 100644
index 00000000..c170dcff
--- /dev/null
+++ b/apps/docs/content/docs/home.mdx
@@ -0,0 +1,25 @@
+---
+title: Welcome to ClassroomIO
+description: A flexible, user-friendly platform for creating, managing, and delivering courses for companies and training organisations.
+---
+
+
+
+Welcome to the ClassroomIO documentation—your comprehensive guide to streamlining training for everyone. Our all-in-one platform empowers bootcamps, educators, and businesses to manage training programs easily. Run multiple classes and cohorts from a single UI with our mobile-first application, ensuring students can access all published content from any device.
+
+## What You'll Find Here
+
+This documentation covers everything from setup to usage, including:
+
+- **Core Features**: Well-detailed explanations of ClassroomIO's capabilities and how to take advantage of them
+- **Developer & Designer Resources**: Everything needed to successfully contribute to the project
+- **Practical Guides**: From simple functionalities to complex use cases
+
+If something isn't covered in this documentation, please feel free to [open an issue](https://github.com/classroomio/classroomio/issues) and we'll address it.
+
+## Get Started
+
+Ready to begin? Check out our [What is ClassroomIO](/docs/what-is-classroomio) page to learn about the platform's key features and capabilities.
diff --git a/apps/docs/content/docs/how-to-guides/certificates.mdx b/apps/docs/content/docs/how-to-guides/certificates.mdx
new file mode 100644
index 00000000..2d39ed36
--- /dev/null
+++ b/apps/docs/content/docs/how-to-guides/certificates.mdx
@@ -0,0 +1,10 @@
+---
+title: How to Create Certificates
+description: Learn how to create certificates for your course.
+---
+
+import { Callout } from 'fumadocs-ui/components/callout';
+
+
+ This page is a work in progress. Help us expand it by contributing!
+
diff --git a/apps/docs/pages/howtoguides/course-landingpage.mdx b/apps/docs/content/docs/how-to-guides/course-landingpage.mdx
similarity index 59%
rename from apps/docs/pages/howtoguides/course-landingpage.mdx
rename to apps/docs/content/docs/how-to-guides/course-landingpage.mdx
index b7da4955..18ef416d 100644
--- a/apps/docs/pages/howtoguides/course-landingpage.mdx
+++ b/apps/docs/content/docs/how-to-guides/course-landingpage.mdx
@@ -1,33 +1,26 @@
-import Image from 'next/image';
-import CourseLandingPage from './images/course-landing-page.webp';
-import CoursePage from './images/course-page.png';
-import LandingPage from './images/landing page.png';
+---
+title: Create a Course Landing Page
+description: Learn how to create a course landing page.
+---
-# Create a Course Landing Page
-
-ClassroomIO empowers you to design a course landing page, enabling you to showcase your courses to prospective students. On this page, students can explore course details, enrollment statistics, fees (if applicable), and course availability, enabling them to make informed choices. To access this, from your admin dashboard, navigate to **Settings** > **Landing Page.**
-
-
+ClassroomIO empowers you to design a course landing page, enabling you to showcase your courses to prospective students. On this page, students can explore course details, enrollment statistics, fees (if applicable), and course availability, enabling them to make informed choices. To access this, from your admin dashboard, navigate to **Settings** > **Landing Page.**
## Steps
### 1. Go to the Courses page
-Once you are logged in, click on **Courses** on the left sidebar, you will be taken to your course list page where you can access the courses you have created. For this tutorial, we will focus on the **Intro to Javascript** course diaplayed in the image below. Click on the desired course to proceeed to it's respective dashboard.
-
+Once you are logged in, click on **Courses** on the left sidebar, you will be taken to your course list page where you can access the courses you have created. For this tutorial, we will focus on the **Intro to Javascript** course displayed in the image below. Click on the desired course to proceed to its respective dashboard.
-
+
### 2. Open the Landing page editor
Select the "**Landing page**" option from the sidebar, which will lead you to the settings for your landing page. Here, you can customize various aspects of your course, including the course title, fees (if applicable), requirements, description, and more.
-
-
+
### 3. Edit and Save your changes
After making the desired adjustments, ensure to save your changes by clicking on the "**Save**" button located at the top-left corner of the screen. Then, to preview the updated landing page, click on the arrow button situated to the right of the "**Save**" button.
-
-
+
diff --git a/apps/docs/content/docs/how-to-guides/create-exercise.mdx b/apps/docs/content/docs/how-to-guides/create-exercise.mdx
new file mode 100644
index 00000000..928a5103
--- /dev/null
+++ b/apps/docs/content/docs/how-to-guides/create-exercise.mdx
@@ -0,0 +1,107 @@
+---
+title: How to Create an Exercise
+description: Learn how to create exercises in ClassroomIO.
+---
+
+import { Step, Steps } from 'fumadocs-ui/components/steps';
+
+In ClassroomIO, exercises are a great way to assess students' understanding through practice activities. Once you've [set up your organization](/docs/how-to-guides/customize-organization), [created a course](/docs/how-to-guides/create-first-course), and [added a lesson](/docs/how-to-guides/create-first-course#adding-lessons), you can start creating exercises. Follow the process below to create your first exercise.
+
+
+
+### Go to the Courses Page
+
+Access the courses page from the dashboard by clicking on **Courses** via the sidebar menu.
+
+
+
+
+
+
+### Select a Course
+
+On the courses page, click on a course to go to the course page.
+
+
+
+
+
+
+### Select a Lesson
+
+On the course page, click on **Lessons** via the left sidebar menu and select the lesson you want to create an exercise for.
+
+> Alternatively, you can click on the **⌄** icon next to the **Lessons** option to select a lesson.
+
+
+
+
+
+
+### Add an Exercise
+
+Locate the tabs at the top of the page and select the **Exercises** tab. Then click on the **Add** button. On the modal, select a method to create an exercise. You can create an exercise:
+
+
+
+1. **From scratch**: Create an exercise by adding the questions yourself. This is handy if you've prepared your questions.
+ - Enter the exercise name and click on the **Finish** button.
+ - Click on the newly created exercise and provide the exercise description, due date, and question details.
+
+
+
+2. **Using a template**: You can select from an array of templates with predefined exercises complete with questions and options.
+ - Select a template and click on the **Finish** button.
+
+
+
+3. **Using AI**: AI helps you generate exercises directly from lesson notes.
+ - Enter the number of questions and options. Next, click on the **Generate** button.
+
+
+
+
+
+
+### Preview Exercise
+
+To preview the exercise, click on the **preview icon**. This is to ensure the exercise looks and functions as expected.
+
+
+
+
+
+
+### Add Questions
+
+To add a question, click on the **add icon**.
+
+
+
+
+
+
+### Reorder Questions
+
+To reorder questions, click on the **three dots** > **Reorder Questions**, then drag and drop the questions.
+
+
+
+
+
+
+### Save Changes
+
+After previewing, adding, and rearranging questions, ensure to save your changes by clicking on the **Save** button. This will apply your modifications to the exercise.
+
+
+
+
+### Your Exercise Is Ready
+
+You've successfully created your first exercise and it is now accessible to students enrolled in the course. Move on to the next section to start grading your exercise.
+
+
+
+
+
diff --git a/apps/docs/pages/howtoguides/create-first-course.mdx b/apps/docs/content/docs/how-to-guides/create-first-course.mdx
similarity index 88%
rename from apps/docs/pages/howtoguides/create-first-course.mdx
rename to apps/docs/content/docs/how-to-guides/create-first-course.mdx
index f55c2d6f..e2fb245e 100644
--- a/apps/docs/pages/howtoguides/create-first-course.mdx
+++ b/apps/docs/content/docs/how-to-guides/create-first-course.mdx
@@ -1,19 +1,24 @@
-import { Steps, Callout } from 'nextra/components';
+---
+title: Creating Your First Course
+description: Learn how to create your first course on ClassroomIO.
+---
+
+import { Step, Steps } from 'fumadocs-ui/components/steps';
+import { Callout } from 'fumadocs-ui/components/callout';
-# Creating Your First Course
Below is a video guiding you through the process of creating your inaugural course. Should you have any inquiries, feel free to drop a comment in the YouTube comment section, reach out to us on **[Discord](https://discord.gg/BSaEzcfu)**, or send a DM on **[Twitter](https://x.com/rotimi_best?s=20)**.
-
+
@@ -44,22 +49,27 @@ Following course creation, consider the following enhancements:
Adding lessons to a course is achieved through the following steps:
- ### Click the Lesson Link
+
+### Click the Lesson Link
On the course page, click "Lessons" in the sidebar to access the lessons page. Click the "Add" button in the top right corner to open the Add Lesson modal.
> Alternatively, add a lesson on-the-go by clicking the '+' icon next to the lesson link in the sidebar.
+
+
+
### Fill in the Lesson Details
Provide the lesson title, select a tutor, date, and optionally lock the lesson or notes.
-
+
Locking the lesson renders it inaccessible to students upon course publication.
Save your changes to be redirected to the lesson page for material addition.
+
For each lesson, you may furnish materials such as notes, slides, and videos by clicking the "Edit" button on the top right corner of the **Materials** tab.
@@ -85,7 +95,7 @@ To embed slides, navigate to the slides tab and input the link to the slides. Cl
Embedding videos is simple: select the "Videos" tab to open the modal for adding videos. From the "Add By" options in the modal, select the "YouTube Link" tab. Input the link to the YouTube video and click the "Add Video" button. Once added, the video is automatically included in your materials. You can delete the video using the trash icon.
-
+
Please note that for now, we do not support adding videos from local sources.
diff --git a/apps/docs/pages/howtoguides/customize-organization.mdx b/apps/docs/content/docs/how-to-guides/customize-organization.mdx
similarity index 64%
rename from apps/docs/pages/howtoguides/customize-organization.mdx
rename to apps/docs/content/docs/how-to-guides/customize-organization.mdx
index 267ac6e5..06d9cf28 100644
--- a/apps/docs/pages/howtoguides/customize-organization.mdx
+++ b/apps/docs/content/docs/how-to-guides/customize-organization.mdx
@@ -1,15 +1,15 @@
-import Image from 'next/image';
-import { Callout, Steps } from 'nextra/components';
-import DommainSetupOne from './images/domain-setup-one.webp';
-import DommainSetupTwo from './images/domain-setup-two.webp';
-import DommainSetupThree from './images/domain-setup-three.webp';
-import CustomizeOrg from './images/customize-organization.webp';
+---
+title: Customize Your Organization
+description: Learn how to customize your organization settings.
+---
+
+import { Step, Steps } from 'fumadocs-ui/components/steps';
+import { Callout } from 'fumadocs-ui/components/callout';
-# Customize Your Organization
ClassroomIO empowers every organization to tailor their experience to their unique needs. In this guide, you will learn how to customize your organization settings. To access this, from your admin dashboard, navigate to **Settings** > **Organization**.
-
+
## Update Organization Profile
@@ -18,27 +18,42 @@ Easily update your organization's profile by modifying the designated fields in
To update your organization profile details, follow these steps:
+
### Go to Organization Settings
From your dashboard, click on Settings, then select Organization in the tabs of the settings page.
+
+
+
### Change Your Organization Name
Fill the Organization name field with your preferred name.
+
+
+
### Click on Upload Image
Click the Upload Image button to select an image for upload.
+
+
+
### Select an Image
Choose a logo or image of your choice from your device.
+
+
+
### Click Update Organization Button
Save the changes by clicking the **Update Organization** button.
+
+
By clicking the **Update Organization** button, the updated preferences in the Organization section will be applied across the entire dashboard.
## Customize Domain
@@ -46,33 +61,38 @@ By clicking the **Update Organization** button, the updated preferences in the O
Upon onboarding, each organization in ClassroomIO is assigned a custom Domain URL. This URL directs users to the organization's customizable website, making it easy for audiences to access published courses, FAQs, and other relevant information tailored to your organization's preferences. To customize your organization's domain URL, follow these steps:
+
### Click on "Edit Domain"
Click the Edit Domain button to navigate to the domain setup page.
-
+
+
+
+
### Update the URL Field with Your Preferred Choice
Fill the field with your desired URL.
-
+
+
+
+
### Save Changes
Click on Update Domain to save the changes.
> You can click on **View Site** to be redirected to your Organization website with the updated URL.
-
+
+
-
- Coming soon: Organizations can also integrate existing domain names.
-
+Organizations can also integrate existing domain names.
## Set Brand Color
-We understand that every organization has a preferred color that suits their brand hence we offer organizations the flexibility to choose a theme for their brand from a variety of colors like **blue**, **green**, **orange**, and more.
-To select a brand color for your organization simply click on any of the provided color theme and this would be automatically applied accross your entire application.
+We understand that every organization has a preferred color that suits their brand, hence we offer organizations the flexibility to choose a theme for their brand from a variety of colors like **blue**, **green**, **orange**, and more. To select a brand color for your organization simply click on any of the provided color theme and this would be automatically applied across your entire application.
diff --git a/apps/docs/content/docs/how-to-guides/grade-exercise.mdx b/apps/docs/content/docs/how-to-guides/grade-exercise.mdx
new file mode 100644
index 00000000..51bcca43
--- /dev/null
+++ b/apps/docs/content/docs/how-to-guides/grade-exercise.mdx
@@ -0,0 +1,11 @@
+---
+title: How to Grade an Exercise
+description: Learn how to grade exercises submitted by students.
+---
+
+import { Callout } from 'fumadocs-ui/components/callout';
+
+
+
+ This page is a work in progress. Help us expand it by contributing!
+
diff --git a/apps/docs/content/docs/how-to-guides/invite-students.mdx b/apps/docs/content/docs/how-to-guides/invite-students.mdx
new file mode 100644
index 00000000..e74e9811
--- /dev/null
+++ b/apps/docs/content/docs/how-to-guides/invite-students.mdx
@@ -0,0 +1,11 @@
+---
+title: How to Invite Students
+description: Learn how to invite students to your courses.
+---
+
+import { Callout } from 'fumadocs-ui/components/callout';
+
+
+
+ This page is a work in progress. Help us expand it by contributing!
+
diff --git a/apps/docs/content/docs/how-to-guides/invite-team-member.mdx b/apps/docs/content/docs/how-to-guides/invite-team-member.mdx
new file mode 100644
index 00000000..a8f44cf4
--- /dev/null
+++ b/apps/docs/content/docs/how-to-guides/invite-team-member.mdx
@@ -0,0 +1,11 @@
+---
+title: Inviting a Team Member
+description: Learn how to invite team members to your organization.
+---
+
+import { Callout } from 'fumadocs-ui/components/callout';
+
+
+
+ This page is a work in progress. Help us expand it by contributing!
+
diff --git a/apps/docs/content/docs/how-to-guides/meta.json b/apps/docs/content/docs/how-to-guides/meta.json
new file mode 100644
index 00000000..803a4ef1
--- /dev/null
+++ b/apps/docs/content/docs/how-to-guides/meta.json
@@ -0,0 +1,12 @@
+{
+ "create-first-course": "Creating Your First Course",
+ "create-exercise": "How to Create an Exercise",
+ "customize-organization": "Customize Your Organization",
+ "course-landingpage": "Create a Course Landing Page",
+ "setup-profile": "Setup Profile",
+ "certificates": "How to Create Certificates",
+ "grade-exercise": "How to Grade an Exercise",
+ "invite-students": "How to Invite Students",
+ "invite-team-member": "Inviting a Team Member",
+ "take-attendance": "How to Take Attendance"
+}
diff --git a/apps/docs/content/docs/how-to-guides/setup-profile.mdx b/apps/docs/content/docs/how-to-guides/setup-profile.mdx
new file mode 100644
index 00000000..8f4361c8
--- /dev/null
+++ b/apps/docs/content/docs/how-to-guides/setup-profile.mdx
@@ -0,0 +1,45 @@
+---
+title: Setup Profile
+description: Learn how to setup your profile on ClassroomIO.
+---
+
+import { Step, Steps } from 'fumadocs-ui/components/steps';
+
+
+
+
+### Go to ClassroomIO
+
+Go to [app.classroomio.com](https://app.classroomio.com). Click on the "Login" button on the top right to take you to the Login page.
+
+
+
+
+
+
+### Sign In
+
+Sign in with your email & password.
+
+
+
+
+
+
+### Go to the Settings page
+
+Click on the "Settings" button on the lower left corner on your dashboard page and you'll be routed to the profile page.
+
+
+
+
+
+
+### Make Changes
+
+Upload a profile picture and edit any input field you want to then click "Update Profile".
+
+
+
+
+
diff --git a/apps/docs/content/docs/how-to-guides/take-attendance.mdx b/apps/docs/content/docs/how-to-guides/take-attendance.mdx
new file mode 100644
index 00000000..2d344589
--- /dev/null
+++ b/apps/docs/content/docs/how-to-guides/take-attendance.mdx
@@ -0,0 +1,11 @@
+---
+title: How to Take Attendance
+description: Learn how to take attendance for your classes.
+---
+
+import { Callout } from 'fumadocs-ui/components/callout';
+
+
+
+ This page is a work in progress. Help us expand it by contributing!
+
diff --git a/apps/docs/content/docs/meta.json b/apps/docs/content/docs/meta.json
new file mode 100644
index 00000000..3f9f04b4
--- /dev/null
+++ b/apps/docs/content/docs/meta.json
@@ -0,0 +1,19 @@
+{
+ "pages": [
+ "---Introduction---",
+ "home",
+ "what-is-classroomio",
+ "quickstart",
+
+ "---Core Features---",
+ "course",
+ "audience",
+ "community",
+ "organization",
+ "student-dashboard",
+
+ "---Guides---",
+ "how-to-guides",
+ "contributor-guides"
+ ]
+}
diff --git a/apps/docs/content/docs/organization.mdx b/apps/docs/content/docs/organization.mdx
new file mode 100644
index 00000000..735fa123
--- /dev/null
+++ b/apps/docs/content/docs/organization.mdx
@@ -0,0 +1,12 @@
+---
+title: Organization
+description: Learn about organizations in ClassroomIO.
+---
+
+import { Callout } from 'fumadocs-ui/components/callout';
+
+
+ This page is a work in progress. Help us expand it by contributing!
+
+
+We will write about organizations here.
diff --git a/apps/docs/pages/quickstart/_meta.json b/apps/docs/content/docs/quickstart/meta.json
similarity index 74%
rename from apps/docs/pages/quickstart/_meta.json
rename to apps/docs/content/docs/quickstart/meta.json
index 7e9754c5..bcf2a754 100644
--- a/apps/docs/pages/quickstart/_meta.json
+++ b/apps/docs/content/docs/quickstart/meta.json
@@ -1,5 +1,5 @@
{
- "signup": "Signup",
+ "signup": "Sign Up",
"onboarding": "Onboarding",
"self-hosting": "Self-hosting"
}
diff --git a/apps/docs/pages/quickstart/onboarding.mdx b/apps/docs/content/docs/quickstart/onboarding.mdx
similarity index 79%
rename from apps/docs/pages/quickstart/onboarding.mdx
rename to apps/docs/content/docs/quickstart/onboarding.mdx
index c22d9abc..03a12460 100644
--- a/apps/docs/pages/quickstart/onboarding.mdx
+++ b/apps/docs/content/docs/quickstart/onboarding.mdx
@@ -1,4 +1,8 @@
-# Onboarding
+---
+title: Onboarding
+description: Your onboarding checklist after creating an account.
+---
+
Welcome again to ClassroomIO and we are super excited you are giving it a try. On this page you will find your onboarding checklist, the first thing you need to do after you've created an account.
diff --git a/apps/docs/pages/quickstart/self-hosting.mdx b/apps/docs/content/docs/quickstart/self-hosting.mdx
similarity index 78%
rename from apps/docs/pages/quickstart/self-hosting.mdx
rename to apps/docs/content/docs/quickstart/self-hosting.mdx
index 6e38e64f..0afb99cf 100644
--- a/apps/docs/pages/quickstart/self-hosting.mdx
+++ b/apps/docs/content/docs/quickstart/self-hosting.mdx
@@ -1,18 +1,20 @@
-import Image from 'next/image';
-import { Callout } from 'nextra/components';
-import SelfhostClassroomIO from './images/selfhost-classroomio.webp';
+---
+title: Self-hosting ClassroomIO
+description: Guide to self-hosting ClassroomIO on your own servers.
+---
-# Self-hosting ClassroomIO.com
+import { Callout } from 'fumadocs-ui/components/callout';
+import { Step, Steps } from 'fumadocs-ui/components/steps';
-This guide will help you quickly selfhost ClassroomIO
+This guide will help you quickly self-host ClassroomIO.
-
+
-ClassroomIO is made up of the following applications
+ClassroomIO is made up of the following applications:
- [apps/api](https://github.com/rotimi-best/classroomio/tree/main/apps/api) - an Express server
- [apps/dashboard](https://github.com/rotimi-best/classroomio/tree/main/apps/dashboard) - the admin dashboard + LMS
-- [supabase](https://github.com/rotimi-best/classroomio/tree/main/supabase) - the database + REST API.
+- [supabase](https://github.com/rotimi-best/classroomio/tree/main/supabase) - the database + REST API
The quickest and easiest way to deploy both the api and dashboard is by using our [Railway Template](https://railway.app/template/dl9RG7?referralCode=8OyIj5). However there are a couple of things that you'd need first before heading over to the template, which are:
@@ -24,7 +26,7 @@ The quickest and easiest way to deploy both the api and dashboard is by using ou
Both for the supabase and api setup, you'd need a custom SMTP for email sending. Most importantly you need these values:
-```bash
+```zsh title="env"
SMTP_HOST=
SMTP_PORT=
SMTP_USER=
@@ -32,22 +34,22 @@ SMTP_PASSWORD=
SMTP_SENDER=
```
-Make sure you have them handy because you'd need them while we go through this selfhosting guide.
+Make sure you have them handy because you'd need them while we go through this self-hosting guide.
-
+
Learn more about setting up a custom SMTP server
[here](https://supabase.com/docs/guides/auth/auth-smtp)
## Supabase
-There are 2 options to go about setting up Supabase, you could [selfhost supabase](https://supabase.com/docs/guides/self-hosting) on your own servers or you could use their cloud version. We recommend you use the cloud version because it has a very generous free tier and you get to deploy it very quickly.
+There are 2 options to go about setting up Supabase, you could [self-host supabase](https://supabase.com/docs/guides/self-hosting) on your own servers or you could use their cloud version. We recommend you use the cloud version because it has a very generous free tier and you get to deploy it very quickly.
-We have a standalone guide to help you setup your Supabase Cloud and you can find it [here](https://classroomio.com/docs/contributor-guides/supabase-cloud)
+We have a standalone guide to help you setup your Supabase Cloud and you can find it [here](/docs/contributor-guides/supabase-cloud).
After you go through that guide you will need the following environment variables, please also store them somewhere:
-```bash
+```zsh title="env"
PUBLIC_SUPABASE_URL=
PUBLIC_SUPABASE_ANON_KEY=
PRIVATE_SUPABASE_SERVICE_ROLE=
@@ -57,9 +59,7 @@ PRIVATE_SUPABASE_SERVICE_ROLE=
We use Cloudflare R2 for video uploading within the course builder. It is not required though and you can do without it in the app if you don't need video upload.
-
- This section is a work in progress.
-
+This section is a work in progress.
## Deploy on Railway
@@ -69,11 +69,11 @@ Go ahead and click this button to get started.
[](https://railway.app/template/dl9RG7?referralCode=8OyIj5)
-### Environment Variables.
+### Environment Variables
#### cio-api
-```bash
+```zsh title="env"
# Required
SMTP_HOST=""
SMTP_PORT=""
@@ -92,14 +92,14 @@ CLOUDFLARE_SECRET_ACCESS_KEY=""
SENTRY_DNS=""
```
-
+
Learn more about the environment variables
[here](https://github.com/rotimi-best/classroomio/blob/main/apps/api/.env.example)
#### cio-dashboard
-```bash
+```zsh title="env"
# Required
PUBLIC_SUPABASE_URL=""
PUBLIC_SUPABASE_ANON_KEY=""
@@ -114,7 +114,7 @@ PRIVATE_APP_HOST=""
PRIVATE_APP_SUBDOMAINS=""
```
-
+
Learn more about the environment variables
[here](https://github.com/rotimi-best/classroomio/blob/main/apps/dashboard/.env.example)
@@ -125,7 +125,7 @@ We provide a docker-compose configuration to deploy both the api and dashboard s
1. Clone the repository:
-```bash
+```zsh title="Terminal"
git clone https://github.com/rotimi-best/classroomio.git
cd classroomio
```
@@ -134,7 +134,7 @@ cd classroomio
3. Start the services:
-```bash
+```zsh title="Terminal"
docker compose up --build
```
diff --git a/apps/docs/content/docs/quickstart/signup.mdx b/apps/docs/content/docs/quickstart/signup.mdx
new file mode 100644
index 00000000..b14d15eb
--- /dev/null
+++ b/apps/docs/content/docs/quickstart/signup.mdx
@@ -0,0 +1,59 @@
+---
+title: Sign Up for ClassroomIO
+description: Get started with ClassroomIO by signing up for an account.
+---
+
+import { Step, Steps } from 'fumadocs-ui/components/steps';
+
+If you're new to ClassroomIO, you must create an account to set up and launch your organization. By signing up, you'll gain access to all the [exciting features we offer](/docs/what-is-classroomio#key-features) to supercharge your classroom.
+
+
+
+### Go to the Signup Page
+
+Navigate to [app.classroomio.com](https://app.classroomio.com) and click the **Signup** button at the top right corner of the page.
+
+
+
+
+
+
+### Fill the Signup Form
+
+On the signup page, enter your **valid email address**. Next, create a secure password with a **minimum of 6 characters** and confirm it. Click **Create Account**.
+
+You can also sign up using your Google account.
+
+
+
+
+
+
+### Complete the Onboarding
+
+After completing the Signup form, you'll be redirected to the **Onboarding** page. There, you'll provide your **Full Name** and **Name of Organization.** As you enter your organization name, the **Organization Site Name** field will auto-fill. To proceed, click **Continue**.
+
+
+
+Next, you'll complete a brief survey regarding what brought you to ClassroomIO and how you discovered our platform. Your responses will help us tailor ClassroomIO's features to best suit your needs. Finally, click **Continue** to submit.
+
+
+
+
+
+
+### Welcome to the Dashboard
+
+You are successfully signed up and ready to use ClassroomIO when you see the dashboard.
+
+
+
+
+
+
+### What Next?
+
+After signing up successfully, you can now set up and [customize your Organization](/docs/how-to-guides/customize-organization).
+
+
+
diff --git a/apps/docs/content/docs/student-dashboard.mdx b/apps/docs/content/docs/student-dashboard.mdx
new file mode 100644
index 00000000..e382d470
--- /dev/null
+++ b/apps/docs/content/docs/student-dashboard.mdx
@@ -0,0 +1,10 @@
+---
+title: Student Dashboard
+description: Learn about the student dashboard.
+---
+
+import { Callout } from 'fumadocs-ui/components/callout';
+
+
+ This page is a work in progress. Help us expand it by contributing!
+
diff --git a/apps/docs/pages/what-is-classroomio.mdx b/apps/docs/content/docs/what-is-classroomio.mdx
similarity index 90%
rename from apps/docs/pages/what-is-classroomio.mdx
rename to apps/docs/content/docs/what-is-classroomio.mdx
index c450db3b..b52467e6 100644
--- a/apps/docs/pages/what-is-classroomio.mdx
+++ b/apps/docs/content/docs/what-is-classroomio.mdx
@@ -1,15 +1,17 @@
-# What is ClassroomIO
+---
+title: What is ClassroomIO
+description: Learn about ClassroomIO and its key features.
+---
-
Streamline training for everyone with ClassroomIO.com. Our all-in-one platform empowers bootcamps, educators, and businesses to manage training programs easily. With our platform, anyone can run multiple classes and cohorts all from one UI. The application is mobile-first, which means that students can access your lesson materials from any device.
-### Mission: Provide Students with the Best Learning Experience
+## Mission: Provide Students with the Best Learning Experience
At ClassroomIO, our mission is to provide students with the best possible learning experience. We believe in empowering educators with the tools they need to deliver high-quality education that is accessible, engaging, and effective.
-### Key Features
+## Key Features
1. **📚 Advanced Course Management:** You can create unlimited courses, create lessons, invite students, add assignments, grade their assignments, and even generate certificates.
2. **👨👩👦 Multi-Teacher Management:** You can invite other teachers into your organization and assign them individual courses.
diff --git a/apps/docs/next-env.d.ts b/apps/docs/next-env.d.ts
deleted file mode 100644
index 4f11a03d..00000000
--- a/apps/docs/next-env.d.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-///
-///
-
-// NOTE: This file should not be edited
-// see https://nextjs.org/docs/basic-features/typescript for more information.
diff --git a/apps/docs/next.config.js b/apps/docs/next.config.js
deleted file mode 100644
index 4414fa1b..00000000
--- a/apps/docs/next.config.js
+++ /dev/null
@@ -1,25 +0,0 @@
-const million = require('million/compiler');
-
-const env = process.env.NODE_ENV;
-
-const withNextra = require('nextra')({
- theme: 'nextra-theme-docs',
- themeConfig: './theme.config.tsx'
-});
-
-const nextConfig = {
- basePath: env === 'production' ? '/docs' : undefined,
- env: {
- imagePath: env === 'production' ? '/docs' : ''
- },
- images: {
- unoptimized: true
- },
- ...withNextra()
-};
-
-const millionConfig = {
- auto: true
-};
-
-module.exports = million.next(nextConfig, millionConfig);
diff --git a/apps/docs/package.json b/apps/docs/package.json
index 6629832f..331a7cd3 100644
--- a/apps/docs/package.json
+++ b/apps/docs/package.json
@@ -1,35 +1,37 @@
{
"name": "@cio/docs",
- "version": "0.0.1",
- "description": "ClassroomIO Documentation",
+ "type": "module",
"scripts": {
- "dev": "next dev",
- "build": "next build",
- "start": "next start"
+ "dev": "vite dev",
+ "build": "vite build",
+ "start": "node .output/server/index.mjs",
+ "types:check": "fumadocs-mdx && tsc --noEmit",
+ "postinstall": "fumadocs-mdx"
},
- "repository": {
- "type": "git",
- "url": "git+https://github.com/classroomio/classroomio.git"
- },
- "author": "Shu Ding ",
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/classroomio/classroomio/issues"
- },
- "homepage": "https://github.com/classroomio/classroomio#readme",
"dependencies": {
- "million": "^3.0.3",
- "next": "^13.0.6",
- "nextra": "2.13.2",
- "nextra-theme-docs": "2.13.2",
- "react": "^18.2.0",
- "react-dom": "^18.2.0"
+ "@tanstack/react-router": "^1.134.12",
+ "@tanstack/react-router-devtools": "^1.134.12",
+ "@tanstack/react-start": "^1.134.12",
+ "fumadocs-core": "16.2.1",
+ "fumadocs-mdx": "14.0.4",
+ "fumadocs-ui": "16.2.1",
+ "lucide-react": "^0.562.0",
+ "lucide-static": "^0.552.0",
+ "react": "^19.2.0",
+ "react-dom": "^19.2.0",
+ "tailwind-merge": "^3.3.1",
+ "vite": "^7.2.0"
},
"devDependencies": {
- "@types/node": "18.11.10",
- "autoprefixer": "^10.4.16",
- "postcss": "^8.4.32",
- "tailwindcss": "^3.3.6",
- "typescript": "^4.9.3"
+ "@tailwindcss/vite": "^4.1.16",
+ "@types/mdx": "^2.0.13",
+ "@types/node": "^24.10.0",
+ "@types/react": "^19.2.2",
+ "@types/react-dom": "^19.2.2",
+ "@vitejs/plugin-react": "^5.1.0",
+ "nitro": "3.0.1-alpha.1",
+ "tailwindcss": "^4.1.16",
+ "typescript": "^5.9.3",
+ "vite-tsconfig-paths": "^5.1.4"
}
}
diff --git a/apps/docs/pages/_meta.json b/apps/docs/pages/_meta.json
deleted file mode 100644
index 252564fd..00000000
--- a/apps/docs/pages/_meta.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "-": {
- "type": "separator",
- "title": "Introduction"
- },
- "index": "Welcome",
- "what-is-classroomio": "What is ClassroomIO",
- "quickstart": "Quick Start",
- "--": {
- "type": "separator",
- "title": "Core Features"
- },
- "organization": "Organization",
- "course": "Course",
- "student-dashboard": "Student Dashboard",
- "community": "Community",
- "audience": "Audience",
- "---": {
- "type": "separator",
- "title": "Guides"
- },
- "contributor-guides": "Contributor Guides",
- "howtoguides": "How To Guides",
- "contact": {
- "title": "Contact ↗",
- "type": "page",
- "href": "https://twitter.com/classroomio",
- "newWindow": true
- },
- "demo": {
- "title": "Demo ↗",
- "type": "page",
- "href": "https://dub.sh/ciodemo",
- "newWindow": true
- }
-}
diff --git a/apps/docs/pages/audience.mdx b/apps/docs/pages/audience.mdx
deleted file mode 100644
index 321fe32a..00000000
--- a/apps/docs/pages/audience.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
-import { Callout } from "nextra/components";
-
-# Audience
-
-
- This page is a work in progress. Help us expand it by contributing!
-
diff --git a/apps/docs/pages/community.mdx b/apps/docs/pages/community.mdx
deleted file mode 100644
index be4db170..00000000
--- a/apps/docs/pages/community.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
-import { Callout } from "nextra/components";
-
-# Community
-
-
- This page is a work in progress. Help us expand it by contributing!
-
diff --git a/apps/docs/pages/contributor-guides/_meta.json b/apps/docs/pages/contributor-guides/_meta.json
deleted file mode 100644
index 5951ac96..00000000
--- a/apps/docs/pages/contributor-guides/_meta.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "demo-accounts": "Demo Accounts",
- "devs": "Developers Guide",
- "supabase-cloud": "Supabase Cloud Setup",
- "design": "Designers Guide",
- "student-dashboard": "Student Dashboard",
- "cloudflare-setup": "Cloudflare Setup"
-}
diff --git a/apps/docs/pages/contributor-guides/cloudflare-setup.mdx b/apps/docs/pages/contributor-guides/cloudflare-setup.mdx
deleted file mode 100644
index 6052c6ba..00000000
--- a/apps/docs/pages/contributor-guides/cloudflare-setup.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
-import Image from 'next/image';
-import { Steps } from 'nextra/components';
-import { Callout } from 'nextra/components';
-
-# Cloudflare Setup
-
-In this guide, you will learn how to get your cloudflare environment variables. We use Cloudflare R2 for video uploads and the aim of this guide is to help you get the right variables to properly setup our api.
diff --git a/apps/docs/pages/contributor-guides/design.mdx b/apps/docs/pages/contributor-guides/design.mdx
deleted file mode 100644
index 2fa6246b..00000000
--- a/apps/docs/pages/contributor-guides/design.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
-import { Callout } from "nextra/components";
-
-# Design Contribution Guide
-
-
- This page is a work in progress. Help us expand it by contributing!
-
diff --git a/apps/docs/pages/course.mdx b/apps/docs/pages/course.mdx
deleted file mode 100644
index ae71c374..00000000
--- a/apps/docs/pages/course.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
-import { Callout } from "nextra/components";
-
-# Course
-
-
- This page is a work in progress. Help us expand it by contributing!
-
diff --git a/apps/docs/pages/global.css b/apps/docs/pages/global.css
deleted file mode 100644
index b5c61c95..00000000
--- a/apps/docs/pages/global.css
+++ /dev/null
@@ -1,3 +0,0 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
diff --git a/apps/docs/pages/howtoguides/_meta.json b/apps/docs/pages/howtoguides/_meta.json
deleted file mode 100644
index d5ac3a56..00000000
--- a/apps/docs/pages/howtoguides/_meta.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "setup-profile": "Setup your Profile",
- "customize-organization": "Customize Organization",
- "create-first-course": "Create Сourse",
- "create-exercise": "Create an Exercise",
- "grade-exercise": "Grade an Exercise",
- "take-attendance": "Take Attendance",
- "certificates": "Create Certificates",
- "course-landingpage": "Course Landing Page",
- "invite-team-member": "Inviting Team Members",
- "invite-students": "Inviting Students"
-}
\ No newline at end of file
diff --git a/apps/docs/pages/howtoguides/certificates.mdx b/apps/docs/pages/howtoguides/certificates.mdx
deleted file mode 100644
index 0887f730..00000000
--- a/apps/docs/pages/howtoguides/certificates.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
-import { Callout } from "nextra/components";
-
-# How to Create Certificates
-
-
- This page is a work in progress. Help us expand it by contributing!
-
diff --git a/apps/docs/pages/howtoguides/create-exercise.mdx b/apps/docs/pages/howtoguides/create-exercise.mdx
deleted file mode 100644
index 14152ec7..00000000
--- a/apps/docs/pages/howtoguides/create-exercise.mdx
+++ /dev/null
@@ -1,93 +0,0 @@
-import Image from 'next/image';
-import { Steps } from "nextra/components";
-import OrganizationDashboard from './images/organization-dashboard.webp';
-import CoursesPage from './images/courses-page.webp';
-import CoursePage from './images/course-page.webp';
-import Exercise from './images/exercise.webp';
-import FromScratch from './images/from-scratch.webp';
-import UsingATemplate from './images/using-a-template.webp';
-import UsingAI from './images/using-AI.webp';
-import Preview from './images/preview.webp';
-import AddQuestion from './images/add-question.webp';
-import ReorderQuestions from './images/reorder-questions.webp';
-import NewExercise from './images/new-exercise.webp';
-
-
-# How to Create an Exercise
-
-In ClassroomIO, exercises are a great way to assess students' understanding through practice activities. Once you’ve [set up your organization](https://www.classroomio.com/docs/howtoguides/customize-organization), [created a course](https://www.classroomio.com/docs/howtoguides/create-first-course), and [added a lesson](https://www.classroomio.com/docs/howtoguides/create-first-course#adding-lessons), you can start creating exercises. Follow the process below to create your first exercise.
-
-
-
- ### Go to the Courses Page
-
-
-Access the courses page from the dashboard by clicking on **Courses** via the sidebar menu.
-
-
-
- ### Select a Course
-
-On the courses page, click on a course to go to the course page.
-
-
-
- ### Select a Lesson
-
-On the course page, click on **Lessons** via the left sidebar menu and select the lesson you want to create an exercise for.
-
-> Alternatively, you can click on the **⌄** icon next to the **Lessons** option to select a lesson.
-
-
-
- ### Add an Exercise
-
-Locate the tabs at the top of the page and select the **Exercises** tab. Then click on the **Add** button. On the modal, select a method to create an exercise. You can create an exercise:
-
-
-
-1. **From scratch**: Create an exercise by adding the questions yourself. This is handy if you’ve prepared your questions.
- - Enter the exercise name and click on the **Finish** button.
- - Click on the newly created exercise and provide the exercise description, due date, and question details.
-
-
-
-2. **Using a template**: You can select from an array of templates with predefined exercises complete with questions and options.
- - Select a template and click on the **Finish** button.
-
-
-
-3. **Using AI**: AI helps you generate exercises directly from lesson notes.
- - Enter the number of questions and options. Next, click on the **Generate** button.
-
-
-
-#### Preview Exercise
-
-To preview the exercise, click on the **preview icon**. This is to ensure the exercise looks and functions as expected.
-
-
-
-#### Add Questions
-
-To add a question, click on the **add icon**.
-
-
-
-#### Reorder Questions
-
-To reorder questions, click on the **three dots** > **Reorder Questions**, then drag and drop the questions.
-
-
-
-#### Save Changes
-
-After previewing, adding, and rearranging questions, ensure to save your changes by clicking on the **Save** button. This will apply your modifications to the exercise.
-
-### Your Exercise Is Ready
-
-You’ve successfully created your first exercise and It is now accessible to students enrolled in the course. Move on to the next section to start grading your exercise.
-
-
-
-
diff --git a/apps/docs/pages/howtoguides/grade-exercise.mdx b/apps/docs/pages/howtoguides/grade-exercise.mdx
deleted file mode 100644
index 9e71f262..00000000
--- a/apps/docs/pages/howtoguides/grade-exercise.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
-import { Callout } from "nextra/components";
-
-# How to Grade an Exercise
-
-
- This page is a work in progress. Help us expand it by contributing!
-
diff --git a/apps/docs/pages/howtoguides/invite-students.mdx b/apps/docs/pages/howtoguides/invite-students.mdx
deleted file mode 100644
index ba640d9e..00000000
--- a/apps/docs/pages/howtoguides/invite-students.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
-import { Callout } from "nextra/components";
-
-# How to Invite Students
-
-
- This page is a work in progress. Help us expand it by contributing!
-
diff --git a/apps/docs/pages/howtoguides/invite-team-member.mdx b/apps/docs/pages/howtoguides/invite-team-member.mdx
deleted file mode 100644
index cfcf4714..00000000
--- a/apps/docs/pages/howtoguides/invite-team-member.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
-import { Callout } from "nextra/components";
-
-# Inviting a Team Member
-
-
- This page is a work in progress. Help us expand it by contributing!
-
diff --git a/apps/docs/pages/howtoguides/setup-profile.mdx b/apps/docs/pages/howtoguides/setup-profile.mdx
deleted file mode 100644
index 78bd6da0..00000000
--- a/apps/docs/pages/howtoguides/setup-profile.mdx
+++ /dev/null
@@ -1,35 +0,0 @@
-import Image from 'next/image';
-import { Steps } from 'nextra/components';
-import classroomioBasePage from './images/classroomio.webp';
-import signUpPage from './images/login-page.webp';
-import unEditedProfilePage from './images/unedited-profile-page.webp';
-import editedProfilePage from './images/edited-profile-page.webp';
-
-# Setup Profile
-
-
-### Go to Classroomio
-
-Go to [app.classroomio.com](https://app.classroomio.com). Click on the "Login"" button on the top right to take you to the Login page.
-
-
-
-### Sign In
-
-Sign in with your email & password.
-
-
-
-### Go to the Settings page
-
-Click on the "Settings" button on the lower left corner on your dashboard page and you'll be routed to the profile page.
-
-
-
-### Make Changes
-
-Upload a profile picture and edit any input field you want to then click "Update Profile".
-
-
-
-
diff --git a/apps/docs/pages/howtoguides/take-attendance.mdx b/apps/docs/pages/howtoguides/take-attendance.mdx
deleted file mode 100644
index 1121dfbc..00000000
--- a/apps/docs/pages/howtoguides/take-attendance.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
-import { Callout } from "nextra/components";
-
-# How to Take Attendance
-
-
- This page is a work in progress. Help us expand it by contributing!
-
diff --git a/apps/docs/pages/index.mdx b/apps/docs/pages/index.mdx
deleted file mode 100644
index fb6addb1..00000000
--- a/apps/docs/pages/index.mdx
+++ /dev/null
@@ -1,11 +0,0 @@
-# The ClassroomIO Documentation
-
-
-
-
-This is the documentation for ClassroomIO, a platform to streamline training for everyone. Our all-in-one platform empowers bootcamps, educators, and businesses to manage training programs easily. Anyone can run multiple classes and cohorts all from one UI, the application is mobile-first, which means that students can access all published content from any device.
-
-It covers everything from setup to usage. You'd find a well detailed explanation of the core features ClassroomIO offers and how to take advantage of them. Developers and Designers can find everything they need to successfully contribute to the project. For more practical usage, we've got a ton of guides ranging from simple functionalities to more complex ones. If there is something we don't cover in this documentation, please feel free to open an issue and we can pick it up from there.
diff --git a/apps/docs/pages/organization.mdx b/apps/docs/pages/organization.mdx
deleted file mode 100644
index 53723974..00000000
--- a/apps/docs/pages/organization.mdx
+++ /dev/null
@@ -1,9 +0,0 @@
-import { Callout } from "nextra/components";
-
-# Organization
-
-
- This page is a work in progress. Help us expand it by contributing!
-
-
-We will write about organizations here
\ No newline at end of file
diff --git a/apps/docs/pages/quickstart/signup.mdx b/apps/docs/pages/quickstart/signup.mdx
deleted file mode 100644
index 4ac36da8..00000000
--- a/apps/docs/pages/quickstart/signup.mdx
+++ /dev/null
@@ -1,68 +0,0 @@
-import Image from 'next/image';
-import { Steps } from 'nextra/components';
-import DashboardHomePageSignedin from './images/dashboard-homepage-signedin.webp';
-import DashboardHomePageSignedout from './images/dashboard-homepage-signedout.webp';
-import DashboardOnboardingPage1 from './images/onboarding-page1.webp';
-import DashboardOnboardingPage2 from './images/onboarding-page2.webp';
-import DashboardSignupPage from './images/signup-page.webp';
-
-# Sign Up for ClassroomIO
-
-If you're new to ClassroomIO, you must create an account to set up and launch your organization. By signing up, you'll gain access to all the [exciting features we offer](https://www.classroomio.com/docs/what-is-classroomio#key-features) to supercharge your classroom.
-
-
-### Go to the Signup Page
-
-Navigate to [app.classroomio.com](https://app.classroomio.com) and click the **Signup** button at the top right corner of the page.
-
-
-
-### Fill the Signup Form
-
-On the signup page, enter your **valid email address**. Next, create a secure password with a **minimum of 6 characters** and confirm it. Click **Create Account**.
-
-You can also sign up using your Google account.
-
-
-
-### Complete the Onboarding
-
-After completing the Signup form, you'll be redirected to the **Onboarding** page. There, you'll provide your **Full Name** and **Name of Organization.** As you enter your organization name, the **Organization Site Name** field will auto-fill. To proceed, click **Continue**.
-
-
-
-Next, you'll complete a brief survey regarding what brought you to ClassroomIO and how you discovered our platform. Your responses will help us tailor ClassroomIO's features to best suit your needs. Finally, click **Continue** to submit.
-
-
-
-### Welcome to the Dashboard
-
-You are successfully signed up and ready to use ClassroomIO when you see the dashboard.
-
-
-
-### What Next?
-
-After signing up successfully, you can now set up and [customize your Organization](https://www.classroomio.com/docs/howtoguides/customize-organization)
-
-
diff --git a/apps/docs/pages/student-dashboard.mdx b/apps/docs/pages/student-dashboard.mdx
deleted file mode 100644
index a7ffc177..00000000
--- a/apps/docs/pages/student-dashboard.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
-import { Callout } from "nextra/components";
-
-# Student Dashboard
-
-
- This page is a work in progress. Help us expand it by contributing!
-
diff --git a/apps/docs/postcss.config.js b/apps/docs/postcss.config.js
deleted file mode 100644
index 33ad091d..00000000
--- a/apps/docs/postcss.config.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- plugins: {
- tailwindcss: {},
- autoprefixer: {},
- },
-}
diff --git a/apps/docs/pages/howtoguides/images/add-question.webp b/apps/docs/public/add-question.webp
similarity index 100%
rename from apps/docs/pages/howtoguides/images/add-question.webp
rename to apps/docs/public/add-question.webp
diff --git a/apps/docs/pages/contributor-guides/images/auth-settings.webp b/apps/docs/public/auth-settings.webp
similarity index 100%
rename from apps/docs/pages/contributor-guides/images/auth-settings.webp
rename to apps/docs/public/auth-settings.webp
diff --git a/apps/docs/pages/howtoguides/images/classroomio.webp b/apps/docs/public/classroomio.webp
similarity index 100%
rename from apps/docs/pages/howtoguides/images/classroomio.webp
rename to apps/docs/public/classroomio.webp
diff --git a/apps/docs/pages/howtoguides/images/course-landing-page.png b/apps/docs/public/course-landing-page.png
similarity index 100%
rename from apps/docs/pages/howtoguides/images/course-landing-page.png
rename to apps/docs/public/course-landing-page.png
diff --git a/apps/docs/pages/howtoguides/images/course-landing-page.webp b/apps/docs/public/course-landing-page.webp
similarity index 100%
rename from apps/docs/pages/howtoguides/images/course-landing-page.webp
rename to apps/docs/public/course-landing-page.webp
diff --git a/apps/docs/pages/howtoguides/images/course-page.png b/apps/docs/public/course-page.png
similarity index 100%
rename from apps/docs/pages/howtoguides/images/course-page.png
rename to apps/docs/public/course-page.png
diff --git a/apps/docs/pages/howtoguides/images/course-page.webp b/apps/docs/public/course-page.webp
similarity index 100%
rename from apps/docs/pages/howtoguides/images/course-page.webp
rename to apps/docs/public/course-page.webp
diff --git a/apps/docs/pages/howtoguides/images/courses-page.webp b/apps/docs/public/courses-page.webp
similarity index 100%
rename from apps/docs/pages/howtoguides/images/courses-page.webp
rename to apps/docs/public/courses-page.webp
diff --git a/apps/docs/pages/howtoguides/images/customize-organization.png b/apps/docs/public/customize-organization.png
similarity index 100%
rename from apps/docs/pages/howtoguides/images/customize-organization.png
rename to apps/docs/public/customize-organization.png
diff --git a/apps/docs/pages/howtoguides/images/customize-organization.webp b/apps/docs/public/customize-organization.webp
similarity index 100%
rename from apps/docs/pages/howtoguides/images/customize-organization.webp
rename to apps/docs/public/customize-organization.webp
diff --git a/apps/docs/pages/quickstart/images/dashboard-homepage-signedin.webp b/apps/docs/public/dashboard-homepage-signedin.webp
similarity index 100%
rename from apps/docs/pages/quickstart/images/dashboard-homepage-signedin.webp
rename to apps/docs/public/dashboard-homepage-signedin.webp
diff --git a/apps/docs/pages/quickstart/images/dashboard-homepage-signedout.webp b/apps/docs/public/dashboard-homepage-signedout.webp
similarity index 100%
rename from apps/docs/pages/quickstart/images/dashboard-homepage-signedout.webp
rename to apps/docs/public/dashboard-homepage-signedout.webp
diff --git a/apps/docs/pages/contributor-guides/images/db-push-result.webp b/apps/docs/public/db-push-result.webp
similarity index 100%
rename from apps/docs/pages/contributor-guides/images/db-push-result.webp
rename to apps/docs/public/db-push-result.webp
diff --git a/apps/docs/pages/contributor-guides/images/db-url.webp b/apps/docs/public/db-url.webp
similarity index 100%
rename from apps/docs/pages/contributor-guides/images/db-url.webp
rename to apps/docs/public/db-url.webp
diff --git a/apps/docs/public/discord-blue.png b/apps/docs/public/discord-blue.png
new file mode 100644
index 00000000..e9dc50d7
Binary files /dev/null and b/apps/docs/public/discord-blue.png differ
diff --git a/apps/docs/pages/howtoguides/images/domain-setup-one.webp b/apps/docs/public/domain-setup-one.webp
similarity index 100%
rename from apps/docs/pages/howtoguides/images/domain-setup-one.webp
rename to apps/docs/public/domain-setup-one.webp
diff --git a/apps/docs/pages/howtoguides/images/domain-setup-three.webp b/apps/docs/public/domain-setup-three.webp
similarity index 100%
rename from apps/docs/pages/howtoguides/images/domain-setup-three.webp
rename to apps/docs/public/domain-setup-three.webp
diff --git a/apps/docs/pages/howtoguides/images/domain-setup-two.webp b/apps/docs/public/domain-setup-two.webp
similarity index 100%
rename from apps/docs/pages/howtoguides/images/domain-setup-two.webp
rename to apps/docs/public/domain-setup-two.webp
diff --git a/apps/docs/pages/howtoguides/images/edited-profile-page.webp b/apps/docs/public/edited-profile-page.webp
similarity index 100%
rename from apps/docs/pages/howtoguides/images/edited-profile-page.webp
rename to apps/docs/public/edited-profile-page.webp
diff --git a/apps/docs/pages/howtoguides/images/exercise.webp b/apps/docs/public/exercise.webp
similarity index 100%
rename from apps/docs/pages/howtoguides/images/exercise.webp
rename to apps/docs/public/exercise.webp
diff --git a/apps/docs/public/img/favicon.ico b/apps/docs/public/favicon.ico
similarity index 100%
rename from apps/docs/public/img/favicon.ico
rename to apps/docs/public/favicon.ico
diff --git a/apps/docs/pages/howtoguides/images/from-scratch.webp b/apps/docs/public/from-scratch.webp
similarity index 100%
rename from apps/docs/pages/howtoguides/images/from-scratch.webp
rename to apps/docs/public/from-scratch.webp
diff --git a/apps/docs/pages/contributor-guides/images/gitpod_env.png b/apps/docs/public/gitpod_env.png
similarity index 100%
rename from apps/docs/pages/contributor-guides/images/gitpod_env.png
rename to apps/docs/public/gitpod_env.png
diff --git a/apps/docs/public/img/og-image.png b/apps/docs/public/img/og-image.png
deleted file mode 100644
index b1f0aa37..00000000
Binary files a/apps/docs/public/img/og-image.png and /dev/null differ
diff --git a/apps/docs/pages/howtoguides/images/landing page.png b/apps/docs/public/landing-page.png
similarity index 100%
rename from apps/docs/pages/howtoguides/images/landing page.png
rename to apps/docs/public/landing-page.png
diff --git a/apps/docs/pages/howtoguides/images/login-page.webp b/apps/docs/public/login-page.webp
similarity index 100%
rename from apps/docs/pages/howtoguides/images/login-page.webp
rename to apps/docs/public/login-page.webp
diff --git a/apps/docs/public/img/logo-16.png b/apps/docs/public/logo-16.png
similarity index 100%
rename from apps/docs/public/img/logo-16.png
rename to apps/docs/public/logo-16.png
diff --git a/apps/docs/public/img/logo-192.png b/apps/docs/public/logo-192.png
similarity index 100%
rename from apps/docs/public/img/logo-192.png
rename to apps/docs/public/logo-192.png
diff --git a/apps/docs/public/img/logo-32.png b/apps/docs/public/logo-32.png
similarity index 100%
rename from apps/docs/public/img/logo-32.png
rename to apps/docs/public/logo-32.png
diff --git a/apps/docs/public/img/logo-512.png b/apps/docs/public/logo-512.png
similarity index 100%
rename from apps/docs/public/img/logo-512.png
rename to apps/docs/public/logo-512.png
diff --git a/apps/docs/pages/contributor-guides/images/match-env.webp b/apps/docs/public/match-env.webp
similarity index 100%
rename from apps/docs/pages/contributor-guides/images/match-env.webp
rename to apps/docs/public/match-env.webp
diff --git a/apps/docs/pages/howtoguides/images/new-exercise.webp b/apps/docs/public/new-exercise.webp
similarity index 100%
rename from apps/docs/pages/howtoguides/images/new-exercise.webp
rename to apps/docs/public/new-exercise.webp
diff --git a/apps/docs/pages/contributor-guides/images/new-project.webp b/apps/docs/public/new-project.webp
similarity index 100%
rename from apps/docs/pages/contributor-guides/images/new-project.webp
rename to apps/docs/public/new-project.webp
diff --git a/apps/docs/pages/quickstart/images/onboarding-page1.webp b/apps/docs/public/onboarding-page1.webp
similarity index 100%
rename from apps/docs/pages/quickstart/images/onboarding-page1.webp
rename to apps/docs/public/onboarding-page1.webp
diff --git a/apps/docs/pages/quickstart/images/onboarding-page2.webp b/apps/docs/public/onboarding-page2.webp
similarity index 100%
rename from apps/docs/pages/quickstart/images/onboarding-page2.webp
rename to apps/docs/public/onboarding-page2.webp
diff --git a/apps/docs/pages/howtoguides/images/organization-dashboard.webp b/apps/docs/public/organization-dashboard.webp
similarity index 100%
rename from apps/docs/pages/howtoguides/images/organization-dashboard.webp
rename to apps/docs/public/organization-dashboard.webp
diff --git a/apps/docs/pages/howtoguides/images/preview.webp b/apps/docs/public/preview.webp
similarity index 100%
rename from apps/docs/pages/howtoguides/images/preview.webp
rename to apps/docs/public/preview.webp
diff --git a/apps/docs/pages/howtoguides/images/reorder-questions.webp b/apps/docs/public/reorder-questions.webp
similarity index 100%
rename from apps/docs/pages/howtoguides/images/reorder-questions.webp
rename to apps/docs/public/reorder-questions.webp
diff --git a/apps/docs/public/robot.txt b/apps/docs/public/robot.txt
deleted file mode 100644
index 6f27bb66..00000000
--- a/apps/docs/public/robot.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-User-agent: *
-Disallow:
\ No newline at end of file
diff --git a/apps/docs/pages/quickstart/images/selfhost-classroomio.webp b/apps/docs/public/selfhost-classroomio.webp
similarity index 100%
rename from apps/docs/pages/quickstart/images/selfhost-classroomio.webp
rename to apps/docs/public/selfhost-classroomio.webp
diff --git a/apps/docs/pages/quickstart/images/signup-page.webp b/apps/docs/public/signup-page.webp
similarity index 100%
rename from apps/docs/pages/quickstart/images/signup-page.webp
rename to apps/docs/public/signup-page.webp
diff --git a/apps/docs/pages/contributor-guides/images/smtp-settings.webp b/apps/docs/public/smtp-settings.webp
similarity index 100%
rename from apps/docs/pages/contributor-guides/images/smtp-settings.webp
rename to apps/docs/public/smtp-settings.webp
diff --git a/apps/docs/pages/howtoguides/images/unedited-profile-page.webp b/apps/docs/public/unedited-profile-page.webp
similarity index 100%
rename from apps/docs/pages/howtoguides/images/unedited-profile-page.webp
rename to apps/docs/public/unedited-profile-page.webp
diff --git a/apps/docs/pages/howtoguides/images/using-AI.webp b/apps/docs/public/using-AI.webp
similarity index 100%
rename from apps/docs/pages/howtoguides/images/using-AI.webp
rename to apps/docs/public/using-AI.webp
diff --git a/apps/docs/pages/howtoguides/images/using-a-template.webp b/apps/docs/public/using-a-template.webp
similarity index 100%
rename from apps/docs/pages/howtoguides/images/using-a-template.webp
rename to apps/docs/public/using-a-template.webp
diff --git a/apps/docs/source.config.ts b/apps/docs/source.config.ts
new file mode 100644
index 00000000..6f2fa4ea
--- /dev/null
+++ b/apps/docs/source.config.ts
@@ -0,0 +1,7 @@
+import { defineConfig, defineDocs } from 'fumadocs-mdx/config';
+
+export const docs = defineDocs({
+ dir: 'content/docs'
+});
+
+export default defineConfig();
diff --git a/apps/docs/src/components/not-found.tsx b/apps/docs/src/components/not-found.tsx
new file mode 100644
index 00000000..fd5406e0
--- /dev/null
+++ b/apps/docs/src/components/not-found.tsx
@@ -0,0 +1,28 @@
+import { Link } from '@tanstack/react-router';
+import { HomeLayout } from 'fumadocs-ui/layouts/home';
+
+export function NotFound() {
+ return (
+
+
+
404
+
Page Not Found
+
+ The page you are looking for might have been removed, had its name changed, or is
+ temporarily unavailable.
+
+
+ Back to Home
+
+
+
+ );
+}
diff --git a/apps/docs/src/lib/layout.shared.tsx b/apps/docs/src/lib/layout.shared.tsx
new file mode 100644
index 00000000..118a7fd3
--- /dev/null
+++ b/apps/docs/src/lib/layout.shared.tsx
@@ -0,0 +1,59 @@
+import type { BaseLayoutProps } from 'fumadocs-ui/layouts/shared';
+import { SquareArrowOutUpRight } from 'lucide-react';
+
+export function baseOptions(): BaseLayoutProps {
+ return {
+ nav: {
+ title: (
+