Skip to content
This repository was archived by the owner on Jul 10, 2026. It is now read-only.
Mantas edited this page May 26, 2026 · 1 revision

NoteCards — Project Description

NoteCards is a modern Windows desktop application for writing notes, creating flashcards, mind maps, and quizzes using a local AI model. The AI model is downloaded only when the user requests it — either in Settings or when first using an AI feature.


Table of Contents

  1. Title and Purpose
  2. Team Members
  3. Technical Task
  4. Testing and Results
  5. User Documentation

1. Title and Purpose

NoteCards – Notes, Cards & Maps

NoteCards is a clean and powerful Windows application built for effective learning. It combines traditional note-taking with smart AI-assisted tools, allowing users to:

  • Write and manage rich notes with images, tags, and custom groups
  • Automatically generate flashcards, mind maps, and quizzes directly from their notes using a local AI model
  • Practice with interactive study modes that include timers, hints, and progress tracking
  • Plan study sessions using the integrated calendar

After the initial model download, the entire application runs completely offline, ensuring privacy and reliability.


2. Team Members

First Name Last Name
Mantas Gaižutis
Jaunius Pigaga
Rapolas Turauskas
Deividas Kepenis
Gustas Valaika
Mantas Brūžė

3. Technical Task

3.1 Technology Stack

Area Technology
Platform Windows (WPF)
Language C# 13
.NET Version .NET 10
AI Library LLamaSharp 0.26.0
Supported Models Qwen3.5-0.8B, Qwen3.5-2B, Qwen3.5-4B (user selectable in Settings)
Data Storage Local JSON files (%LocalAppData%\NoteCards\)
Architecture MVVM (Model–View–ViewModel)
Localization English and Lithuanian

3.2 Core Modules

Notes

  • Rich text editor with full formatting support (RTF / XAML)
  • Inline and floating images with real-time resizing
  • Tagging and grouping system for organization
  • Auto-save every 30 seconds (fully configurable)
  • Complete version history with one-click restoration
  • Integrated calendar for reminders and study planning
  • Export to .notecard, .rtf, and plain text
  • Search & Replace, pinning, bulk actions, and duplication
  • Grid and List view modes + Recent notes sidebar

Flashcards

  • AI automatically converts notes into question-answer cards
  • Support for multiple named subsets per flashcard set
  • Status tracking: Known (green), Unknown (orange), New
  • Study mode with flip animation, shuffle, and session history
  • Fully editable cards
  • Grouping, color coding, sorting, pinning, and duplication

Mind Maps

  • AI generates hierarchical mind maps from notes
  • Five automatic layout modes: BalancedTree, RightTree, LeftTree, TopDown, Radial
  • Manual node positioning mode
  • Rich node styling (4 shapes, colors, borders, icons with badges)
  • Collapse/Expand, search with navigation, zoom (0.45×–1.8×)
  • Branch export/import
  • Full grouping, color, sorting, pinning, and duplication support

Quizzes

  • AI creates quizzes with SingleChoice, MultipleChoice, and TrueFalse questions
  • Configurable time limit, passing score (default 70%), and hints
  • Detailed results screen with per-question review
  • Retry only wrong answers or entire quiz
  • Quiz Library for combining multiple quizzes into one
  • Keyboard support (1–9 + Enter)
  • Complete grouping, color, sorting, pinning, and duplication features

Settings & Interface

  • Light and dark themes with full system integration
  • Bilingual interface (English / Lithuanian)
  • Customizable editor font, size, spacing, and margins
  • Activity tracking (study time, words typed, last active date)
  • Automatic GitHub update checks

3.3 Data Structure

%LocalAppData%\NoteCards\
├── notes.json          ← Notes and groups
├── flashcard-sets.json ← Flashcard collections
├── mind-maps.json      ← Mind maps
├── quizzes.json        ← Quizzes and attempt history
└── settings.json       ← Application settings

3.4 Architecture

┌─────────────────────────────────────────────────────────────┐
│                    Presentation Layer (WPF)                 │
│   MainWindow · NoteEditor · Flashcards · MindMap · Quiz     │
└──────────────────────────────┬──────────────────────────────┘
                               │ MVVM Data Binding
┌──────────────────────────────▼──────────────────────────────┐
│                     ViewModel Layer                         │
│   MainViewModel · NoteViewModel · FlashcardViewModel ...    │
└──────────────┬──────────────────────────────┬───────────────┘
               │                              │
┌──────────────▼──────────────┐   ┌───────────▼───────────────┐
│          Domain Models      │   │        Application        │
│  Note · FlashcardSet ·      │   │         Services          │
│  MindMap · Quiz · Settings  │   │  AI · File · Update       │
└──────────────┬──────────────┘   └───────────┬───────────────┘
               │                              │
┌──────────────▼──────────────────────────────────────────────┐
│                   Local JSON Persistence                    │
│              (%LocalAppData%\NoteCards\)                    │
└─────────────────────────────────────────────────────────────┘

4. Testing and Results

4.1 Testing Approach

Testing was performed using manual functional testing. Each major scenario was documented with detailed step-by-step tables.

4.2 Test Scenarios

1. Creating and Saving a New Note

The first test verifies whether it is possible to create and save a new note.

Step Description Expected Result Actual Result Did I get what I expected?
Step 1 In the main window, click the button to create a new note. The note editing window ("Note Editor") opens. New note creation window opened. Yes
Step 2 Enter the note title and text, then click the save button. The note is saved and appears in the main notes list. The note was successfully saved and appeared in the list. Yes

2. Deleting a Note from the List

The second test verifies whether it is possible to delete a note from the list.

Step Description Expected Result Actual Result Did I get what I expected?
Step 1 In the main window, select a previously created note. The note is highlighted. The note was successfully highlighted. Yes
Step 2 Click the delete button (or select from the menu). The note disappears from the main notes list. The note was removed from the list and is no longer visible. Yes

3. Changing Application Theme (Light / Dark)

The third test verifies whether it is possible to change the application theme.

Step Description Expected Result Actual Result Did I get what I expected?
Step 1 In Settings, click the theme selection option. A list of available themes (e.g., Light/Dark) opens. Theme selection list is visible. Yes
Step 2 Select a different theme and save. All application colors and design change according to the selected theme. The application design immediately updated with new colors. Yes

4. Filtering Notes by Tags

The fourth test verifies whether filtering notes by tags works.

Step Description Expected Result Actual Result Did I get what I expected?
Step 1 Open the Tags filter at the top of the list. A dropdown list with all created tags appears. All assigned note tags are visible. Yes
Step 2 Select a specific tag. Only notes with the selected tag are shown. The list updated and shows only filtered notes. Yes

5. Print Preview of a Note

The fifth test verifies whether the print preview works.

Step Description Expected Result Actual Result Did I get what I expected?
Step 1 In an open note, click the print button. The Print Preview window opens. Print Preview window opened. Yes
Step 2 Review the document layout on the page. The document is displayed as it will appear when printed. Text and page margins are displayed correctly. Yes

6. Creating a Flashcard Set

The sixth test verifies whether it is possible to create a flashcard set.

Step Description Expected Result Actual Result Did I get what I expected?
Step 1 In the menu, select the Flashcards section and click "Create new set". A new empty flashcard set is created. The set appeared in the Flashcards section. Yes
Step 2 Add a new card with a question on one side and an answer on the other. The card is assigned to the set and saved. The card was successfully added and text was saved on both sides. Yes

7. Creating a Mind Map

The seventh test verifies whether it is possible to create mind maps.

Step Description Expected Result Actual Result Did I get what I expected?
Step 1 In the navigation, select the "Mind Maps" section and start creating a new map. A workspace for drawing the mind map appears. The workspace opened and is ready to use. Yes
Step 2 Add a central node (idea) and connect an additional element to it. The elements connect with a line and maintain structure. Elements were successfully created and visually connected. Yes

8. Sorting Notes

The eighth test verifies whether note sorting works.

Step Description Expected Result Actual Result Did I get what I expected?
Step 1 In the notes list, click the Sort button. Sorting criteria options appear (e.g., by date, title). Sorting options menu is displayed. Yes
Step 2 Select sorting by "Alphabetical" (or by title). Notes in the list are reordered alphabetically. The list instantly reordered in the correct order. Yes

9. Generating Flashcards from a Note Using AI

The ninth test verifies whether the AI can automatically generate flashcards from an existing note.

Step Description Expected Result Actual Result Did I get what I expected?
Step 1 Open a note that contains sufficient study content (several sentences or paragraphs). The note editor opens with the content visible. Note editor opened with the note content displayed. Yes
Step 2 Click the Flashcards button in the note editor toolbar. A progress indicator appears and the AI begins processing the note text. Progress indicator appeared; the application started generating flashcards. Yes
Step 3 Wait for the AI to finish processing. The Flashcards preview window opens showing the generated question-answer cards. Preview window opened with multiple flashcards generated from the note text. Yes
Step 4 Review the generated cards and click Save to add them to the flashcard collection. The flashcard set is saved and appears in the Flashcards section. The new flashcard set was successfully saved and visible in the collection. Yes

All test scenarios passed successfully.


5. User Documentation

5.1 System Requirements

  • OS: Windows 10 / 11 (64-bit)
  • RAM: Minimum 4 GB (8 GB+ recommended for AI features)
  • .NET: .NET 10 Runtime (included with installer)

5.2 Getting Started

  1. Run NoteCards.exe
  2. The application creates its data folder at %LocalAppData%\NoteCards\
  3. AI models are not downloaded automatically — they are downloaded only when the user first uses an AI feature or selects one in Settings

5.3 Main Features

Working with Notes
Create new notes with the + button. Use tags, groups, pinning, bulk selection, and Ctrl+H for search & replace. Set reminders directly from the calendar.

AI Features
Select a note → Click Flashcards, Mind Map, or Quiz. If the model is not yet downloaded, the app will prompt you to download it (one-time process).

Flashcard Study Mode
Open a set → Study Mode → Flip cards, mark as Known/Unknown, or shuffle.

Taking Quizzes
Start a quiz, answer using mouse or keyboard (1–9 + Enter), review results, and retry only wrong answers if needed.

Mind Maps
Choose from five layout styles or switch to manual positioning. Use search, collapse branches, and export selected parts.

5.4 Settings

Access via the ⚙️ (gearwheel) icon in the top right corner. You can customize:

  • Theme (Light / Dark)
  • Language (English / Lithuanian)
  • Auto-save interval
  • Editor font, size, and spacing
  • Card flip animation speed
  • Preferred AI model (0.8B / 2B / 4B)

5.5 Privacy & Data

All data remains on your device. No personal information is sent externally. The AI model runs locally after download.


NoteCards – Dovydo Komanda, 2026