How mrdedede/kanjibenkyo works
Kanjibenkyo is an Angular kanji-study client with account access and a hosted API. Users can sign in or sign up, browse kanji by level, inspect a kanji and example phrases, and mark kanji as studied; the home view also distinguishes logged-in and logged-out states. The client’s HTTP service calls a hosted API, while the tree also contains a Python server entry point. The README is empty and the server implementation was not excerpted, so its relationship to the hosted API is uncertain; the graph shows only the server’s indexed utility import.
Main entry points: app-routing.module.ts Route table · login.service.ts Login service · http.service.ts HTTP service · kanji-card.component.ts Kanji detail
Components 21
Client shell
- App bootstrap
Client/src/main.ts - Route table
Client/src/app/app-routing.module.ts - App shell
Client/src/app/app.component.ts - Home view
Client/src/app/home/home.component.ts - Logged-out view
Client/src/app/home/not-logged/not-logged.component.ts - Logged-in view
Client/src/app/home/logged/logged.component.ts - Study sidebar
Client/src/app/home/sidebar/sidebar.component.ts - Header
Client/src/app/header/header.component.ts - About page
Client/src/app/about/about.component.ts - Not-found page
Client/src/app/page-not-found/page-not-found.component.ts
Accounts
- Login form
Client/src/app/login/login.component.ts - Signup form
Client/src/app/signup/signup.component.ts - Login service
Client/src/app/shared/login.service.ts
Kanji study
- Level list
Client/src/app/kanji-list/kanji-list.component.ts - Kanji detail
Client/src/app/kanji-list/kanji-card/kanji-card.component.ts - Kanji service
Client/src/app/shared/kanji.service.ts
Backend
- HTTP service
Client/src/app/shared/http.service.ts - Hosted API
- Python server
Server/main.py - User utility
Server/initialization/util.py
Other components
- Learner
Connections 21
- Learner → Route table: opens routes
Client/src/app/app-routing.module.ts - App bootstrap → App shell: bootstraps
Client/src/main.ts - Route table → Home view: routes to
Client/src/app/app-routing.module.ts - Route table → Login form: routes to
Client/src/app/app-routing.module.ts - Route table → Signup form: routes to
Client/src/app/app-routing.module.ts - Route table → Level list: routes to
Client/src/app/app-routing.module.ts - Route table → Kanji detail: routes to
Client/src/app/app-routing.module.ts - Route table → About page: routes to
Client/src/app/app-routing.module.ts - Route table → Not-found page: fallback route
Client/src/app/app-routing.module.ts - App shell → Login service: reads session
Client/src/app/app.component.ts - Home view → Login service: checks status
Client/src/app/home/home.component.ts - Login form → Login service: submits credentials
Client/src/app/login/login.component.ts - Signup form → Login service: submits account
Client/src/app/signup/signup.component.ts - Login service → HTTP service: delegates requests
Client/src/app/shared/login.service.ts - Level list → HTTP service: requests level
Client/src/app/kanji-list/kanji-list.component.ts - Kanji detail → Kanji service: loads kanji
Client/src/app/kanji-list/kanji-card/kanji-card.component.ts - Kanji detail → Login service: checks study state
Client/src/app/kanji-list/kanji-card/kanji-card.component.ts - Kanji service → HTTP service: delegates data calls
Client/src/app/shared/kanji.service.ts - Kanji service → Login service: uses account state
Client/src/app/shared/kanji.service.ts - HTTP service → Hosted API: calls API
Client/src/app/shared/http.service.ts - Python server → User utility: imports utility
Server/main.py