Code Monkey home page Code Monkey logo

kumpeapps / kkid Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 1.0 1.06 GB

KKid is an app for parents and their children to keep up with chores and allowance. With this app parents can create child accounts and add chores to their profile. Kids can then login and see their chores and mark them off each day. By turning on the allowance feature parents can add/subtract money from the kid's allowance account (this is a virtual "account" to show the kids how much allowance they have, no money is actually exchanged within the KKid app, think of it as a notebook) and the kids can view this when they login as well.

License: GNU Lesser General Public License v2.1

Swift 86.97% Ruby 2.36% HTML 10.67%

kkid's Introduction

KKid

Codacy Badge

Codacy Security Scan iTunes App Store

Download on the App Store

KKid is an app for parents and their children to keep up with chores and allowance. With this app parents can create child accounts and add chores to their profile. Kids can then login and see their chores and mark them off each day. By turning on the allowance feature parents can add/subtract money from the kid's allowance account (this is a virtual "account" to show the kids how much allowance they have, no money is actually exchanged within the KKid app, think of it as a notebook) and the kids can view this when they login as well.

Support

Screenshots

Home Select User Login Allowance Chores Search Movies Movie Details
home.png selectUser.png login.png allowance.png chores.png searchmovies.png chores.png

Frameworks Used

  • Foundation
  • UIKit
  • CoreData
  • CoreText

Third Party Frameworks Used

Other Credits

Instructions

Login Screen

  • On the login screen you can enter your username/email and password then click login to access the application.
  • If you need to create a new Master Parent (household) account you may click on "New Parent Account"
  • If you have forgotten your password you may enter your username in the username field and click "Forgot Password" and a reset link will be emailed to you.
  • After login you will be taken to the Home Screen
  • Kiosk Mode is now available. Kiosk mode allows the iDevice to be used as a kiosk for all users under the account of the admin/master user logged in. Basically same as logging in as admin supplying access to all users under master account but without admin functions. To enable kiosk mode login as an admin user but with kiosk: in front of username. So username jane would be kiosk:jane.
NOTE: Child accounts and additional parent accounts for an existing household must be created after logging in as the master user or an admin user
  • DEMO Account
    • username: dev_kkid_master
    • password: LetmeN2it

Select Module Screen (Home Screen)

  • The "Select Module" Screen will be diffrent for each user.
  • You will always have Edit Profile which you can click on to edit that user's profile/permissions
  • Additionally there will be options for each module that the selected user has access to
  • Click on Edit Profile to edit the user's profile or click on the module name to access that module for the user
  • Current Module options are: Edit Profile, Chores, Allowance, Movies DB, and Wish List

Select User Screen (Click on your avatar in upper right for Select User Screen)

  • On the Select User screen you will see a list of users under your master (household) account.
  • If you are the master user (purple ring) or an admin user (yellow ring) then you may add an additional user/kid/parent/admin by clicking the plus symbol in the upper right corner of the screen
  • If you are the master user or an admin user tap and hold until icons wiggle then tap on user to delete the user. (NOTE: The master user can only be deleted once all other users have been deleted from the master account
User Type Ring Color
Master/Main Account Purple
Parent/Admin Yellow
Child Teal
Locked/Disabled Red

Add User Screen

  • Enter the new user's username, email, password, first name, and last name. Then click submit
  • NOTE: each user must have their own email address. We understand that some kids do not have their own email account. In this case you can use an email alias that is automatically build into all email accounts. To do this you just add + then the alias directly before the @ symbol of your email address. Example: if your email address is [email protected] and you need an email alias for jack then you can use [email protected]. Any email sent to [email protected] will be automatically forwarded to [email protected]

Edit Profile Module

  • To edit a the user's profile just change the information on the screen and click update in the upper right.
  • If you are the master or an admin user then you will have switches for each module/permission. To turn on the permission for a user just change the switch to on. To remove a permission from the user then you turn the switch to off. Do not forget to click update in the upper right to update the users permissions as well.
  • In the Push Notifications section you can customize which push notifications the user receives for modules the user has access too.
  • In the link accounts section you can link/re-link third-party accounts used by KKid.
  • To change your Avatar Photo you will need to create an account with Gravatar using the same email you used for KKid. KKid will then sync your new avatar within 24hrs.
  • Click on "Set Custom Background" to set your background to an image from Unsplash.com. The "high filter" parameter is automatically passed to Unsplash in attempt to filter out adult materials. The custom background will be saved to your iCloud so if you have iCloud disabled, the custom background will not be saved and will not display. This custom background will sync via iCloud to any device with the same iCloud account and will not be specific to your KKid user account.

Chores Module

  • In this module you will see a table listing the selected user's chores for the week.
  • To the left of the chore will be an icon indicating the status of that chore
  • To mark off (change status of) a chore just select the chore and the Mark Chore screen will appear.
  • If you are the master or an admin user then you may add a chore to the selected user by clicking the add button in the upper right corner of the screen to goto the Add Chore screen.
  • If you are the master or an admin user then you may delete a chore by swiping the chore to the left
Mark Chore Screen
  • On this screen you will see the options for marking the selected chore.
  • Possible options on this screen are a green check (chore is completed), a blue dash (chore does not need to be completed), and a red x (chore was not done)
  • Click on one of the markings (check,dash,x) to change the status of the chore.
  • Note: some chores can be restricted by the parent to block the dash button which may cause this button to not be available. Also if a chore is marked as an X then the X is the only option available unless you are the master or admin user.
Add Chore Screen
  • To add a chore to the selected user fill out the form and click submit in the upper right corner.
  • If block dash is turned on then the user will not be able to mark this chore as a dash (chore does not need to be done today)
  • If optional is turned on then this chore will be notated as optional on the chore list
  • If Any Kid is turned on then this chore will show up on all users under your master/household account that have the chore module turned on
  • Start Date is the date you wish this chore to start (Example: if today is Friday and you want to add a chore for next week then you may want to change the start date to next week)
  • If One Time Chore is selected then this chore will be on this week's chore list only and will be deleted at the end of the week. By default chores are carried over to the following week.
NOTE: the weeks start on Sunday (Central Standard Time Zone)

Allowance Module

  • This screen will display the user's current allowance balance
  • Clicking the ledger icon (open book) in the upper right will launch the Ledger screen which will show all of the allowance transactions for this user
  • Clicking the + icon in the upper right will launch the Add Transaction Screen
NOTE: The Allowance Module is for parents/kids to keep up with how much allowance they have so parents can give them a virtual allowance account instead of the kid keeping up with cash. The parent is the "Bank". No money is exchanged directly thru this app. It is only to keep track of how much allowance the parent "owes" the kid
Add Transaction Screen
  • On this screen you can add transactions (add/subtract) for the selected user's allowance. Just fill out the form and click submit
  • Master and Admin users may add or subtract allowance
  • Users that are not a master or admin may only subtract from their allowance account

Movies DB Module

  • This module will allow you to search movies and add them to a favorites or watch list. By clicking on the movie you can pull up the Movie Details Screen.
  • The tabs at the top will switch you between search, favorites, and watch list
  • TMDb account is required to utilize the favorites and watch list features and your TMDb account must be linked to your KKid account via Edit Profile
NOTE: If movie ratings limits/restrictions are configured on the device then KKid will remove any movies outside the allowed ratings from the search results. This will also remove any unrated movies from the search results
NOTE: It is recommended that you enable movie rating limits on your child's device before enabling this module

Movie Details Screen

  • This screen will show you details for the selected movie including Release date, overview, and rating
  • If available this screen will also play a trailer of the selected movie.
  • To replay the trailer you can click on the backdrop image.
  • Playing of movie trailers honors content restrictions on the device. Example: if a device is restricted to PG movies then the movies detail screen will not play movie trailers for movies rated above PG. NOTE: This restriction uses the movie rating as provided by TMDb. If a movie is not rated or there is no rating on file with TMDb then the trailer will not be restricted unless the rating restriction is set to Do Not Allow Movies.

Wish List Module

  • This screen shows a list of items on the kid's wish list.
  • Items may be added to the wish list by clicking the add (+) button in the upper right.
  • If a URL link is provided when adding the item to the list then that item will show a link icon in the list and when you tap on that item it will take you to the link to ensure there is no confusion as to what item the person wants.
  • The share icon in the upper right will allow you to share a link to your wish list with other people. The link is a web link so other users without KKid access may still view your list (like grandparents/friends/family).

REST API

REST API documentation is available at https://restapi.kumpeapps.com/v5/ui/#/KKid API access may be obtained by opening a support ticket

Managed App Config

This app is compatible with managed app config settings pushed from an MDM Server. The following is a list of managed app keys for KKid

Key Type Description
disableNewParentAccount Bool Disables the New Parent Account button
disableResetPassword Bool Disables the Forgot Password button
username String Pre-Populates the username field
lockUsername Bool Disables editing the username field
password String Pre-Populates the password field

Future Feature List

  • Add managed app config parameters
  • What's New Page
  • Gift wish list for the kids
  • Movie Search with movie ratings
  • TV Show Search with Ratings
  • Linking TMDb account for saving movies/tv shows to favorites and watch list
  • Share wish list with other people

kkid's People

Contributors

codacy-badger avatar dependabot[bot] avatar justinkumpe avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

kkid's Issues

## Enhancement- Add What's New Page

Enhancement- Add What's New Page

Add what's new page to modules and have it launch on app update


// @todo: Enhancement- Add What's New Page
// @body: Add what's new page to modules and have it launch on app update
import UIKit
import CollectionViewCenteredFlowLayout
import GoogleMobileAds


This comment was generated by todo based on a todo comment in 277bc42 in #3. cc @kumpeapps.

Originally posted by @todo in #3 (comment)

[FEATURE REQUEST] KPanel

*** Feature requested by a user***

Is your feature request related to a problem? Please describe.
Would like to add my home automation panel to KKid. KPanel system would be a perfect way to integrate.

Describe the solution you'd like
Add KPanel capabilities to KKid

Additional context
KPanel allows web based home automation panels to be displayed on touch screen of raspberry pi. The ask is for this tech to be integrated into KKid.

[BUG] iPad login screen in landscape slides up too far

Describe the bug
When iPad is in landscape mode and field is tapped, screen slides up too far for keyboard making fields not visible.

To Reproduce

Smartphone (please complete the following information):

  • Device: iPad Pro 9.7"
  • OS: iOS 15.6.1
  • App Version (found in app settings): 2.5.2
  • App Build (found in app settings): 68

Resolve Google AdMob Security Issue

URGENT need to pass AdMob creds to API_Credentials.swift. Also need to revoke existing AdMob Creds

  • Revoke existing AdMob Creds
  • Add new creds to API_Credentials.swift

Tags: URGENT, bug

Security Policy needs changed

Security policy needs updating to utilize ticketing system directly instead of posting a publicly viewable issue.

[BUG] Crashes in background

Describe the bug
App crashes in background

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • App Version (found in app settings): 2.5.4
  • App Build (found in app settings): 101

Additional context
Appears to have something to do with Core Data

Test

New bug reported in ๐Ÿ“ฑ K Kid iOS.
More details available on bug's link: https://app.shakebugs.com/kumpeapps/J0129X6Q/feedback/1

Tags
bug

screenshot.jpg

Granted permissions

ALL PERMISSIONS WERE EITHER DENIED OR NOT REQUESTED.


Reporter
anonymized

OS
iOS 14.4

Device
Simulator

App version
2.1.2 (2.1.2.1)

Network
Not available

Current view
HomeViewController


Timezone
America/Chicago

Locale
en-US


Battery status
Not available

Used storage
74% โ€ข 345.0 out of 465.6 GB

Authentication to unlock device
Required


Resolution
2532 โœ• 1170 px

Orientation
Portrait


Shake SDK version
14.1.3


Metadata
Not available

[FEATURE REQUEST] Add Medication Management to KKid

Is your feature request related to a problem? Please describe.
Would like to be able to manage medications for me and my kids within KKid

Describe the solution you'd like
Capability to keep track of my family's meds, med reminders, med logs, and how may pills are left.

[BUG] Default images on new install not loading

Describe the bug
Default images on new install not loading

To Reproduce
Steps to reproduce the behavior:

  1. Install fresh copy of app
  2. Signin

Expected behavior
After signin from fresh install background and logo should load to default

Screenshots

Smartphone (please complete the following information):

  • Device: iPhone XR
  • OS: iOS 14.2
  • App Version (found in app settings): 2.0.8
  • App Build (found in app settings): 2.0.8.1

Additional context

[BUG] Terms of Service banner is blank

Describe the bug
Terms of Service banner is blank

Smartphone (please complete the following information):

  • Device: iPhone X
  • OS: 16
  • App Version (found in app settings): 2.5.4

[BUG] iPad Login in Landscape Mode

Describe the bug
When iPad is in landscape mode and field is tapped, screen slides up too far for keyboard making fields not visible.

To Reproduce

Smartphone (please complete the following information):

  • Device: iPad Pro 9.7"
  • OS: iOS 15.6.1
  • App Version (found in app settings): 2.5.2
  • App Build (found in app settings): 68

[BUG]

TMDb linking not working after newest release.

Need to add About/Credits page

Need to add About/Credits page. This is an urgent issue as some icons used require accreditation. This was an oversight in previous builds.

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.