Skip to content

Free platform that helps you learn hiragana, katakana, and kanji using customizable flashcards and interactive practice games.

Notifications You must be signed in to change notification settings

georgescutelnicu/Kitsuno

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kitsuno

Kitsuno Banner

Kitsuno is a free platform focused on helping you learn hiragana, katakana, and kanji. With features like customizable flashcards and engaging practice games, Kitsuno makes it easy to study and retain Japanese characters at your own pace. Whether you're just starting or looking to improve, Kitsuno offers interactive tools to enhance your kana and kanji learning experience.

Explore

Explore Kitsuno and its features through the links below:




Please note that it may take up to 50 seconds to start when first accessed, as I am using a free instance on Render.
This is due to the instance spinning down after a period of inactivity. Once it's warmed up, the loading times will be faster.

Hosted with Render

About

Kitsuno offers a range of useful features to help you learn and practice Japanese effectively:

  • Learn Kana and Kanji: Focused resources to help you master hiragana, katakana, and kanji characters.
  • Customizable Flashcards: Create your own flashcards to focus on specific characters or vocabulary.
  • Interactive Practice Games: Engage in fun and effective games to test your knowledge and reinforce learning.
  • Kitsuno API: Access endpoints for kana, kanji, and flashcards to enhance your personalized learning experience.
  • Jotoba API Integration: Discover real-world sentences and examples that help you understand word usage in context.
  • Completely Free: All features, tools, and resources are free to use with no hidden costs.

Technologies Used

Front-End Development: HTML, CSS, JS, Thymeleaf.
Back-End Development: Java (Spring Boot), PostgreSQL.
Containerization: Docker.
Deployment: Render.
API Docs: SpringDoc OpenAPI.
API Integration: Jotoba API.
Testing: JUnit5.

Kitsuno API

Authorization

All API requests require the use of a generated API key. You can find your API key or generate a new one in your profile tab after registering.
To authenticate an API request, you should provide your API key in the API-KEY header.

Headers Parameter Description
API-KEY api_key Required. Your Kitsuno API key.

Request Methods

Method Description
GET Used to retrieve a single item or a collection of items.
POST Used when creating new items.
PUT Used to update one or more fields on an item.
DELETE Used to delete an item.

Endpoints

Method URL Description Parameters
GET /api/hiragana Retrieve a list of all Hiragana characters. - / -
GET /api/hiragana/{romaji} Retrieve a specific Hiragana character by romaji. romaji (Hiragana romaji character)
GET /api/katakana Retrieve a list of all Katakana characters. - / -
GET /api/katakana/{romaji} Retrieve a specific Katakana character by romaji. romaji (Katakana romaji character)
GET /api/kanji Retrieve a list of all Kanji characters. - / -
GET /api/kanji/{id} Retrieve a specific Kanji character by ID. id (Kanji character ID)
GET /api/flashcards Retrieve all your flashcards. - / -
GET /api/flashcards/{flashcardId} Retrieve one of your flashcards by ID. flashcardId (ID of the flashcard)
POST /api/flashcards Create a new flashcard. Flashcard data (check API Docs)
PUT /api/flashcards/{flashcardId} Update an existing flashcard by ID. flashcardId (ID of the flashcard), Updated flashcard data (check API Docs)
DELETE /api/flashcards/{flashcardId} Delete a flashcard by ID. flashcardId (ID of the flashcard to delete)

HTTP Response Status Codes

Code Title Description
200 OK Successful request.
201 Created Successfully created a new resource.
400 Bad Request Invalid request or request parameters.
401 Unauthorized Unauthorized access. API key is missing or invalid.
404 Not Found Resource not found.
500 Internal Server Error Internal server error.

Examples

Kana(hiragana & katakana) response format:

{
  "id": 1,
  "character": "あ",
  "romaji": "a",
  "audio": "https://files.tofugu.com/articles/japanese/2014-06-30-learn-hiragana/あ.mp3",
  "mnemonic": "https://upload.wikimedia.org/wikipedia/commons/thumb/d/d9/01-A.png/500px-01-A.png",
  "story": "あ is an Astronaut.",
  "strokeOrder": "https://upload.wikimedia.org/wikipedia/commons/d/d8/Hiragana_%E3%81%82_stroke_order_animation.gif?20100306181611"
}


Kanji response format:

{
  "id": 2,
  "character": "日",
  "jlpt": "N5",
  "meanings": "day, sun, Japan, counter for days",
  "onyomiReadings": [
    "ニチ",
    "ジツ"
  ],
  "kunyomiReadings": [
    "ひ",
    "-び",
    "-か"
  ],
  "onyomiVocab": [
    "毎日 【まいにち】every day",
    "日光 【にっこう】sunlight",
    "翌日 【よくじつ】next day"
  ],
  "kunyomiVocab": [
    "日 【ひ】day,  days",
    "記念日 【きねんび】anniversary,  memorial day"
  ],
  "category": "Time",
  "strokeCount": 4
}


Flashcard response format:

{
  "id": 4,
  "kanjiCharacter": "日",
  "kanjiJlpt": "N5",
  "kanjiMeanings": "day, sun, Japan, counter for days",
  "onyomiReadings": [
    "ニチ",
    "ジツ"
  ],
  "kunyomiReadings": [
    "ひ",
    "-び",
    "-か"
  ],
  "vocabulary": [
    "まいにち every day",
    "にほんご japanese language",
    "いちにちじゅう all day long"
  ],
  "notes": "Whenever you see 日, remember this window with the sun shining through, starting a brand-new day."
}

Credits

License

This project is licensed under the MIT License.


Master the building blocks of japanese with Kitsuno, one character at a time!


About

Free platform that helps you learn hiragana, katakana, and kanji using customizable flashcards and interactive practice games.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published