Skip to content

Requirements

Henri Sjöblom edited this page Nov 10, 2024 · 20 revisions

General information

We are building a AI-powered app for learning about anything. The app has multiple features, like keeping track of your studies, chatting with an AI, and creating and playing flash cards generated by AI.

The focus group is students, but anyone interested in those features can enjoy and utilise the app.

Technical requirements

See here: https://github.com/kristianka/studytutor/wiki/Technologies

Functional requirements

TBD

Non-functional requirements

Laws and GDPR

If this project were to be released for public for real and for commercial use, we would need to create privacy policies and terms of service. At the moment we collect the following data strictly for critical app functionality:

  • User email
  • User password (hashed)
  • User's created cards
  • User's history of played cards etc. stats
  • User's chat history with the chat bot

None of the data collected are sold to third-parties and will be handled with proper care. We cannot guarantee this for third-party services we utilise like Supabase and OpenAI API. Supabase's privacy policy can be seen here, and OpenAI's here.

Security

All the API routes are secured by HTTPS and can be only accessed by the authorized user. The hosting server and databases will be only accessable to developers. Users can delete all of their data from our system if they wish.

Interfaces

OpenAI API (GPT-4)

Used for creating flashcards and the chat page functionality. Results are parsed in the frontend to valid JSON, since the assitstant API is still in very early days.

Supabase API

Used for multiple purposes: authentication and authorization, plus database. Backbone of the app. Supabase eases the development a lot for the authentication system, since Supabase handles password reset emails, so we don't need to create our own SMTP client, like with SendGrid.

Clone this wiki locally