How adityadiya91-spec/parkwatch works
ParkWatch is a citizen-facing park-violation reporting app with separate admin tools. The main citizen journey is account/login, submit a report with location and evidence, then track it; admin screens support review and status updates. The sampled frontend uses a MockDB for report views and submissions, while the backend exposes report endpoints backed by SQLite. The excerpts do not establish that MockDB connects to those endpoints, so that connection is not shown. Other page capabilities are represented by their routes and filenames; their internal wiring was not sampled.
Main entry points: App.jsx Router and layout · MockDB.js Mock report data · AppContext.jsx Session context · pages Login and signup
Components 18
Application shell
- Router and layout
src/App.jsx - Session context
src/AppContext.jsx - Mock report data
src/MockDB.js
Citizen workflow
- Login and signup
src/pages - Citizen home
src/pages/Home.jsx - Report submission
src/pages/Reporting.jsx - Report tracking
src/pages/Track.jsx - Civic leaderboard
src/pages/Leaderboard.jsx - User profile
src/pages/Profile.jsx
Admin tools
- Admin dashboard
src/pages/Dashboard.jsx - Report review
src/pages/AdminReportView.jsx - Incident map
src/pages/Map.jsx - Data portal
src/pages/DataPortal.jsx
Backend and storage
- Express API
server/server.js - SQLite database
server/database.js - ParkWatch records
server/parkwatch.db
Other components
- Citizen
- Administrator
Connections 21
- Citizen → Router and layout: opens
- Administrator → Router and layout: opens
- Router and layout → Session context: provides session
- Router and layout → Login and signup: routes
- Router and layout → Citizen home: routes
- Router and layout → Report submission: routes
- Router and layout → Report tracking: routes
- Router and layout → Civic leaderboard: routes
- Router and layout → User profile: routes
- Router and layout → Admin dashboard: routes
- Router and layout → Report review: routes
- Router and layout → Incident map: routes
- Router and layout → Data portal: routes
- Session context → Express API: auth requests
- Login and signup → Session context: uses session
- Report submission → Mock report data: adds report
- Citizen home → Mock report data: loads reports
- Report tracking → Mock report data: searches reports
- Civic leaderboard → Mock report data: loads reports
- Express API → SQLite database: queries and writes
- SQLite database → ParkWatch records: persists records