This repository has been archived by the owner on Sep 4, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
nsip/HITS-API
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
***DEPRECATED (RETIRED)*** *This repository is obsolete and retired (archived). This is an unmantained repository. In particular, note that it is not being updated with security patches, including those for dependent libraries.* URGENT TODO: Self Help * Which user - make sure it is using the logged in user, else redirect * Developer Dashboard - Each app needs to link to the developer dashboard automatically (which includes client) STRUCTURE: HITS - This is the main database - the central system in this case. VENDOR - A vendor is here to group a set of apps together and give them control. SIS - Student Information System - Technically could point to anything - Currently it is just which DATABASE on our server - Think of this as either a SCHOOL or a DISTRICT - the SIS. - Vendor - Optional owner of this SIS - to allow updates/replacing. PERMISSIONS - Set of permissions (templates, or more specific, can change over time) APP - Application that belongs to a vendor - Connected to a SIS - Connected to Permissions - THEREFORE vendor needs to create new APP for Each SIS connected to (this could be tweaked in the future to allow a 1:many relationship, but too hard now) APP_LOGIN - Provide a login for an app - Login & Password (or what ever fields required) for a SIF login - Which SCHOOLS they can access (we now have support for schools - 1 or more) - NOTE: We do not actually store which schools yet, this may be a mistake though, but this is central and it technically knows nothing about schools. Vendors are easy - they login as a vendor and can manage their apps. There might be rules about which SIS they can link to, or which permissions they can choose, but basically they are single users logging in and managing the apps. Principals - these are a little tricker. Since the principal is really logging in via their SIS. Once they are logged in there (this doesn't actually exist yet) they could now see the APP that are associated with their SIS and grant approvals. This last part will require a few new tables to manage the schools and the groups or other rules based on lists of students. NOTES: Limited API assumed from a specific Vendor Login. - ONE Login per Vendor ??? - API: /tags Manage arbitrary tags against a user Types of tags (e.g. ... * POST tag to current user ? * /edit ? /metadata ? /vendor ? VENDOR PROFILE: Name & Logo Address, About Us ? APPLCATIONS: /app GET List my apps POST Create a new app /app/:id GET Get an entry PUT Update DEL Delete * id Automatically generated * name Short name - useful in URLs etc. Unique to this Vendor * title Title of the application * description Full description * site_url Site URL * about Optional URL about this application * tags Tags, such as category * icon Optional URL for the Icon * public Yes / No * APP Permissions - list... * List of SIF Objects or * * Which objects you can READ/WRITE * Which fields you can READ/WRITE in an object * (maybe) Which queries you can execute ??? PERMISSIONS APP /tour ... SCHOOL APP: Join from School to App * School ID * Application ID * DateTime * Members = "*" - Static, whole school now STATS: Histagram display Number of times users have hit app /usage * Date/Time * Vendor ID * Action = ??? * App ID * Which zone / School (Zone ID) SCHOOL / PRINCIPAL /school/app List apps configured for the school POST Enable new app - can be existing or local new QLD: Levels... DATA FLOW CREATE NEW VENDOR * Login using REMOTE_USER * Create Vendor matching REMOTE_USER * Create School matching REMOTE_USER JAVASCRIPT? * School App - List Applications marked Public (or my own) - POST /school/:id/app app_id Alternative to documentation Swagger https://github.com/devo-ps/carte http://devo.ps/carte/