Code Monkey home page Code Monkey logo

didilockmy's Introduction

DidILockMyDoor

CodeFactor

didilockmy's People

Contributors

dependabot-support avatar dependabot[bot] avatar szymczakk avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

didilockmy's Issues

Add many language files

  • setup langualge autodetection
  • add file for each language set in User Story "Localization"

App state widget

As a user I want to see on my main screen the state of the app (door).

Add "add lock" button

  • in the right upper corner add the "+" button
  • on click show (display new or just change) "the lock" for the new one
  • set the coursor and display the keyboard to allow the user to name it
  • add this lock to the list on the bottom

Create custom notification settings view

  • make new view for notification settings
  • add it to the navigation
  • add a "+" sign that will add notification
  • notification on the list should have a "free text" (up to 50 chars long) that let user write what he/she want to see
  • notification on the list should have a "time - picker" that let user set the hour that he want to see this notification

Clicking on "lock the door" does not save state of the door.

Steps to reproduce:

  1. Open app (accept ToS if needed)
  2. Click "Zamknij drzwi" button.
    2.1 Big status text changes from "Drzwi otwarte!!' to "Drzwi zamknięte :)"
  3. Close the app.
  4. Start the app again.

result: Status is "Drzwi otwarte!!" again.
should be: Status should be "Drzwi zamknięte :)"

Allow user to change the name of the lock

  • above the lock show the name of the lock (default: "Lock")
  • after click on this text user should see the keyboard and be able to change the name of the lock
  • show small "Save" button under the name on the right side of the screen
  • after click on "save" button save the name

Create main screen

On the main screen we should display info about state of the lock and button to change it

  • Add component that display the state of an lock
  • add button component that let us change the state of the lock
  • after click on the button state should be changed
  • add AsyncStorage as a place to store state of the lock

Custom locks

As a user I would like to have an option to add different "locks" to app, and see if I locked them or not.

Add app settings file

Add file where in json format will be stored some default application settings like:

  • splash screen timeout
  • default language if not recognized from phone

API

As a product owner I would like to be able to change the application state through "API", from external services.

Notification sending

  • notification should be sent to the user based on the settings provided in the "notification settings view"

Should be done after #25 and #26

Add "Shortcut lock picker view"

  • create new view "shortcut lock picker view"
  • add it to navigation
  • display list of all lock
  • allow to choose 3 that state could be changed through shortcut from the app

Create settings screen

  • Add setting button in header (exampe: setting icon)
  • Add setting screen
  • Add "About us" button
  • Add "How to use" button
  • Add "Rate us" button

Add app loading module

We need a module, that will load the app.
right now: determine if ToSScreen or MainScreen should be shown

  • add loading module
  • read if ToS is accepted
  • compare when ToS was accepted
  • set ToSScreen as default one in navigation if ToS was accepted before last ToS update, or if was not accepted
  • set MainScreen in other situation

Configure navigation

Navigation should be configured in a way that let you determine what happened.

ToSScreen and MainScreen shoud be somehow entry point, that are determined during app loading, then from them next screens shoud be available.

(example: setting screen shoud not be available from ToSScreen)

Add "change the lock" button

  • add "Change the lock" button on the very bottom of the screen
  • on click display dropdown with the list of locks
  • after click on given lock, change the data on the screen

App state reset

As a user I want to be able to set a timer/hour when the app change it's state to door closed.

Add notification system

App should be able to send notification to the user.

Notification should be sent based on setting set in SettingsScreen.

In notification we shoud display to the user, that it is shown because of the setting and because he/she set the door locked and we should ask if we want to set it to open.

  • add notification permission

Related tasks:

Create loading screen

  • During loading the screen application has to determine if the newest ToS is accepted, if so display Main screen, if not, display ToS screen as first.

Home WiFi

As an user I want to make app show notification when it "disconect" from my "HOME-WIFI" (to be set in settings) if I closed the door and when it connects if I opened it.

NFC

As a user I want to be able to change the application state through NFC programmable tag.

ToS

As an admin I want the very first screen to be the ToS accept screen.

Add travis-ci test running

We need some test running CI, like travis. It should be added as fast as possible, but some research should be done what to do with Expo (maybe it will be added after leaving Expo).

Add notification settings to settings screen

User should have a possibility to set if he want to have notification sent and what time

  • add checkbox with "I want the notificiations" that enables notification section in settings
  • add predefined notificaiton section called "Notification"
  • add "ask if I closed the door" button that sets the notification "Did you remember to close the door?" at a given time
  • add "ask if I opened the door" button that sets the notification "Did you remember to open the door?" at a given time
  • add "custom notification settings" button that is enabled/disabled based on checkbox with premissions to send notification. this button should navigate to custom notification view

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.