Home
Softono

SMLib

Open source MIT Swift
63
Stars
9
Forks
1
Issues
5
Watchers
5 years
Last Commit

 About SMLib

SuperMemo SM2 Algorithm in Swift

Platforms

Web Self-hosted macOS iOS

Languages

Swift

Links

Need Help Installing SMLib?

We provide expert installation service for this software. Our team will install, configure, and secure SMLib on your server. plans start at just $30.

SMLib

Travis CI Code coverage status Carthage compatible CocoaPods Platform Swift 4.1

SMLib is a small library which implements SuperMemo SM2 Algorithm.

  1. Requirements
  2. Integration
  3. Usage
  4. Contributions
  5. License

Requirements

  • iOS 8.0+ | macOS 10.10+ | tvOS 9.0+ | watchOS 2.0+
  • Xcode 9+

Integration

CocoaPods (iOS 8+, OS X 10.9+)

You can use CocoaPods to install SMLibby adding it to your Podfile:

platform :ios, '8.0'
use_frameworks!

target 'MyApp' do
	pod 'SMLib'
end

Note that this requires CocoaPods version 36, and your iOS deployment target to be at least 8.0:

Carthage (iOS 8+, OS X 10.9+)

You can use Carthage to install SMLib by adding it to your Cartfile:

github "tosbaha/SMLib"

Swift Package Manager

You can use The Swift Package Manager to install SMLib by adding the proper description to your Package.swift file:

import PackageDescription

let package = Package(
    name: "YOUR_PROJECT_NAME",
    targets: [],
    dependencies: [
        .Package(url: "https://github.com/tosbaha/SMLib.git", majorVersion: 1),
    ]
)

Note that the Swift Package Manager is still in early design and development, for more information checkout its GitHub Page

Usage

import SMLib

let card = Flashcard(front: "Front", back: "Back")
let flashcardgrade = Grade.pass
let engine = SM2Engine()
let gradedCard = engine.gradeFlashcard(flashcard: card, grade: flashcardgrade, currentDatetime: NSDate().timeIntervalSince1970)

Please check Tests,Example and SuperMemo SM2 Algorithm page for the details of the algorithm.

Contributions

Contributions are welcome! Feel free to submit a pull request.

Credits

License

SMLib is released under the MIT license. See LICENSE for details.