I wanted a program I could use from a Dropbox of Drive that I could do journalling in securely, still be able to customize, and relatively easily access the date for data science analysis. Please take a moment to marvel at how beautiful my front end coding is /s
But most importantly, I wanted it to be fast to fill out
- The application lets you set any variable to have a default value to load, load the previously submitted value, or have no default. If you already have data for that day, it will load that data
- You won't need to take you hands off the keyboard, type in your selection or choose it with your arrow keys then tab to the next value.
It currently uses Fernet encryption for stored values, but I may change that later, I haven't done too much research on Python encryption but it seems suggested..
#Entry Philosophy You have a few different methods of entry for your journal, here are my thoughts for the use of each
- StringField - For short, text entries. Word of the Day, short thoughts, etc
- TextAreaField - A larger, adjustable text box. Suitable for Journal Entries
- BooleanField - A checkbox, use it for yes or no items. Great for tracking medicines that are taken every day, or tracking individual symptoms
- SelectField - Clicking on this will open a drop down list of choices. Best for items in a list, how are you from a scale from 1 to 10? Which hobby from a list did you work on today?
- RadioField - Same as SelectField, except it displays all of the choices as radio fields. The spare you a click, but takes up a lot more space than SelectField
- IntegerField - Takes an integer as a value. How long did you exercise today? What dosage of medicine did you take?
- DecimalField - The same as Integer except it takes decimals.
When first run, it will create a key file to encrypt and decrypt your data in your Documents folder (at some point I'll add the ability to specify location)
From there you need to create the fields you want in your form by clicking on "Edit Fields" in the upper right. At first this will be empty, but when you click on add, you can add an entry like these examples:
You also have the option to Edit fields. I don't recomended using this too much. Changing a field name or variable type will not change the data that is saved in your journal entries. You can delete a field from here
After saving all your entries, you have a few options. You can order where those fields show up in your form, and choose which fields show up. You'll notice I gave some variable very large numbers that way they will always show up at the bottom even if I add more later.
If you put two or three checkboxes next to each other, they we fall into the same row to save space.
With all that we can now utilize our journal by filling it out and clicking submit. If you want to edit an entry or enter for a missed day, change the Selected Date. If you are editing an entry, only the entries that existed on that day will be there. The number to the right of each entry is a two week trend to see if numeric values are increasing or decreasing on average (Just using the slope of a linear regression) To the right of your values is a graph that you can switch between your values to visualize your trends over time.
This is V1, you can journal to your hearts content, and there are some very basic analysis function. I'm going to add more predictive abilities in the future.