Commit Graph

154 Commits

Author SHA1 Message Date
fa78e86de6
myPrayerJournal v2 (#27)
App changes:
* Move to Vue Material for UI components
* Convert request cards to true material design cards, separating the "pray" button from the others and improved highlighting of the current request
* Centralize Auth0 integration in one place; modify the Vuex store to rely on it entirely, and add a Vue mixin to make it accessible by any component

API changes:
* Change backing data store to RavenDB
* Evolve domain models (using F# discriminated unions, and JSON converters for storage) to make invalid states unrepresentable
* Incorporate the FunctionalCuid library
* Create a functional pipeline for app configuration instead of chaining `IWebHostBuilder` calls

Bug fixes:
* Set showAfter to 0 for immediately recurring requests (#26)
2019-09-02 19:01:26 -05:00
Daniel J. Summers
ce588b6a43 dep update for lodash CVE 2019-07-12 19:34:26 -05:00
Daniel J. Summers
57cd17c734 Fixed broken pray button 2019-07-07 07:08:42 -05:00
Daniel J. Summers
42615dae82 Update recurrence before status (#25); version bump 2019-07-05 20:34:38 -05:00
Daniel J. Summers
68b650e31d Updated dependencies 2019-05-31 20:29:57 -05:00
Daniel J. Summers
d738321dc0 Use FSharpLu for JSON serialization (#24) 2019-02-23 13:59:32 -06:00
Daniel J. Summers
8995097d68 Updated to .NET Core 2.2 (#23)
Also updated API and app deps
2019-02-23 10:59:23 -06:00
Daniel J. Summers
4310fb91fa Updated deps 2019-01-29 20:52:38 -06:00
Daniel J. Summers
c0def7623f Updated docs link to new subdomain 2018-09-09 21:08:22 -05:00
Daniel J. Summers
473359c645 Sort journal by appearance time (#21) 2018-08-21 20:44:39 -05:00
Daniel J. Summers
334710065c
Upgrade to Vue CLI 3 / Webpack 4 (#22)
Fixes #19
2018-08-21 20:39:41 -05:00
Daniel J. Summers
2c34650ceb Completed recurrence work (#16)
Requests can now:
- be entered with recurrence
- be updated with recurrence
- manually skip recurrence period

Also did an app-wide clean-up to ensure that everything is done the same way in all places
2018-08-18 19:32:48 -05:00
Daniel J. Summers
9f1e258180 Added recurrence to new request add/edit page (#16)
still need to get the actual non-immediate recurrence stuff to work correctly
2018-08-18 13:46:03 -05:00
Daniel J. Summers
0c21e6c1c0 Unsnooze works; #20 is complete
also:
- wrapped up some other stylings
- snoozed requests still show in the journal; this logic will change with recurrence work, so that bug is deferred
2018-08-18 11:07:30 -05:00
Daniel J. Summers
a6144f67ec Converted notes modal (#20) 2018-08-18 09:13:38 -05:00
Daniel J. Summers
e351fe5b56 Active request page (#16)
Also:
- refactored snoozed and answered list pages to use a common list format
- reworked the URLs to make them more consistent
- eliminated current "full" API endpoint, and renamed existing "complete" endpoint to "full"
2018-08-17 22:12:14 -05:00
Daniel J. Summers
d3aff4a110 Add/Edit request works
No longer a modal (#20)
2018-08-17 20:59:57 -05:00
Daniel J. Summers
c0dd6b5dd6 A few more minor tweaks 2018-08-16 22:09:39 -05:00
Daniel J. Summers
5bba499251 -BootstrapVue -VueAwesome
- All non-modals no longer reference Bootstrap or Font Awesome (#20)
- Removed "full request" button from journal page (#16)
- Added role attributes in many places
2018-08-16 21:57:54 -05:00
Daniel J. Summers
96f2f2f7e0 Added recurrence SQL; updated API
API should support recurrence (#16); also updated for new F# match! statement
2018-08-14 21:01:21 -05:00
Daniel J. Summers
2bf3bc4865 Working toward hosting
Seeing different behavior when this is sitting behind nginx; working toward a solution
2018-08-07 08:17:56 -05:00
Daniel J. Summers
95175d2c57 Merge branch 'master' of https://github.com/bit-badger/myPrayerJournal 2018-08-06 21:30:45 -05:00
Daniel J. Summers
3f71d75a99 Restoring ignored file changes
Also deleted a file I missed
2018-08-06 21:30:11 -05:00
Daniel J. Summers
8becb8cea4
F# API (#18)
- API is now F# / Giraffe / EF Core
- Snoozed requests are complete #17
- Updated doc links in preparation for transfer to Bit Badger Solutions organization's repository
2018-08-06 21:21:28 -05:00
Daniel J. Summers
d1fd5f68e7 Added snooze icon to journal
#17
2018-06-18 21:05:04 -05:00
Daniel J. Summers
d0ea7cf3c6 Added "snoozedUntil" column to API
Also added a "snooze" route (working on #17 )
2018-06-18 20:25:00 -05:00
Daniel J. Summers
05990d537a Version bump 2018-06-14 18:31:51 -05:00
Daniel J. Summers
67cdd5a9b0 Update tooltip on date changed
Bound long date to computed property (addresses #15 )
2018-06-14 18:21:14 -05:00
Daniel J. Summers
650bda6bc5 Version bump; remove logging 2018-05-27 19:46:55 -05:00
Daniel J. Summers
91daa387cb Misc final tweaks
- Handle notes being nil
- Distinguish between request not found, error retrieving notes, and no notes for present request
- Minor UI tweaks to use smart quotes
2018-05-27 19:26:52 -05:00
Daniel J. Summers
d57e2e863a Remove JavaScript API files 2018-05-27 18:02:31 -05:00
Daniel J. Summers
9de713fc6a Fixed "answered" API error 2018-05-27 18:00:37 -05:00
Daniel J. Summers
79ced40470 Most API features now work
- Switched from Vestigo to ozzo-routing in a misguided attempt to get JSON to parse as a form; not switching back at this point
- Fixed error with request SQL for individual requests
- Parsing JSON body works now

Still need to handle "no rows found" for journal/answered lists; this isn't an error for new users
2018-05-26 22:18:26 -05:00
Daniel J. Summers
bad430fc37 GDPR update; version bump
- added Terms of Service and Privacy Policy
- updated deps
- fixed vue-bootstrap warning
2018-05-26 11:59:30 -05:00
Daniel J. Summers
2b6f7c63d0 route handler translation 2018-03-31 22:13:26 -05:00
Daniel J. Summers
419c181eff Authorization works (yay)
The journal page once again loads as it should; now to migrate the remaining routes
2018-03-31 19:58:44 -05:00
Daniel J. Summers
9637b38a3f Static files now served; auth is broken 2018-03-24 13:37:18 -05:00
Daniel J. Summers
59b5574b16 Switched to vestigo router
Also moved db reference to data module; it now starts, but doesn't serve index.html for root yet
2018-03-22 22:11:38 -05:00
Daniel J. Summers
b248f7ca7f minor tweaks towards JWTs
time box expired before completing this; one of these days...
2018-03-20 20:26:02 -05:00
Daniel J. Summers
8d84bdb2e6 app/API build adjustments; get user from ctx 2018-03-12 23:14:16 -05:00
Daniel J. Summers
b7406bd827 More work on auth and req ctx 2018-03-12 21:44:43 -05:00
Daniel J. Summers
d92ac4430e Split routes, router, and handlers into different files 2018-03-11 22:38:13 -05:00
Daniel J. Summers
0cde2fb6db Merge updated deps/build files 2018-03-11 20:57:25 -05:00
Daniel J. Summers
943492f175 Updated Auth0 and other deps #13; version bump 2018-03-10 22:50:39 -06:00
Daniel J. Summers
df76385d6a Added previously-ignored Vue build files
Those globs will git you...
2018-03-10 22:22:10 -06:00
Daniel J. Summers
8c801ea49f Interim commit; started work on routes 2018-01-18 11:29:01 -06:00
Daniel J. Summers
0807aa300a Data and structures converted 2018-01-17 23:00:26 -06:00
Daniel J. Summers
8d8d112fff Updated front page text (#12) 2017-10-23 22:04:34 -05:00
Daniel J. Summers
6c4061e07d Updated docs/README; version bump
So long alpha - hello, beta!
2017-10-23 21:40:58 -05:00
Daniel J. Summers
9cdb505bb1 Renamed RequestListItem to RequestCard 2017-10-23 21:22:29 -05:00
Daniel J. Summers
40d765fb92 Journal is more mobile-friendly (#11)
Also:
- Updated deps
- Ensure the date is wrapped as a whole on the Answered Request page
2017-10-23 21:19:39 -05:00
Daniel J. Summers
56dee71377 Updated dox for #9; version bump 2017-10-23 05:53:30 -05:00
Daniel J. Summers
3c3f0a7981 Finished answered request layout (#9)
Also:
- rearranged API calls to be in alphabetical order (except the bearer
stuff at the top)
- modified the API base URL and Auth0 renewal URLs to be derived from
the browser's location (localhost / prod both work now with no change)
2017-10-22 22:50:26 -05:00
Daniel J. Summers
a1ce40ee83 Get version from package.json (#10)
...that was easy.
2017-10-19 15:11:51 -05:00
Daniel J. Summers
b8f1708012 Version bump
also updated e-mail address
2017-10-09 21:42:45 -05:00
Daniel J. Summers
69811cbf54 Added Notes feature (#8)
Also:
- Moved buttons to top of request
- Tweaked layout of full request view
- Added code to ensure that users may only add history and notes to
their own requests; security FTW!
2017-10-09 21:39:40 -05:00
Daniel J. Summers
6f49a61822 Version bump (v0.8.3) 2017-10-08 22:07:49 -05:00
Daniel J. Summers
4db6d98011 Implemented auth renewal (#5) 2017-10-08 21:58:36 -05:00
Daniel J. Summers
3acec3dc25 Misc tweaks
- Updated SFCs per Vue Style Guide guidelines
- Added green gradient to header and off-white background color to body
- Changed DJS Consulting to Bit Badger Solutions in the docs
2017-10-08 19:19:24 -05:00
Daniel J. Summers
8055c34f7c Prep for 0.8.2 release
- Adds ability to view answered requests (#3)
- Fixes multi-line request display (#7)
- Docs updated for 0.8.2
2017-10-01 16:15:56 -05:00
Daniel J. Summers
e0d27a708d First cut of answered requests
- changed import to only bring in church rather than the entire lodash
package
- changed webpack config to exclude moment's locale
- set the bearer token on load if the user is authenticated
2017-09-30 16:12:14 -05:00
Daniel J. Summers
834eaf2416 Conversion to cards (bootstrap) complete
Also:
- Multi-line requests now preserve line breaks (#7)
- Have one instance of vue-toast; access via $parent for main page
components, pass to child components
2017-09-30 12:36:57 -05:00
Daniel J. Summers
ef88964cd0 interim commit with lots of stuff
- conversion from Element UI to Bootstrap 4 in progress (smaller, more
flexible)
- added Font Awesome for fonts, vue-toast for notifications
- added common components to main.js and out of other components
- some work on pulling answered requests (#3), added icon for notes (#8)
2017-09-28 21:59:40 -05:00
Daniel J. Summers
1e1afa9d89 Changed history icon (towards #8)
Also changed headings to h2 so "Caveats" isn't the page title
2017-09-26 07:09:38 -05:00
Daniel J. Summers
63d25ec57e 0.8.1 2017-09-25 22:48:54 -05:00
Daniel J. Summers
f085c47c6e Moved trim to blur event (#6) 2017-09-25 22:41:01 -05:00
Daniel J. Summers
3a0ac7ce97 Added "date from now" component (#4)
Also moved page title component to new "common" component directory
2017-09-25 22:34:25 -05:00
Daniel J. Summers
51ec649e7f Renamed Dashboard to Journal (#2) 2017-09-25 21:28:08 -05:00
Daniel J. Summers
647e79c59c Added "Docs" link to menu 2017-09-24 21:59:31 -05:00
Daniel J. Summers
fe4c1b606e Rearranged API files so Babel could process them
The way they were, Babel was also processing the node_modules folder
2017-09-23 22:08:30 -05:00
Daniel J. Summers
ec08bfbc74 messages, answered requests
- Created view for journal query so we can use the calculated fields in
a where clause
- Changed journal ordering from newest-first to oldest-first; that way,
clicking "prayed" at the top, one right after the other, will let the
user pray through their list with minimal distraction
- Answered requests now drop off the active journal (still need to write
the ability to review answered requests)
- All the activities now send messages to the user, so they have
confirmation that their action has completed
2017-09-23 21:28:43 -05:00
Daniel J. Summers
8cb58cc2d3 View full request works
Also:
- moved setup stuff out of the `data` function and into the `created`
function
- standardized Vue component coding styles
- reworded transition text on log on and journal loading templates
2017-09-23 10:53:40 -05:00
Daniel J. Summers
396e53b1a6 Editing request works
A "mark prayed" update uses the same fields, so we only have one "update
request" action now
2017-09-22 23:30:23 -05:00
Daniel J. Summers
181dc5ea63 "Mark Prayed" works 2017-09-22 22:30:00 -05:00
Daniel J. Summers
c703d717d8 Wrote API calls for history updates
Also switched app pkg mgt to yarn
2017-09-22 19:27:23 -05:00
Daniel J. Summers
a6b5149b34 Adding request now totally works
Also:
- added progress bar, integrated with journal loading
- updated Vue app dependencies
2017-09-21 21:31:59 -05:00
Daniel J. Summers
015645aa86 Adding request works (mostly)
Everything works except adding the new request back to the list; this
proof of concept is a go, and will be merged to master
2017-09-21 18:45:06 -05:00
Daniel J. Summers
794a365f08 Many changes
- Express -> Koa
- Babel for transforming 'import' into 'require'
- SQL done for adding request; just need to get the app to call it
2017-09-19 22:20:17 -05:00
Daniel J. Summers
270ac45e8c Create tables/indexes on startup
Ready to create a request
2017-09-16 13:16:02 -05:00
Daniel J. Summers
fc02112295 Looks promising
The proof of concept has been proven
2017-09-15 22:38:45 -05:00
Daniel J. Summers
a10e4ded48 Suave serves Vue files
- Only send the 404 for /api routes; otherwise, serve files from
wwwroot, and send index.html if the path doesn't exist, so Vue can
handle it
- Minor build file tweaks
2017-09-14 07:01:28 -05:00
Daniel J. Summers
2ed01b8d5d Updated dependencies
New Vue files and upgraded API project to .NET Core 2
2017-09-10 22:33:43 -05:00
Daniel J. Summers
15947abcbf Proof of concept on API calls...
...remains unproven.
2017-08-06 23:17:08 -05:00
Daniel J. Summers
5a7a74c167 mostly housekeeping
- App - some package clean-up
- API - removed commented code that is not needed, postured for JSON
outputs
- Build - modified the scripts to build Vue into API's wwwroot folder,
which will get copied on publish; adjusted FAKE task dependencies to be
more granular
2017-08-06 15:42:09 -05:00
Daniel J. Summers
196db30cc5 +Vuex +ElementUI +Pug
- Log on now works, storing user profile in vuex state
- Templates in Pug = awesome
2017-08-05 22:48:09 -05:00
Daniel J. Summers
338f11d1ab Vue it is
I know, the 18th front-end change; I have a feeling there won't be a
19th.
2017-07-29 16:28:27 -05:00
Daniel J. Summers
632f06ac5f removed files
attempting commit with fewer files; these are the ones removed
2017-07-29 16:27:48 -05:00
Daniel J. Summers
03fd1d0a18 test commit 2017-07-29 16:26:00 -05:00
Daniel J. Summers
0ce5824c55 Another attempt at Auth0 Lock w/ Aurelia 2017-06-01 21:31:25 -05:00
Daniel J. Summers
55cf47af18 -Paket -TutorialFiles
Removed Paket files (could not get reliable builds; we may revisit once
.NET core has stablizied); removed extraneous tutorial files; currently
blocked getting Auth0 Lock to load from within Aurelia app
2017-05-31 22:22:08 -05:00
Daniel J. Summers
b0b20df36d +Aurelia +Paket +FAKE
Interim commit; there may still be leftover files from the Aurelia
tutorial
2017-05-20 09:45:48 -05:00
Daniel J. Summers
e522ab1ae1 Moved Suave app to /api directory 2017-05-04 21:45:30 -05:00
Daniel J. Summers
d5635ef37c Added request list by user
Input for what will be the main journal view
2017-04-30 21:16:45 -05:00
Daniel J. Summers
c98c7bd5bf Sign in works and redirects!
Sign in now goes from Auth0, back to the app, which gets the user ID
from the response and redirects to the journal page.  Woot!
2017-04-24 20:49:28 -05:00
Daniel J. Summers
d34302aa52 -elm +suave -rethink +ef-core -.json +fsproj +auth0
- Decided to go with straight Suave "Experimental" views (for now)
- Created EF Core entity model (our data is pretty structured, and
PostgreSQL (target DB) supports max-length strings)
- Added Auth0 lock
- Converted to 1.0 tooling
2017-04-21 07:49:46 -05:00
Daniel J. Summers
da6910e055 Brought in data model / dependencies
A combination of the previous effort plus a few things swiped from
Quatro
2016-12-12 22:29:05 -06:00
Daniel J. Summers
864777a831 Page titles working but not quite right
The on page title is correct; the title bar lags one click behind.
2016-12-11 22:29:16 -06:00
Daniel J. Summers
1e8b34e548 Removed compiled app from source control 2016-12-11 19:42:20 -06:00
Daniel J. Summers
bde45c8554 Switched to Elm / Suave
It's like F# on the client side - sweet!
2016-12-11 19:39:06 -06:00
Daniel J. Summers
d3a80b9ceb Authentication, take 2; take 3 forthcoming...
*cue sad trombone*
2016-10-07 22:07:46 -05:00