GithubHelp home page GithubHelp logo

qlmgg / dictionary Goto Github PK

View Code? Open in Web Editor NEW

This project forked from anganda/dictionary

0.0 0.0 0.0 86 KB

An Application for Advanced Programming Methods Course with C# and WPF (.NET Framework)

C# 100.00%

dictionary's Introduction

Dictionary Application

Overview

The Dictionary application is designed as an educational tool to enhance vocabulary through interactive learning. The application is built using Windows Presentation Foundation (WPF) following the Model-View-ViewModel (MVVM) architectural pattern to ensure a clear separation of concerns and improve maintainability. It provides users with a unique learning experience through its distinct modules: Administration, Viewing, and Entertainment (Quiz).

Modules

1. Administration

The Administration module is intended exclusively for administrators. It provides CRUD (Create, Read, Update, Delete) operations for managing the words in the dictionary. This feature allows the administrator to maintain the content and ensure it remains relevant and up-to-date.

Features:

  • Add new words with their definitions, synonyms, and examples.
  • Edit existing words to update their definitions, synonyms, and examples.
  • Delete words that are no longer relevant or correct.
  • View a list of all words for easy management and review.

image

2. Viewing

The Viewing module is accessible to all users. It allows users to browse through the dictionary and explore the words, their meanings and a representative image for the word.

Features:

  • Browse words in alphabetical order or through a search function.
  • View detailed information about each word including its definition, category or associated image.

image

3. Entertainment (Quiz)

The Entertainment or Quiz module provides a fun way to learn new vocabulary. The application selects five words at random, and the user must guess the word based on its description or an image.

Features:

  • Interactive quiz format to test knowledge and retention.
  • Hints provided through descriptions or images to aid in guessing the words.
  • Score tracking to motivate users and track progress over time.

image image

Technical Details

The application leverages the Windows Presentation Foundation (WPF) framework, employing the Model-View-ViewModel (MVVM) pattern for a clean separation of the UI from the business logic. Persistence is handled through JSON serialization, allowing for easy data storage and retrieval.

Key Technologies:

  • WPF: Provides a robust framework for building rich desktop applications.
  • MVVM: Enhances testability and maintainability by separating the application's logic from its presentation.
  • JSON Serialization: Ensures easy and efficient data storage and management.
  • Repository Pattern: Provides a mechanism to read data from the JSON file

Getting Started

To get started with the Dictionary application, follow these steps:

  1. Clone the repository to your local machine.
  2. Open the solution in Visual Studio.
  3. Build the solution to resolve any dependencies.
  4. Run the application to start exploring and learning new words.

dictionary's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.