Skip to content

Patryk-MM/Flashcards

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Console Flashcards

A comprehensive command-line application built in C# for creating, managing, and studying digital flashcards. This project uses a highly organized, layered architecture (including the Repository Pattern and Service layers) to handle complex relationships between Flashcard Stacks and Study Sessions.

Features

  • Stack Management: Create distinct "Stacks" (categories or subjects) to organize your flashcards.
  • Flashcard Operations: Add, update, view, and delete individual flashcards (front/back) within specific stacks.
  • Interactive Study Sessions: Run active study sessions where the application tests your knowledge of a stack and calculates your score.
  • Session Tracking & Reporting: Automatically records your study sessions, tracking your score percentage and progress over time.
  • Clean Architecture: Utilizes the Repository Pattern for data access, DTOs (Data Transfer Objects) for safe data passing, and specific Action Handlers to separate concerns.
  • Database Integration: Powered by Entity Framework Core to persist all stacks, cards, and session history in a relational database.

Tech Stack

  • Language: C# / .NET
  • Data Access: Entity Framework Core
  • Architecture: Repository Pattern, Service Layer, CQRS-inspired Action Handlers

Getting Started

Prerequisites

  • .NET SDK (Version 8.0 or newer)
  • SQL Server (or the database provider configured in your appsettings.json)

Installation and Setup

  1. Clone the repository:

    git clone [https://github.com/Patryk-MM/Flashcards.git](https://github.com/Patryk-MM/Flashcards.git)
    cd Flashcards/Flashcards
  2. Configure the Database: Ensure your database connection string is properly set in the appsettings.json file.

  3. Apply Database Migrations: Before running the app for the first time, apply the Entity Framework migrations to build your database schema:

    dotnet ef database update
  4. Run the application:

    dotnet run

Usage

Upon launching, follow the on-screen console menus to:

  1. Navigate to the Stack Manager to create a new subject (e.g., "C# Fundamentals").
  2. Add flashcards to your new stack (Front: "What is a record?", Back: "An immutable reference type.").
  3. Enter the Study Session Manager to test yourself on a stack.
  4. View your past study session scores and reports!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages