Skip to content

Requirements

Kristian Kähkönen edited this page Nov 11, 2024 · 20 revisions

General information

Study Tutor is a web app designed to help students learn better. Study Tutor combines modern web technology with Open AI assistant to create an easy-to-use study platform.

Features

Dashboard: A personalized area where users can track their learning progress and access study resources.

Flashcards: AI-generated questions tailored to personalized learning. The cards provide instant feedback, allowing student to learn anytime, anywhere.

Study Chat: An AI chatbot that answers study related questions, provides explanations, and offers study tips.

Who It's For

While our main focus is on students, Study Tutor is designed for learners of all ages and anyone who wants to learn new things.

Technical requirements

Main technologies are:

  • Next.js
  • Tailwind CSS
  • Supabase
  • Open AI API

For more details, visit our Technologies page.

Functional requirements

Feature 1 - Chat Page

  • Description: Chat that allows users to talk with an AI. It can be used to ask questions and get answers to small problems related to studying.
  • Size: XL
  • Acceptance test: The chat functions as intended. This means that the user can send messages, message history is retrieved successfully, create new threads and delete existing threads.
  • Issue: https://github.com/kristianka/studytutor/issues/47

Feature 2 - Flash cards home

  • Description: Flash cards frontpage
  • Size: XL
  • Rough designs: (image below)
  • Acceptance test:
    • Creating new flashcards work with different settings
    • History is loaded properly
    • You can delete cards from history
  • Link to issues: #5, #22, #32

377238918-d253020a-4f53-4cab-839d-56a68e9ab3d5

Feature 3 - Flash cards playing

  • Description: Flash cards playing
  • Size: XL
  • Rough designs: (image below)
  • Acceptance test:
    • Cards respect given settings
    • Are loaded correctly
    • Playful animations
    • Statistics are shown and saved
  • Link to issues: #48, #67

image

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

This application is connecting to Supabase and Open AI API. For more details, visit Technologies page.

Clone this wiki locally