How bin0106/cnpm-24ct1-phantriduc works
UniLife is a student-life frontend for finding housing, food and entertainment, trading used goods, and accessing study materials. The user-facing flow enters a React SPA, browses these sections, opens listing details or contacts, and can save favorites; admins have listing and moderation tools. The repository contains multiple UniLife frontend copies, including a componentized demo, plus unrelated Java exercises that are not part of this product. The README documents local browser persistence; sampled excerpts do not expose its implementation, so storage links are documented rather than inferred from code.
Main entry points: App.jsx UniLife app · AdminView.jsx Admin moderation · src/main.jsx Demo entry · src/main.jsx Root entry
Components 21
App entry points
- UniLife app
unilife-demo/src/App.jsx - Demo entry
unilife-demo/src/main.jsx - Root app copy
src/App.jsx - Root entry
src/main.jsx - 24CT1 app copy
24CT1_PHAN-TRI-DUC/src/App.jsx - 24CT1 entry
24CT1_PHAN-TRI-DUC/src/main.jsx
Student discovery
- Housing search
unilife-demo/src/App.jsx - Food listings
unilife-demo/src/App.jsx - Used-goods market
unilife-demo/src/App.jsx - Entertainment listings
unilife-demo/src/App.jsx - Study resources
unilife-demo/src/App.jsx
Interaction and admin
- Listing details
unilife-demo/src/components/DetailModal.jsx - Contact and chat
unilife-demo/src/App.jsx - Favorites
unilife-demo/src/App.jsx - Authentication
unilife-demo/src/components/AuthModal.jsx - Location submission
unilife-demo/src/components/AddLocationModal.jsx - Admin moderation
unilife-demo/src/components/AdminView.jsx
Local data
- Sample listings
unilife-demo/src/data/mockData.js - Browser storage
Other components
- Student
- Admin or host
Connections 19
- Student → UniLife app: browses
- Admin or host → Admin moderation: reviews posts
- Demo entry → UniLife app: renders
unilife-demo/src/main.jsx - Root entry → Root app copy: renders
src/main.jsx - 24CT1 entry → 24CT1 app copy: renders
24CT1_PHAN-TRI-DUC/src/main.jsx - UniLife app → Housing search: shows
unilife-demo/src/App.jsx - UniLife app → Food listings: shows
unilife-demo/src/App.jsx - UniLife app → Used-goods market: shows
unilife-demo/src/App.jsx - UniLife app → Entertainment listings: shows
unilife-demo/src/App.jsx - UniLife app → Study resources: shows
unilife-demo/src/App.jsx - UniLife app → Listing details: opens
unilife-demo/src/App.jsx - UniLife app → Authentication: opens
unilife-demo/src/App.jsx - UniLife app → Location submission: opens
unilife-demo/src/App.jsx - UniLife app → Admin moderation: shows
unilife-demo/src/App.jsx - UniLife app → Sample listings: loads
unilife-demo/src/App.jsx - Student → Favorites: saves listings
- Student → Contact and chat: contacts poster
- UniLife app → Browser storage: persists state
- Admin moderation → Browser storage: updates listings