Skip to content

MarkusJLechner/wanki

Repository files navigation

wankilogo GitHub license GitHub stars GitHub forks GitHub issues Netlify Status

Wanki is an unofficial port of the already well known Anki and AnkiDroid open source spaced repetition flashcard system into JavaScript. They support Windows, Mac, Linux and Android. The iOS Version is not open sourced. AnkiWeb is already a web version of Anki, but it requires online connection and has a fairly limited feature set, plus is closed source.

Try it out: wanki.netlify.app


๐Ÿ“ฃ (Future) Features

  • Offline first
  • Dark/ Light mode
  • Installable as a Progressive Web App
  • Working with existing Shared Anki Decks
  • Seamless start reviewing direct in the browser
  • Use of modern JavaScript features

๐Ÿ‘€ Screenshots

githubheader

๐Ÿ‘ Motivation for Wanki

The code basis for Anki and AnkiDroid are python, rust or java. However, Wanki is a proof of concept of porting the official software into JavaScript with 100% offline support. And as it is a served online web page, updates are rolled out immediately when connected to the internet.

๐Ÿ‘จโ€๐Ÿซ What's the difference?

Wanki is not bound to any operating system, and that's why it looks and feels the same on every platform. Currently, it is in initial development and lacks many main features.


โœ๏ธ To-do's

  • Installable PWA
  • Import Anki files
  • Basic review functionality
  • Media overview
  • Card overview
  • Card Editor
  • Statistics
  • Replace all mock UI entries with functionality
  • I18n, localize in different languages
  • Hand-free mode
  • Add-on support
  • Anki file export
  • Online sync to different devices
  • Desktop adjustments
  • Introducing new features

โ›๏ธ Development notes

This project uses

Framework: Vue 3 with Vite

Styling: tailwind

Code style: eslint, prettier and stylelint

Database: dexie.js

For import sqllite.js and for zipping fflate

Simply pull the repository and run

npm install

or

yarn install

After installed, run

npm run dev

or

yarn dev

and go to http://localhost:3000


๐Ÿคฒ Contribution

First, thanks if you're considering contributing! But as my resources are limited to work on this project, and it is still not published to the public as Wanki is still a proof of concept, issues about bugs aren't currently helpful until the first release. However, improvements in form of pull requests are welcome ๐Ÿ’ฎ