How thinh263/project_website works
This is a React/Express note-management app with public notes organized by topic, password-gated private notes, and profile settings for display name, theme, and password. Users navigate the browser UI, which calls the API; the backend reads and writes JSON files. The principal CRUD and settings calls are visible in sampled source. Private-note editing behavior is only partially sampled, so the graph limits that branch to evidenced operations.
Main entry points: App.jsx Routes and layout · AppContext.jsx Profile state · Notes.jsx Topic notes · PrivateNotes.jsx Private notes
Components 12
React interface
- Routes and layout
FE/src/App.jsx - Profile state
FE/src/AppContext.jsx - Topic notes
FE/src/Notes.jsx - Private notes
FE/src/PrivateNotes.jsx - Profile settings
FE/src/Settings.jsx
API services
- Profile API
BE/server.js - Public notes API
BE/server.js - Private notes API
BE/server.js
JSON storage
- Profile JSON
BE/data/profile.json - Topic note JSON
BE/data/notes - Private notes JSON
BE/data/private.json
Other components
- User
Connections 15
- User → Routes and layout: navigates
- Routes and layout → Topic notes: routes to
- Routes and layout → Private notes: routes to
- Routes and layout → Profile settings: routes to
- Topic notes → Public notes API: CRUD requests
- Public notes API → Topic note JSON: reads/writes
- Private notes → Private notes API: auth and note requests
- Private notes API → Profile JSON: checks password
- Private notes API → Private notes JSON: reads/writes
- Profile settings → Profile API: loads/saves
- Profile API → Profile JSON: reads/writes
- Profile settings → Profile state: updates profile
- Routes and layout → Profile state: reads theme
- Topic notes → Profile state: reads theme
- Private notes → Profile state: reads theme