diff options
-rw-r--r-- | LICENSE | 26 | ||||
-rw-r--r-- | README | 74 |
2 files changed, 100 insertions, 0 deletions
@@ -0,0 +1,26 @@ +BSD 2-Clause License + +Copyright (c) 2021, Frederick Yin +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + @@ -0,0 +1,74 @@ +JImbrella +========= +JImbrella (portmanteau of "JI Umbrella") is a suite of tools that track +a number of umbrellas at the gate of Long Bin Building (LBL), Shanghai +Jiao Tong University. This is an ongoing project managed by JI Belief, +the aim of which is to shield everyone's commute from unexpected +precipitation. + +Note that JImbrella is merely the software, and is independent from JI +Belief's project. It may be abandoned at any time should JI Belief find +a better competitor at tracking umbrellas. I, the developer of +JImbrella, is NOT affiliated with JI Belief except for the agreement to +develop, maintain and possibly provide sysadmin service for JImbrella. + +This is open source software licensed under BSD-2-Clause. + +Workflow +-------- +Here is an image of what JImbrella would integrate with the workflow at +version 1.0. + +For the time being, there are 20 umbrellas in service, each secured by +a physical lock on a umbrella stand. A respective key, which is held by +the security staff by default, is needed to unlock each one. + +Anyone who wishes to borrow one of the umbrellas must fill in a jForm +answer sheet asking for the information as follows: + +- Name +- Student/faculty ID +- Phone number +- Key number (must correspond to a lock with umbrella present) + +JImbrella will poll jForm for recent answer sheets, and update its own +database accordingly. If a person is found to have borrowed their +second umbrella or beyond, or if they are blacklisted (due to bad +records), an SMS will be sent via an online service to them, warning +them of their violation of the Honor Code - ahem, no, Terms of Service. +(We do this because there is no way to tell jForm to reject particular +answer sheets. However, because the interval between two polls cannot +be infinitely small, the SMS warning might be way past the security +handing over the key.) + +They will subsequently be handed the key to the lock, using which they +may temporarily possess and use the umbrella. The person is now called +a "tenant". + +The tenant may possess the umbrella for up to 3 days, which JImbrella +interprets as 72 +/- 1 hours. Over this period, the tenant must keep +the keys, with which to return the umbrella. + +In case the tenant has kept the umbrella past due, JImbrella will send +an SMS reminding them to return it. If no action is taken on the tenant +side for 48 hours, JImbrella will send a harsher SMS warning. The +details of JImbrella's social aspects are left to JI Belief. + +JImbrella provides a web console for the administrators of JI Belief, +on which to: + +- View or modify statuses of all umbrellas; +- View logs; +- View or modify the blacklist. + +Of course, the admins will have to be authenticated. Apart from a web +console, which I will try to make JavaScript-free, a REST API will be +available, some of its endpoints open to the public. + +Upon return, the tenant must hand over the umbrella and the key. Losing +or damaging either will lead to human intervention, and is out of scope +of JImbrella. Given both the umbrella and the key are intact, the +tenant must fill in another jForm asking the same questions as the one +above, to finish the cycle. + +This project is WIP. |