Giter Site home page Giter Site logo

al-develop / smartvocabulary Goto Github PK

View Code? Open in Web Editor NEW
3.0 4.0 0.0 174.26 MB

Dictionary, filled with your own words and phrases, for many languages. Uses a SQLite DB.

License: GNU General Public License v3.0

C# 100.00%
mvvm openxml dictionary storage vocabulary csharp net wpf language customizable dict wpftoolkit sqlite3 spreadsheet text-to-speech speech-synthesis

smartvocabulary's Introduction

SmartVocabulary

This C# project is a vocabulary storage, where a user can enter all words he wants to memorize in any language he wants. It is like a self builiding vocabulary, where you can store for example, new words you learned in a language you are about to master. You can add Synonyms, Opposites and Examples to the words, and a simple text-to-speech mechanism let you listen to how to speak out the word. You have some limited possibilities to cusomize the Interface. And a simple Search Mchenism helps you to find words in your list.

The Code is builded up on the MVVM (Model View ViewModel) Pattern (Provided by the free NuGet Package DevExpress.Mvvm) It's planned to create options for Import and Export in Excel, PDF, CSV, Text and other formats and to add prin functionalitites. The storage is realized through SQLite 3.

It uses the .NET Framework 4.6 and C# 6.0. 3rd Party Libraries are:

  • DevExpress.Mvvm
  • Spreadsheet Light & OpenXML 2.5 (DocumentFormat.OpenXml)
  • PdfSharp & MigraDoc
  • Extended WPF Toolkit
  • System.Data.SQLite

Icons are from iconpharm.com

smartvocabulary's People

Contributors

al-develop avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

smartvocabulary's Issues

Export Wizard: checkbox "SelectAll"

When the checkbox was set, and then one of the langugaes deselcted, the main cbx should be deselected as well (or look like a square) - hat doesn't happen yet.

And when select all through context menu, it should selcted the main cbx as well, which doesn't work yet.

Export and Import

Export Functionalities don't work yet.
Excel and XML Export was coded, but not testet yet. Before creating a Version for daily use, it's better to modify the code, and remove the Ribbon Buttons for Export and Import from MainWindow.xaml

TO DO:

  • Test XML and Excel Exports
  • create Exports for PDF, Text and everything else
  • create all Imports

DB Import

It would be useful to be able to import a SQLite database to the current used database.
The classes are already expanded, what's missing is the core for importing (in DataAccess class).

TO DO:

  • write core DataAccess code.
  • For this, following decisions need to be made:
    • using 2 parallel SQL connections to 2 databases?
      • if using 2 parallel conncetions, it will be possible, to select from DB 1 and insert into DB 2 at once --> memory won't be used to a big extend
      • if using 1 connection at a time, it will be needed to select all data from DB 1 into memory, close that conneciton, open the connection to DB 2 and insert it. For a better clean up, the data inside the memory should be clenaned right away.

Printing

It's planned to add Printing Functionalities. Classes are already existing, but the core Code is not yet created.

TO DO:

  • write logic for printing a table with the entries of the selected language
  • ALTERNATIVELY: anothe option might be:
    1. create a PDF for the selected language in Windows temp folder
    2. use .NET printing to access this PDF and print it
    3. delete the PDF from temp.

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.