How git-x0/habit_tracker works
Habit_Tracker is a single-page habit manager for creating and organizing positive and negative habits, recording daily completions, and reviewing history as calendars, charts, and streaks. The main flow is user interaction through the app shell and habit tabs, with habit updates handled by shared data state and persisted in browser local storage. The app also supports JSON import and export. The README documents the product capabilities; component composition beyond explicit imports is inferred only where noted with unverified edges.
Main entry points: app.ts App shell · data.service.ts Habit data service · habits-tab.ts Habit type tabs · habit.ts Habit card
Components 15
Application shell
- Application bootstrap
Habit_Tracker/src/main.ts - App configuration
Habit_Tracker/src/app/app.config.ts - Router setup
Habit_Tracker/src/app/app.routes.ts - App shell
Habit_Tracker/src/app/app.ts
Habit management
- Habit type tabs
Habit_Tracker/src/app/habits-tab/habits-tab.ts - Habit list
Habit_Tracker/src/app/habits-list/habits-list.ts - Habit card
Habit_Tracker/src/app/habit/habit.ts - Habit form
Habit_Tracker/src/app/habit-form/habit-form.ts
Progress insights
- History calendar
Habit_Tracker/src/app/habit-calendar/habit-calendar.ts - Progress graph
Habit_Tracker/src/app/habit-graph/habit-graph.ts
Habit state and persistence
- Habit data service
Habit_Tracker/src/app/data.service.ts - Habit model
Habit_Tracker/src/app/habit.model.ts - Browser local storage
Data transfer
- Import stepper
Habit_Tracker/src/app/import-stepper/import-stepper.ts
Other components
- User
Connections 19
- User → App shell: uses
README.md - Application bootstrap → App shell: bootstraps
Habit_Tracker/src/main.ts - Application bootstrap → App configuration: configures
Habit_Tracker/src/main.ts - App configuration → Router setup: provides router
Habit_Tracker/src/app/app.config.ts - App shell → Habit type tabs: includes
Habit_Tracker/src/app/app.ts - App shell → Habit form: includes
Habit_Tracker/src/app/app.ts - App shell → Import stepper: includes
Habit_Tracker/src/app/app.ts - App shell → Habit data service: exports and imports
Habit_Tracker/src/app/app.ts - Habit type tabs → Habit data service: reads and updates
Habit_Tracker/src/app/habits-tab/habits-tab.ts - Habit type tabs → Habit list: uses
Habit_Tracker/src/app/habits-tab/habits-tab.ts - Habit list → Habit card: renders
Habit_Tracker/src/app/habits-list/habits-list.ts - Habit form → Habit data service: adds habit
Habit_Tracker/src/app/habit-form/habit-form.ts - Habit card → History calendar: uses
Habit_Tracker/src/app/habit/habit.ts - Habit card → Progress graph: uses
Habit_Tracker/src/app/habit/habit.ts - Import stepper → Habit data service: updates habits
Habit_Tracker/src/app/import-stepper/import-stepper.ts - Habit data service → Browser local storage: reads and writes
Habit_Tracker/src/app/data.service.ts - Habit data service → Habit model: uses
Habit_Tracker/src/app/data.service.ts - Habit type tabs → Habit model: uses
Habit_Tracker/src/app/habits-tab/habits-tab.ts - Habit card → Habit model: uses
Habit_Tracker/src/app/habit/habit.ts