Git Product home page Git Product logo

beancount's Introduction

BeanCount

This app was designed for iD Tech Bean Count. Given a list of names from different locations, the students can be toggled on or off depending on if they are in attendance or not. It allows users to login and select a location. Then they can see the students at this location and their attenance details.

As a back-end, this app uses a Firebase database for user accounts and database information.

Instalation

To install, clone the repo and run in xcode on your iDevice. Requires an Apple developer account.

Usage

To use this app, create an account and log in. Then simply choose a location of camp, or create a new one, then view the students. Users can add and delete students, as well as mark them absent. These changes are reflected on all devices connected to the location.

Contributions

Feel free to fork this repo and add what you'd like to see or use any of the code you wish. Plans are to make this repo private at some point in the future.

Feel free to submit a pull request as well if you make some super extra awesome feature :D

History

This app is still in its infancy. The user can create an account on the device and change some settings, such as their location. The students list populates, but with dummy data.

Credits

The basic idea of this app came from Snuggles, with a design concept from Lion-O.

beancount's People

Contributors

gcrevell avatar

Watchers

James Cloos avatar

beancount's Issues

Lost password recovery

Implement the lost password view controller from the login screen to allow for a lost password recovery.

The current Lost Password link at the bottom of the login view takes the user to a blank view controller and has no features to actually recover lost passwords. This is not the desired functionality for this feature. The view must be populated and appropriate calls to Firebase to actually allow the recovery of a password.

Allow deselection of students

Allow students in the list to be deselected when they are no longer a part of bean count.

When the user is in editing mode on the student table view, allow the user to select or deselect students on the bean count app as they enter or exit bean count. This data should be uploaded to Firebase such that the change is reflected on other devices.

Create loading page

Concurrency errors cause the student table view controller to load before any information about the user selected location is entered.

Need to load the location during login. Load the user's selected location from Firebase and then load that location's data. This must be done before the app segues into the student table view.

Settings button always visible

In the student table view, when editing the data, the settings button remains visible. When the table view begins editing, the button should disappear.

img_1797

Fix login crashes

Currently, if logging in to an account that has no selected location or, for some reason, the account settings don't exist in the database, the app will crash.

The fix is to check if the values exist. If not, respond appropriately.

Resize images

All images need to be resized to the size they will be used at. I believe that for the moment, all images are in 24p x 24p. All images need to be checked and resized to save space and optimize performance.

Create students

Implement the add student button that appears when the student table view is in editing mode.

Currently, the add button has no associated action. It should instead open a new view controller that has the fields appropriate to defining the values for that student. For now, just the student name.

After the user has added a student, which is only possible in the event they have a location currently selected, the students information should then be uploaded into firebase under the current location.

Each student should have a unique ID that defines them, as well as their name and current location in bean count. A deleted student should then be marked in the database as deleted.

Allow deletion of students

After adding a student, the student should be able to be deleted. This will allow students who drop, etc. to be discarded. The bean count numbers of the others should remain unchanged.

In the editing mode, the user should be able to swipe right on a student in the table view and select the student for deletion. This marks the user for deletion in the database and ensures the data will not be displayed.

As an extension, the user should also be able to delete all the students in the current list. This marks them all for deletion.

Add student view

Add the ability to view the entered information about a student. When the student is selected in the table view, it should take the user to another view that displays the information entered in the tags when creating a user. It should also allow editing.

Load students

Need to load the students in the current location list and populate the student table view with them.

Download the list of students for the current location. The students marked for deletion shouldn't be loaded and the remainder should be loaded in bean count order. They are then loaded into an array for displaying into the table 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.