Trace was designed to help community safety through data visibility, especially for women and marginalized groups. Each report contributes to identifying unsafe areas, empowering individuals to make informed decisions.
Access it here: https://trace-6vjy.onrender.com/
Make sure you have the following installed:
- Node.js (v18 or newer)
- npm (comes with Node)
- Clone this repository:
git clone https://github.com/eshalkashif1/Trace.git- Navigate to the project directory:
cd Trace- Install dependencies
npm install - Run the program with the command:
node server.js- Go to: http://localhost:3000
- Two ways to report: click anywhere on the map or use the floating Quick Report button (uses your current location).
- Modern report modal: accessible dialog with an “✕” close button, date/time prefilled to now (editable), description with subtle accent styling
- View Reporting: Interact with the map to view reported incident locations and real-time community data
- Reports are anonymous
- Route search: plan safe routes and open curated routes in Google Maps.
- Color‑coded routes (best in blue, notable alt in orange) with tabs and hover tooltips.
- Each route is scored:
score = time (s)*ALPHA + risk*BETAwhere risk comes from nearby reports + Ottawa newss incidents.
- Light/Dark mode: applied to all pages, dialogues, and the interactive map when toggled.
- Consistent navbar across all pages (Map, About, Resources) with active tab highlighting and theme toggle.
- Live location tracking
- Privacy-preserving location blurring
- Resources and support links for impacted individuals
- OpenStreetMap API: For displaying interactive maps
- HTML5 Geolocation API: For detecting the user's live location
- Frontend: JavaScript, HTML5, CSS, Leaflet.js
- Backend: Node.js, Express.js
- Database: SQLite
- Hosting: Render
[Click R2 Tab] -> Open in Google Maps

