Skip to content
Henri Sjöblom edited this page Nov 12, 2024 · 13 revisions

Architecture

Our application uses an architecture that relies on Next.js for both frontend and backend development. Supabase is used for authentication and database services, and the OpenAI API provides AI functionalities.

+------------+                +-----------------+
|   Client   |  <---------->  |     Next.js     |
| (Browser)  |                |   Front-End     |
+------------+                +-----------------+
                                      ^
                                      |
                                      v
                       +-------------------------+            +----------+
                       |     Next.js Backend     | <------>   | Supabase |
                       |  (Server-Side + API)    |            | (DB/Auth)|
                       +-------------------------+            +----------+
                                     ^
                                     |
                                     v
                       +-------------------------+
                       |       OpenAI API        |
                       |        (External)       |
                       +-------------------------+

Database

Provided by Supabase, based on PostgreSQL. Supabase provides an ORM for the codebase, which eases the development and makes it safer, since the developer doesn't need to write raw SQL-queries.

User interface

The design language that is targeted is modern and a little minimalist. To fasten and ease the development, some parts are made with pre-ready components, like from ShadCN. Everything needs to scale on mobile and on desktop screens, even on ones with larger PPI.

Landing Page

landing_page

Register

register

Login

login

Dashboard

dashboard

Flashcards

flashcards

Study Chat

study_chat

Settings

settings

Clone this wiki locally