Skip to content

mrchow330/Neighborhood-Safety-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

278 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Neighborhood Safety App

The neighborhood safety app is a community-driven software solution designed to enhance public safety and infrastructure management by providing residents with a platform to report and track local safety issues. See live web version here ➡️ https://neighborhood-safety-app.vercel.app/

Dependencies

This app uses the following technologies and libraries:

Frontend:

Backend:

  • express (for building the server and handling API routes)
  • mongoose (for connecting to and interacting with the MongoDB database)
  • dotenv (for managing environment variables securely)
  • cors (for enabling cross-origin resource sharing)
  • bcryptjs (for hashing passwords in the MongoDB database)
  • node-fetch (used in Node.js environments to make HTTP requests)
  • nodemon (for automatically restarting the server during development when file changes are detected) (optional)

Related Repositories

neighborhood-safety-backend

For more information about the backend repository, it can be accessed here.

Features

  • Straightforward Report Submission: Allows user to easily submit report information such as description, type, etc.
  • Image Upload: Users can upload images for their reports, which are stored in Cloudinary.
  • Public Reports Log: Users can view other people's reports.
  • Google Maps Integration: Users can select a location on the map or use their current location for reporting issues.
  • Report Submission: Reports are submitted with geolocation, issue type, description, and optional image.
  • Live Map: Displays all submitted reports with markers and status-based color coding.
  • User Authentication: Login and sign-up functionality with backend integration.

Installation & Setup

To set up and view the app on your local machine, follow these steps:

Prerequisites

  • Install Node.js (LTS version recommended).
  • Install Expo Go on a physical device (if you wish to preview the app on mobile).
  • Install MongoDB and ensure it is running locally or use a cloud-hosted MongoDB instance.
  • Create a Cloudinary account and set up an upload preset.
  • Obtain a Google Maps API Key.

Installation Steps:

  1. Clone this repository:

    git clone https://github.com/mrchow330/Neighborhood-Safety-App.git
  2. Navigate to the project directory:

    cd Neighborhood-Safety-App
  3. Install dependencies:

    npm install
  4. Set up environment variables:

    • Create a .env file in the root of the project.
    • Add the following variables:
      MONGO_URI=your-mongodb-connection-string
      CLOUDINARY_URL=your-cloudinary-upload-url
      GOOGLE_MAPS_API_KEY=your-google-maps-api-key
      
  5. Start the MongoDB connection:

    node server.js
    • Alternatively, check just this link to see if the server is running
  6. Start the Expo development server:

    npx expo start
  7. Open the app:

    • Scan the QR code in the terminal using the Expo Go app on your mobile device.
    • Alternatively, open the app in a web browser (by pressing w) or through an emulator.

Builds

The app is available as a web version using Vercel and is automatically deployed whenever there are new commits.

See live web version here ➡️ https://neighborhood-safety-app.vercel.app/

For developers, the latest Android builds can be accessed on the Expo Dashboard for the Expo Organization.

For more info on whether to build or just use Expo Go, see this article.

To build yourself, you must be a member of the organization and have an account set up.

Follow the instuctions below:

  1. Install EAS CLI if you haven't already
npm install -g eas-cli
  1. Install Expo CLI
npm install -g expo-cli
  1. Run the login command and follow the prompts to log in
eas login
  1. To start the Android build run
eas build --platform android

Once the build has started, you'll see progress in your terminal. Additionally, you can monitor the build status and logs from the EAS Build Dashboard through your account.

When the build is completed, you will get a link to download the APK or AAB file.

More Useful Documentation

The Developers

Team Prodigies

  • Eric Chow (Senior Biochemistry Major in Bradley University)
  • Wardiyah Rammazy
  • Caleb Ribeiro
  • Mason Breidenbach
  • Cailer Kellenberger

©(not really) 2025 Team Prodigies

About

The neighborhood safety app is a community-driven software solution designed to enhance public safety and infrastructure management by providing residents with a platform to report and track local safety issues.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors