How manteshb2006/cipher-your-cybersecurity-journey works
Cipher is a local-first cybersecurity learning app: learners follow a phased roadmap and monthly topic/lab work, track projects and optional credentials, and review progress, notes, and career goals. The frontend’s progress provider calculates learning metrics and delegates persistence to local storage and optional revision-based account sync. The README documents search, bookmarks, portfolio, and other capabilities beyond the sampled page implementations; those appear as product areas, with wiring shown only where supported. Backend details are based on the partial server excerpt and README API description.
Main entry points: useProgress.tsx Progress provider · month/[id].tsx Month detail · useProgressStorage.ts Progress persistence · phase/[id].tsx Phase detail
Components 24
Learning roadmap
- Overview
frontend/app/(tabs)/index.tsx - Roadmap
frontend/app/(tabs)/roadmap.tsx - Phase detail
frontend/app/phase/[id].tsx - Month detail
frontend/app/month/[id].tsx - Topic detail
frontend/app/topic/[id].tsx - Global search
frontend/app/search.tsx - Learning content
frontend/src/data/roadmap.ts - Search index
frontend/src/data/search.ts
Practice and growth
- Practical labs
frontend/app/labs.tsx - Project trackers
frontend/app/(tabs)/projects.tsx - Project detail
frontend/app/project/[id].tsx - Certifications
frontend/app/certifications.tsx - Field notes
frontend/app/notes.tsx - Career and portfolio
frontend/app/career.tsx - Project content
frontend/src/data/projects.ts
App and progress
- Progress provider
frontend/src/hooks/useProgress.tsx - Progress persistence
frontend/src/hooks/useProgressStorage.ts - Device storage
frontend/src/utils/storage/index.ts
Account sync
- Authentication
frontend/src/hooks/useAuth.tsx - API client
frontend/src/lib/api.ts - Sync API
backend/server.py - MongoDB
- Managed sign-in
Other components
- Learner
Connections 31
- Learner → Overview: opens app
- Overview → Phase detail: continues roadmap
- Roadmap → Phase detail: opens phase
- Phase detail → Month detail: opens month
- Month detail → Topic detail: opens topic
- Month detail → Practical labs: tracks lab work
- Project trackers → Project detail: opens project
- Learner → Certifications: prepares
- Learner → Field notes: records notes
- Learner → Career and portfolio: plans career
- Learner → Global search: searches content
- Global search → Search index: filters results
- Learning content → Search index: indexes content
- Project content → Search index: indexes projects
- Overview → Progress provider: reads metrics
- Phase detail → Progress provider: updates checks
- Month detail → Progress provider: updates checks
- Topic detail → Progress provider: updates notes
- Practical labs → Progress provider: updates checks
- Project detail → Progress provider: updates status
- Certifications → Progress provider: updates records
- Field notes → Progress provider: updates notes
- Career and portfolio → Progress provider: updates profile
- Progress provider → Progress persistence: persists changes
- Progress persistence → Device storage: reads and writes
- Progress persistence → Authentication: gets session
- Authentication → API client: exchanges session
- Authentication → Managed sign-in: starts sign-in
- Progress persistence → API client: syncs progress
- API client → Sync API: sends requests
- Sync API → MongoDB: reads and writes