🌸 A fast and fun way to learn Japanese alphabets: hiragana & katakana. Don't wait - learn now!

Overview

The Sakurator Banner

Sakurator | Start learning 日本語 here

Sakurator (Website publish date: ~4-6 April '22) - a personal trainer for learning Japanese alphabets (hiragana & katakana). There are 18 sets of cards of 5-6 letters.

How to play?


Open one of them and start you game or change the alphabet using the switch above the cards! Sakurator will show you a letter and 4 possible pronunciations of it. Select the correct one. That's it! Simple and effective at once!


See that bar above? Fill it to complete the game, and you will earn one petal. Petals show your progress. You can track how many petals you earned at main menu - just under the name of card sets.



If you complete a game without mistakes, you will earn a bonus petal! To complete the whole course, earn all the petals needed for each card set!



It's completely free! Use it and get closer to your Japanese dream! Open the sakurator!


Technical information for employers

Sakurator is created in 4 days, where the first day was spent for designing. I used Express.js, Pug, Prisma ORM, Sass and Pure JavaScript to create it. I learned many things about Node.js, deploying and Git CLI.

Sakurator will being got updates until 1st of January '23 and bug fixes until 1st of March '23.

Comments
  • [SAK-OPT-3] Audio should be preloaded

    [SAK-OPT-3] Audio should be preloaded

    Issue information

    • Sakurator last version when issue was suggested: 1.0.0.2
    • Type: optimization (important)

    What is happened?

    Audio files are heavy. To deal with the pause between the play() function is run and the sound it actually plays, audio files can be preloaded.

    Difficulty for me

    So, if all the audios will be preloaded, I should add a kind of preloader or something.

    Probable issues

    Nothing!

    important optimization 
    opened by anafro 0
  • [SAK-OPT-2] Convert all .wav-s to .mp3

    [SAK-OPT-2] Convert all .wav-s to .mp3

    Issue information

    • Sakurator last version when issue was suggested: 1.0.0.2
    • Type: optimization (important)

    What is happened?

    WAV-files are loaded too slowly, because they are heavier than .mp3-s. So it would be better to convert them all to .mp3

    Difficulty for me

    Nothing :)

    Probable issues

    None!

    important optimization 
    opened by anafro 0
  • [SAK-OPT-1] Current petal count is laggy on mobile devices

    [SAK-OPT-1] Current petal count is laggy on mobile devices

    Issue information

    • Sakurator last version when issue was suggested: 1.0.0.2
    • Type: optimization (important)

    What is happened?

    Amount of petals that appears when user guesses the sound is too laggy on mobile devices.

    Difficulty for me

    Nothing :)

    Probable issues

    Less petals = less fun :(

    important optimization 
    opened by anafro 0
  • [SAK-BUG-2] Katakana 'ro' can be written in a better way

    [SAK-BUG-2] Katakana 'ro' can be written in a better way

    Issue information

    • Sakurator last version when issue was suggested: 1.0.0.2
    • Type: bug (important)
    • Fixed since 1.0.0.6

    What is happened?

    I should change katakana 'ro' to a right one - remove the bottom endings.

    Difficulty for me

    Nothing :)

    Probable issues

    Nothing :D

    bug important 
    opened by anafro 0
  • [SAK-BUG-1] Katakana 'mo' is written in a wrong way

    [SAK-BUG-1] Katakana 'mo' is written in a wrong way

    Issue information

    • Sakurator last version when issue was suggested: 1.0.0.2
    • Type: bug (important)
    • Fixed since 1.0.0.5

    What is happened?

    I should change katakana 'mo' to a right one - connect the vertical line to the top horizontal one.

    Difficulty for me

    Nothing :)

    Probable issues

    Nothing :D

    bug important 
    opened by anafro 0
  • [SAK-FEA-6] Add settings

    [SAK-FEA-6] Add settings

    Issue information

    • Sakurator last version when issue was suggested: 1.0.0.37
    • Type: feature

    Why this feature should be added?

    Customisation is must-have on services like Sakurator. So, in the settings should be:

    • Audio settings, such as volume of AFX, letter pronunciation volume, etc.
    • Dark mode
    • Visual effects (petal count and animations)

    Difficulty for me

    Settings should be saved somewhere. I think that UI settings should not be the same for each device, so they can be saved in cookies. But other settings can force me to implement an auth system

    Probable issues

    So, no, I cannot predict any issue yet that can come with this feature.

    enhancement 
    opened by anafro 0
  • [SAK-BUG-4] The mobile version of Sakurator is not responsible

    [SAK-BUG-4] The mobile version of Sakurator is not responsible

    Issue information

    • Sakurator last version when issue was suggested: 1.0.0.2
    • Type: bug (important)

    What is happened?

    Sakurator looks bad on mobile devices. I should improve the responsibility of that, especially the general page (the row cards)

    Difficulty for me

    I am not so good at mobile responsibilty. To be honest, I added @media queries just by testing out how it will look like, but I failed in some dimensions, e.g. on tablets.

    Probable issues

    None! It's CSS :)

    bug important 
    opened by anafro 0
  • [SAK-FEA-4] Create an auth system

    [SAK-FEA-4] Create an auth system

    Issue information

    • Sakurator last version when issue was suggested: 1.0.0.2
    • Type: feature (important)

    Why this feature should be added?

    Now statistics are saved in cookies. So this is both convenient and inconvenient at the same time. It would be cool to implement the auth system - this will help to save, update and restore the progress of learning the hiragana and katakana.

    An enhancement unside the enhancement

    Maybe to create one universal auth gate for it? Like 'Anafro ID' or something? It sounds crazy for me, but if I implement this, it'll open a big world for me - like subscription systems, global notifications and much-much more

    Difficulty for me

    So, it is a challenging one. I didn't implement the auth system from scratch. Maybe there is some simpler and safer solution for that?

    Probable issues

    So, many things can happen, but I can't predict yet

    enhancement important 
    opened by anafro 0
  • [SAK-BUG-3] 'Golos' font is not displaying

    [SAK-BUG-3] 'Golos' font is not displaying

    Issue information

    • Sakurator last version when issue was suggested: 1.0.0.2
    • Type: bug (important)

    What is happened?

    The font is not displaying in the website. So, I should add a font to the server and link it to CSS manualy

    Difficulty for me

    Nothing :)

    Probable issues

    None!

    bug important 
    opened by anafro 0
  • [SAK-FEA-3] Add test for all letters

    [SAK-FEA-3] Add test for all letters

    Issue information

    • Sakurator last version when issue was suggested: 1.0.0.2
    • Type: feature

    Why this feature should be added?

    How to ensure that all the letters are learned? The test with all letters will be perfect!

    Difficulty for me

    The /learn page is hardcoded to contain only the row letters, so this page should be generalized to contain any set of letters.

    Probable issues

    The routes should be rewritten to adjust a new system, so there may be some issuses, because current route system is hardcoded

    enhancement 
    opened by anafro 0
Owner
Anatoly Frolov
Hi! I am Anatoly Frolov. I am a junior programming engineer. I hope that code will save the world!
Anatoly Frolov
The simplest implementation of Golang channels, selects and wait groups

TypeScript Channels The simplest implementation of Golang channels, selects and wait groups Installation You can use one of the following package mana

Dimitar Ruskov 9 Dec 8, 2022
Japanese translation of vitejs.dev

Vite Docs JA Vite ドキュメントの日本語翻訳レポジトリです。現状、本レポジトリは翻訳作業用のものとして一時的に用意されています。将来的に、本レポジトリは別場所に移動される可能性があります。 貢献ガイド Vite 日本語翻訳ガイド を一読お願いします! はじめかた 本ドキュメントは V

vite 50 Dec 14, 2022
NAZAR TOOL ON UPDATEING WAIT SOME DAYS

ABOUT TOOL : NAZARi is an information collection tool (OSINT) which aims to carry out Basic Information. It provides various modules that allow effici

MR.NULL666 13 Jun 29, 2022
Demo for my talk "Stream Away the Wait" – a talk about making excellent pending experiences.

?? Stream Away the Wait When implementing the design of a user interface, we often finish before remembering that not everyone's running the app's ser

Kent C. Dodds 25 Nov 1, 2022
deno-ja (Deno Japanese community) showcase

Showcase Deno本家よりも気軽に作ったものを公開できるようなShowcaseです。 スクリーンショットの撮影方法 短めのidを決めていただいて、下記のようにスクリプトを実行してください。 deno task screenshot [url] [id] ※エラーが出る場合は、下記を実行してみ

deno-ja 17 Oct 28, 2022
They stole our free learn feature, so it's now time for an open source variant

Quizletbutfree This project was generated using Nx. ?? Smart, Fast and Extensible Build System Quick Start & Documentation Nx Documentation 10-minute

zerxal 2 Nov 13, 2022
🎨 Beautify your github profile with this amazing tool, creating the readme your way in a simple and fast way 🚀 The best profile readme generator you will find ⚡

Demo Profile Readme Generator The best profile readme generator you will find! About | Technologies | Requirements | Starting | Contributing ?? About

Mauro de Souza 476 Jan 1, 2023
Fast, Bun-powered, and Bun-only(for now) Web API framework with full Typescript support.

Zarf Fast, Bun-powered, and Bun-only(for now) Web API framework with full Typescript support. Quickstart Starting with Zarf is as simple as instantiat

Zarf Framework 65 Dec 28, 2022
🌌 Fast, in-memory, full-text search engine written in TypeScript. Now in beta.

Installation You can install Lyra using npm, yarn, pnpm: npm i @nearform/lyra yarn add @nearform/lyra pnpm add @nearform/lyra Usage Lyra is quite simp

NearForm 5.1k Dec 30, 2022
A fun and functional way to write regular expressions (RegExp)

funexp A fun and functional way to write regular expressions (RegExp). FunExp is a useful tool for larger projects that depends on RegExp to do heavy

Matheus Giovani 2 Feb 7, 2022
A fun way for people to share their favorite trips and destinations!

TRIP A fun way for people to share their favorite trips and destinations, and provide reviews for fellow travelers! Check out Trip at https://trip-des

Tyler 4 Jun 3, 2022
Fun way to share some of your (already) public StackOverflow user data to the internet.

ProfileOverflow A simple app leveraging StackExchange APIs to show some StackOverflow accounts information. Made for fun during a weekend as practice.

Jacky Efendi 5 Sep 14, 2022
Phaser is a fun, free and fast 2D game framework for making HTML5 games for desktop and mobile web browsers, supporting Canvas and WebGL rendering.

Phaser - HTML5 Game Framework Phaser is a fast, free, and fun open source HTML5 game framework that offers WebGL and Canvas rendering across desktop a

Richard Davey 33.4k Jan 7, 2023
A tiny, fast and fun static site generator for quick blogging

1POST A tiny, fast and fun static site generator for quick blogging. 1POST is written entirely in NodeJS and has no dependencies. You can install as a

Felippe Regazio 141 Dec 5, 2022
This Next.js app is designed to be used with the Figment Learn Pathways, to help developers learn about various blockchain protocols such as Solana, NEAR, Secret, Polygon and Polkadot!

???? What is learn-web3-dapp? We made this decentralized application (dApp) to help developers learn about Web 3 protocols. It's a Next.js app that us

t0nto 8 Oct 1, 2022
MySQL meets Jupyter notebooks. Grasp provides a new way to learn and write SQL, by providing a coding-notebook style with runnable blocks, markdown documentation, and shareable notebooks. ✨

A New Way to Write & Learn SQL Report Bug · Request Feature Table of Contents About The Project Built With Getting Started Prerequisites Installation

Lakshya 7 Sep 1, 2022
Catalogist is the easy way to catalog and make your software and (micro)services visible to your organization in a lightweight and developer-friendly way.

catalogist ?? ?? ?? ?? ?? The easy way to catalog and make your software and (micro)services visible to your organization through an API You were a pe

Mikael Vesavuori 11 Dec 13, 2022
JavaScript framework for creating beautiful, fast and lightweight websites based on flutter way of coding ☜(゚ヮ゚☜)

Welcome to Flutjs project ?? Flutjs is a javascript framework for creating beautiful, fast and lightweight websites. As the name suggests, Flutejs is

Filipe Lukebana 25 Nov 9, 2022
⏱ Simple Alpine.js plugin to display the human-readable distance between a date and now.

⏱ Alpine TimeAgo ⏱ An Alpine.js plugin to return the distance between a given date and now in words (like "3 months ago", "about 2 hours ago" or "in a

Marc Reichel 47 Dec 22, 2022