Joedang / PATS

PSAS Asset Tracking System -- an experimental web app + database for not forgetting everything

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PSAS Asset Tracking System (PATS)

This is a web app made with Shiny.

You can find info about what the heck this thing is in PATSspec.md. That needs to be updated though, since it assumes everything will be done through a Google form, which can't do what I want. Also, since I'm writing the web app in R anyways, I might as well make the parser part of that, rather than have it be a separate script. (i.e., I'll just format and save the data when a session closes or something.)

Basically, index.yaml holds the condensed information on what projects exist and what assets they contain. data.yaml (or something similar, if R's yaml package doesn't do well with pathological inputs)(actually, it looks like the yaml package does a pretty decent job of escaping pathological crap, even emojis...) holds the observations of each asset event. (I already know CSV or something similar won't handle pathological inputs.) projects/ will hold the exploded markdown documents as described in the specifications.

What I mean by "pathological inputs" is this... Say my data storage format uses symbol x to markup the "message" field. There's nothing stopping someone from eventually putting that in their message, which they inevitably will.

Kenny advises that I don't store stuff as YAML, which seems like sound advice. I dunno if there's a good web service for hosting MySQL databases... I don't really want to store it in a Google sheet, lol. That kind of has similar problems to YAML, in that someone could accidentally edit it.

How to Setup

Right now, all you really need is R.
From the R console:

install.packages("shiny")
library("shiny")
setwd("YOUR_PATH/PATS/ShinyPATS") # YOUR_PATH is wherever you cloned this repo to
runApp()

This will start the R server and tell you what port to find it on. If it doesn't open a tab in your browser automatically (takes a few seconds), just go to localhost:####, where #### is the port it tells you. Use ^C from the R console to stop the server.

TODO:

  • standardize the naming of variables!
  • implement loadData() and saveData() functions. For now, these can just interface with a CSV. Later on, I'll swap those functions out for ones that interface with an SQL database or something.
  • Setup the sample index to include label extensions
  • auto-fill the label extension based on what's in the index
  • implement a submit button
  • put the form into a tab
  • make a tab for monitoring the data and another for the index
  • implement a function that reads through the data to generate an index
  • flesh-out skeleton functions in global.R

About

PSAS Asset Tracking System -- an experimental web app + database for not forgetting everything

License:MIT License


Languages

Language:R 62.2%Language:JavaScript 37.8%