Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

C++ Dictionary & Leitner System

A feature-rich command-line dictionary application built with modern C++ (C++11). The system supports Role-Based Access Control (RBAC) for Admin and User roles, dynamic vocabulary suggestions, custom definition mappings, and an integrated Leitner Box learning mechanism for effective flashcard-style study.


Core System Features

Role-Based Capabilities

Role Access Level Available Actions & Capabilities
Admin Privileged Full CRUD operations (Add, Edit, Delete), review user vocabulary suggestions, and inspect global dictionary records.
User Standard Search terms, submit word suggestions, attach custom meanings, and manage personal Leitner learning boxes.

Integrated Leitner Box Learning

The application incorporates a Leitner box algorithm, enabling users to shift vocabulary entries into spaced-repetition study queues to maximize memory retention and long-term learning.


Data Architecture & Persistence Schema

Vocabulary records and associated definitions are persisted locally via words.txt using a key-value delimited format:

word : meaning1, meaning2, meaning3
Component Format Constraint Description
Term Key Plain text string Primary index key for dictionary lookups
Delimiter : Separates the target term from its definitions
Meanings Comma-separated list Multi-value definition strings mapped to the primary term

Default Administrative Credentials

For initial configuration and testing, log in with the following default admin credentials:

Parameter Value
Username Admin
Password Admin

Compilation & System Requirements

Platform Requirements

*OS: Windows (uses Windows console routines) *Compiler: Any C++ compiler supporting C++11 or higher (g++, MSVC, Clang).

Building the Project

Compile the source code into an executable binary:

 Compile using GCC
 g++ main.cpp -std=c++11 -o dictionary

 Run executable (Windows)
 dictionary.exe

Usage Workflow

  1. Initialization: Ensure words.txt is present in the working directory alongside the compiled binary.
  2. Authentication: Select either Admin or User login mode at start.
  3. Admin Operations: Access management options to curate vocabulary or approve user-submitted terms.
  4. User Operations: Search terms, add custom definition overlays, and push difficult words to the local Leitner learning pipeline.

About

A C++ console-based dictionary system featuring role-based access control (Admin/User), Leitner box learning logic, and file-based data persistence.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages