flashcard

package module
v0.3.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 24, 2022 License: MIT Imports: 7 Imported by: 1

README

flashcard

Description

A Go package for flashcard mainipulation and learning.

⚡️ The project is in rapid stage of development, issues and critics are welcome.

Features

  • verbose API
  • sqlite as a storage; others can be added via implementing storage.CardRepo and storage.DeckRepo interfaces

Table of contents

Getting started

See the documentation for further details.

Installation
go get github.com/k1gabyt0/flashcard
Usage

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Card

type Card interface {
	GetDeck() Deck
	GetDomain() domain.Card

	GetWord() string
	ChangeWord(newWord string) error

	GetTranslation() string
	ChangeTranslation(newTranslation string) error

	PutInDeck(deck Deck) error
	Delete() error
}

Card describes flashcard, stored in some deck.

type Deck

type Deck interface {
	GetDomain() domain.Deck

	GetName() string
	Rename(newName string) error

	ListAllCards() ([]Card, error)
	FilterCards(filterFunc func(domain.Card) bool) ([]Card, error)

	FindCards(word, translation string) ([]Card, error)
	FindCardsByWord(word string) ([]Card, error)

	AddCard(word, translation string) (Card, error)

	Clear() error
}

Deck is an interface that describes all opertions that deck of flashcards can do.

type DeckManager

type DeckManager interface {
	ListAllDecks() ([]Deck, error)
	CreateDeck(name string) (Deck, error)
	FindDeckByName(name string) (Deck, error)
	FilterDecks(filterFunc func(domain.Deck) bool) ([]Deck, error)
	DeleteDeckByName(name string) error
}

DeckManager is an interface that describes deck management.

func NewManager added in v0.3.1

func NewManager(storage storage.Storage) DeckManager

NewManager creates new deckManager with passed storage.

func NewManagerWithService added in v0.3.1

func NewManagerWithService(service service.FlashcardService) DeckManager

NewManagerWithService creates new deckManager with passed service.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL