Coder Social home page Coder Social logo

safer's Introduction

CodePath Android University Group Project

Safer

Table of Contents

  1. Overview
  2. Unit 12
  3. Product Spec
  4. Wireframes
  5. Schema
  6. Networking
  7. Technology
  8. Environment

Overview

Problem: As female college students, we often do not feel safe traveling at night and simply rely on our gut instincts or by word of mouth regarding which areas to avoid.

Solution: To solve this problem, our team developed Safer, an android app that displays nearby dangers in real time. Users are able to view all dangerous activities that have occurred near their location. Anyone in the community can help to alert others by signing into Safer and creating a danger post. Each posted danger has a details page with the date, time, location, description, and respective image or video.

Watch Presentation Video Here https://www.youtube.com/watch?v=We2zheGOxu8&feature=youtu.be

App Evaluation

  • Category: Safety
  • Mobile: This application will be a mobile solution.
  • Story: Students and local residents are now aware of crimes or dangers nearby. They have more control over their own safety.
  • Market: This app will be primarily targeted towards students that attend college.
  • Habit: Students will most likely use this app at night if they are walking alone, or during the day when they are notified of a nearby danger.
  • Scope: This project will enable students to see nearby dangers and be able to alert others of dangers they have witnessed.

Walkthrough Gifs

  • Demo Video - User Stories

Product Spec

1. User Stories (Required and Optional)

Required Must-have Stories

  • Users can log in to post a danger notice
  • All nearby dangers are displayed on a map
  • An aggregated list of dangers can be viewed
  • Each danger has a detailed page with the respective image or video

Optional Nice-to-have Stories

  • Navigation to safe locations such as police stations, hospitals, or other shelters

2. Screen Archetypes

  • Login Page
    • Map with pinned danger locations
    • Filter/Toggle danger types
  • Main Activity Page/Map
    • Map with pinned danger locations
    • Filter/Toggle danger types
  • Danger Posting Page
    • Address autocompletion
    • Get address by pin on map
    • Latitude/Longitude information
    • Post Pictures and Videos
    • Post with categories
  • Danger Viewing Page
    • Recycler view, with each row showing address, time, description
  • Danger Detail Viewing Page
    • Imageview / videoview
    • Description view
    • Comment view
    • Comment input
  • Profile Page

3. Navigation

Tab Navigation (Tab to Screen)

  • Map
  • Post Danger
  • Nearby Dangers

Flow Navigation (Screen to Screen)

  • Welcome Page
    • Main Map Page
  • Main Map Page
    • Nearby Danger Page
    • Post Danger Page (logged in)
    • Login Page/Register Page
  • Nearby Danger Page
    • Danger Details Page
  • Danger Details Page
    • Edit Danger Page
  • Post Danger Page
    • Danger Details Page
  • Profile Page
    • Main Map Page

Wireframes

[BONUS] Digital Wireframes & Mockups

Digital Wireframe -> https://github.com/ZhouXing19/Safer/tree/master/design/digital_wireframe.pdf

[BONUS] Interactive Prototype

Schema

Models

  1. Danger Schema

    Property Type Description
    category String danger's category
    description String danger description
    id String unqiue id of danger
    imageUrl String image url from Firebase storage
    latitude double latitude of danger
    location String location of danger
    longitude double longitude of danger
    time DateTime date and time this danger occured
    title String title of danger
    userId String unique id of user that created this danger post
  2. User Schema

    Property Type Description
    dangerid String id of danger the user posted
    email String user's email
    firstName String user's first name
    id String unique id of user
    imageUrl String user's profile image
    lastName String user's last name
    password String user's password

Networking

List of network requests by screen

  • Main Map Activity Screen
    • (Read/GET) Get all dangers from Firebase
      DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("Danger");
      // Attach a listener to read the data at our posts reference
      ref.addValueEventListener(new ValueEventListener() {
         @Override
         public void onDataChange(DataSnapshot dataSnapshot) {
             for (DataSnapshot snapshot: dataSnapshot.getChildren()) {
      
                 DangerHelperClass danger = snapshot.getValue(DangerHelperClass.class);
             }
         }
      }
  • Create Danger Screen
    • (Create/POST) Create a new danger
    • (Update) Update a danger
    • (Delete) Delete a danger
  • Profile Screen
    • (Create/POST) Add a new user to the database
    • (Read/GET) Get user's information
    • (Update/PUT) Update user's profile image

Technology

  • Java
  • Google Map API
  • Firebase
  • Adobe XD
  • Joda Time

Environment

safer's People

Contributors

molly34762 avatar ruolinzheng08 avatar zhouxing19 avatar

Watchers

 avatar

safer's Issues

Project Feedback!

Looks like you did not implement the following user story/ies:

  • Sprint Plan: GitHub Project Board created
  • Sprint Plan: GitHub Milestones created

We encourage everyone to complete all the required user stories for each assignment to demonstrate topic understanding. We hope you try to complete all required user stories indicated here or on the Course Portal assignment tab for future assignments.

App crashes on navigation

I could not seem to figure out the solution to this error.
java.lang.RuntimeException: Unable to pause activity {com.example.safer/com.example.safer.MainMapActivity}: java.lang.NullPointerException: Listener must not be null

Project Feedback!

Looks like you did not implement the following user story/ies:

  • Sprint Plan: GitHub Project Board created
  • Sprint Plan: GitHub Milestones created

We encourage everyone to complete all the required user stories for each assignment to demonstrate topic understanding. We hope you try to complete all required user stories indicated here or on the Course Portal assignment tab for future assignments.

Project Feedback!

Looks like you did not implement the following user story/ies:

  • Updated status of issues in Project board
  • Sprint planned for next week -- Issues created, assigned & added to project board

We encourage everyone to complete all the required user stories for each assignment to demonstrate topic understanding. While we won't be regrading this submission anymore, we hope you try to complete all required user stories indicated here or on the Course Portal assignment tab for future assignments.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.