Mobile app on Android and iOS that provides the user crime density heatmap, real time crime updates using SpotCrime API, and many more safety features.
- Team
- Demo
- Screenshots
- Initial Setup
- Seeding Databases
- Requirements
- Development
- WalkSafe Client
- Contributing
- Product Owner: Fredy-Edwin Esse
- Scrum Master: Rick Gallegos
- Development Team Members: Sonrisa Chen and Brian Kim
View a video of WalkSafe in action here
- Fork and clone the repo
- Download and install PostgreSQL and PostGIS
- Create walksafe database
- Enable PostGIS on walksafe database
- In your terminal from within the root directory of your WalkSafe Server folder:
npm install
npm start
Environment Variables WalkSafe Server requires a Mapbox Access Token and Spotcrime API key to use the Mapbox and Spotcrime API on the backend. For Auth0 authentication, WalkSafe requires Facebook and Google credentials along with their corresponding callback urls that the WalkSafe Client will receive and then use to query WalkSafe server. We have used the .env package, which allows environment variables to be set easily with the .env file in the root directory of the project. An example of the necessary variables for WalkSafe Server been provided here in this repo.
WalkSafe Server and Local Host A fair warning when connecting from the WalkSafe Client: Emulated Android devices on Android Studio and iOS devices on Xcode run their own local host so setting the WalkSafe Client environmental variables to route to localhost or 127.0.0.1 will have requests that never reach their destination. Use the appropriate IP address to connect to your WalkSafe Server.
- Add csv files to /db/csv/
- Change seed.js to reflect csv files added
- From within the root directory:
npm run seed
- Open up PSQL shell on local computer
- Connect to EC2 DB with team username and password
- Use \copy command to upload csv files into the EC2 DB
- Open up PSQL shell on local computer
- Connect to RDS DB with team username and password
- Use \copy command to upload csv files into the RDS DB
- SSH into EC2 DB
- Filezilla to drop new csv files into /var/www/WalkSafe-server/db/csv folder
- SSH into EC2 Server
npm run seed
- Node 0.10.x
- React Native 0.47.0
- Facebook Credentials
- Google Credentials
- WalkSafe Client
- PostgreSQL
- PostGIS
- PGAdmin
From within the root directory:
npm install
- Download and install PostgreSQL here
- Enable PostGIS extension during installation
- If this option does not pop up then download PostGIS here
- Download and install PGAdmin here
- Open PGAdmin
- On the left-hand side click on Servers
- Click on PostgreSQL to connect to PostgreSQL
- Right click on PostgreSQL
- Click Create
- Click Database and name it 'walksafe'
- Click Walksafe database
- Right click Extensions
- Click Create
- Click Extension
- Under the General Tab go to the Name field and select 'postgis'
- If PostGIS is not here try manually adding it in terminal:
psql -d walksafe -c "CREATE EXTENSION postgis;"
- If PostGIS is still undetected make sure you have downloaded and installed PostGIS
- Tables are located under Schema > Public > Tables
- Qgis
- Mapbox
- CSV files
- Seed
- PostgreSQL PostGIS
View the project roadmap here
View the WalkSafe Client repo here
See CONTRIBUTING.md for contribution guidelines.