A web app that allows users to check their Codewars progress against a selected set of kata collections. Users can enter their Codewars username and view detailed completion statistics for each kata in the collections.
- Enter a Codewars username to fetch user data.
- Display completion status of selected kata collections.
- Handles shareable hash-based URLs (
https://app-url/#username
).
https://codeyourfuture.github.io/Codewars-Progress-Checker
Clone the repository and access index.html
from a server.
- The app runs entirely on client side.
- The server is needed because the app uses ES modules.
const kataCollections = [
{
name: "Collection Name",
acceptedLanguages: ["JavaScript"],
katas: [
{ id: "57eadb7ecd143f4c9c0000a3", name: "Abbreviate a Two Word Name" },
{ id: "55f9bca8ecaa9eac7100004a", name: "Beginner Series #2 Clock" },
...
]
},
...
];
name
- Display name of the collection (independent of Codewars collection name)acceptedLanguages
- An array of accepted programming languages for solving the katas in the collection- Case insensitive
- An empty array means any language
katas
- An array of katas. Each kata is an object with two properties:id
: ID of the kataname
: Name of the kata
├── README.md # This file
├── favicon.ico # Feel free to replace this
├── index.html # Main HTML page
├── package.json # (Optional) Needed only for executing the script in tools/
├── src
│ ├── css
│ │ └── styles.css # Styles
│ └── js
│ ├── app.mjs # Logic to deal with UI
│ ├── codewarAPI.mjs # AppData class + functions to fetch data from Codewars
│ └── kataCollections.mjs # Definition of kata collections
└── tools
├── README.md # Info about the script in this folder
└── getCollectionKatas.mjs # Extract katas from a Codewars collection page
- Vanilla JavaScript (ES modules)
- Codewars public API (no authentication required)