Commit Graph

62 Commits

Author SHA1 Message Date
Eli Ribble 1f978a3f28 Add a foreign key from OFXRecord to the OFXAccount used to get it
This makes it easier to tie together our records to the accounts we used
to pull the record
2016-06-23 08:29:52 -06:00
Eli Ribble e2821457f5 Add translating parsed SGML document into OFX structures
This gives the structures some semantic meaning beyond just being raw
SGML and adds some niceties in like parsing the datetimes and their
timezones.
2016-06-22 17:15:34 -06:00
Eli Ribble 95244d2974 Add a basic SGML parser
I tried BeautifulSoup, which was okay, but was missing an understanding
of how OFX does SGML. That's fine, writing my own parser was not that
big of a deal
2016-06-22 14:08:13 -06:00
Eli Ribble 104289418b Add support for creating and listing OFXAccounts
This makes it so that we can add new accounts and show the accounts that
we already have. We don't do anything with them yet, but that's okay it
was interesting figuring out how to get them set up at all. I'm
currently storing the passwords as unencrypted, which I intend to
change, but it's going to take some time to research exactly how to
encrypt them so that the data is not retrievable by a bad actor with
access to the database.
2016-06-21 07:51:36 -06:00
Eli Ribble 91f89d2cbd Add a name to each OFXAccount
So that users can identify their accounts with their own meaningful
names
2016-06-21 07:27:29 -06:00
Eli Ribble d17c592908 Make every OFXAccount have an owner
That way we can split out accounts by the user that created them.
Y'know, like permissions for multi-tenancy
2016-06-21 07:13:14 -06:00
Eli Ribble dbaba8bd52 Add a holder for static/css
Otherwise every time I commit it blows away my compiled CSS and I have
to tell sass to rebuild
2016-06-09 10:29:57 -06:00
Eli Ribble b9191c77af Remove errors module
It was for sepiida-style endpoints, so we won't be using it
2016-06-09 10:29:57 -06:00
Eli Ribble 3a6cb385ed Remove old JavaScript build stuff
This was neat and everything, but I'm committed to not building a
single-page app at this point, so I don't need to structure my tech this
way
2016-06-09 10:29:57 -06:00
Eli Ribble 0aecabea75 Add the accounts page placeholder
This proves out that my navigation works the way that I want and that my
auto context variables are working. Currently we don't do much but say
they have no accounts, but we can build that up over time
2016-06-09 10:29:57 -06:00
Eli Ribble e1f39bb852 Use automatic template context rather than passing the path through
Saves me having to push a bunch of common stuff through, which just
makes sense
2016-06-09 10:18:30 -06:00
Eli Ribble 31d810b65d Clean up old sepiida-based work, create pattern for pages
I'm going to do server-side rendering. That means that I don't really
need sepiida in the way we think of it because I don't need a JSON-based
API to do my UI. And that's fine. This simplifies a bunch of stuff, so
I'll be happy with it

This commit breaks apart my growing list of endpoints into a new module,
vanth.pages, where I intend to keep the various pages. I've put auth in
a separate, non-pages module even though it has pages because auth is a
special beast that deals with sessions and DB stuff, so I like it in a
separate kind of module
2016-06-09 10:12:24 -06:00
Eli Ribble f566ca8914 Remove my old test logout button
I now have a legit logout button in my navbar!
2016-06-09 10:00:00 -06:00
Eli Ribble 213562120c Fix my logout form
I accidentally an =
2016-06-09 09:58:50 -06:00
Eli Ribble 30f77f1569 Ignore sass cache files 2016-06-09 09:58:14 -06:00
Eli Ribble 173a88a3b3 Make my dropdown menu black like my navbar
I like the black-on-white asthetic, so let's make the dropdown menu do
that. I pulled this code from
https://github.com/twbs/bootstrap/issues/9588

It works great now that I'm processing my sass
2016-06-09 09:57:04 -06:00
Eli Ribble 04c796c18a Re-add our styles as sass
I haven't actually changed the content, just the extension and my
intention to start using SASS because it makes my development life
easier
2016-06-09 09:56:33 -06:00
Eli Ribble 9d2f0c5377 Remove our old CSS in favor of SASS
I'm going to add the SASS in a bit. For now I just want to get these
removed to make room for where I'm going to be putting the SASS
post-processed output
2016-06-09 09:55:35 -06:00
Eli Ribble 5cc8e1a205 Fix up navbar to have the structure I wanted
This means logout in a menu underneath the username, some high-level
navigation points, that sort of thing
2016-06-09 09:43:59 -06:00
Eli Ribble 60e6f7c834 Add a navbar to the main page after login
I'll probably use it. Fairly certain. It looks nice either way.

This breaks up the main layout to 'things with the navbar' and 'things
without' and uses inheritance to make it all work out nicely. I also
added my first static asset which assumes nginx is properly configured
to serve up the file rather than doing it through vanth
2016-06-09 01:19:03 -06:00
Eli Ribble 4cb867a0ff Get form-based sessions working
This removes some of the logic associated with using JSON based
authentication in favor of the simpler and more built-in form based
authentication that I had originally gotten working. This requires no
JavaScript from the browser, which is its own reward
2016-06-09 00:53:01 -06:00
Eli Ribble 8c6c6670f8 Pretty up my login form with bootstrap styles
Mostly I just used he right class for the layout container and added
some classes to the login form so that bootstrap styles could handle
the rest
2016-06-09 00:38:34 -06:00
Eli Ribble e70ad7c2b5 Add bootstrap styles and javascript from MaxCDN
This will help me pretty things up around here
2016-06-09 00:33:59 -06:00
Eli Ribble ff9829d4d2 Switch back to using form-based login/logout
I've decided I want this application to be a progressive enhancement
application. That means that I'm not going to keep dealing with the
insanity that is Javascript bundling and transpiling and building the
entire UI in JS. I want to believe I can treat the web the way that it's
been designed for decades - as a document platform with enhancement
capabilities rather than as an emerging VM
2016-06-02 20:51:08 -06:00
Eli Ribble 08814d6d9e Add simple API for getting OFXSources
We'll use this in the API to show a list of accounts before adding a new
one
2016-05-18 15:54:28 -06:00
Eli Ribble 4f3ef1b102 Add simple script for inserting ofxsources
This only adds one institution that I care about, AFCU, but could be
extended to use the data from ofxhome.com. I downloaded the data from
them but found two problems. One, they work in XML, which I don't feel
like parsing, but two and far more importantly, they provide the second
piece of data I need, the routing number for the bank. That sucks. So
it's likely that if this project does well we will have more data than
them.
2016-05-18 15:42:46 -06:00
Eli Ribble 63a22e27e0 Add unique constraints on some of our tables
I just missed thinking about this originally
2016-05-18 15:41:04 -06:00
Eli Ribble 9eef6c9754 Basic outline of the accounts page 2016-05-18 15:02:14 -06:00
Eli Ribble 2255d34ee9 Break out navbar into a separate component
Then we can reuse it. In everything
2016-05-18 15:00:12 -06:00
Eli Ribble db60fc99af Stop ignoring my lib directory
It's where I keep my javascripts
2016-05-17 16:38:52 -06:00
Eli Ribble 867df0fc57 Add basic UI
This includes the login form, registration, and a simple nav bar when
you're logged in. I'm just sort of figuring all this stuff out
2016-05-17 16:38:20 -06:00
Eli Ribble ca2b5cdabb Fix sending authenticatinon exceptions
My exceptions weren't getting caught and properly handled and instead
resulting in 500 errors and stack traces. Now we actually return a
response
2016-05-17 16:36:14 -06:00
Eli Ribble 01175ecb21 Show log message on login
Useful for tracking who is doing what
2016-05-17 16:35:56 -06:00
Eli Ribble 5998b2c2c9 Add implementation for logout
We do it by DELETE /session/
2016-05-17 16:35:50 -06:00
Eli Ribble 89b8e5e1ef Alphabetie 2016-05-17 15:13:21 -06:00
Eli Ribble aa1664eea0 Make the GET /session/ endpoint work with auth
If we don't reorder this logic then we'll never set up the user's
information so that GET /session/ has the data it needs to show the
session information.
2016-05-17 15:12:17 -06:00
Eli Ribble ded63dc932 Include user URI and session URI in GET /session/
This makes it so that we can log out by doing a DELETE on /session/ by
URI.
2016-05-17 15:10:51 -06:00
Eli Ribble 1fbe9558bf Set up a session when the user gets created
That way we don't have to login after creating a user. yay.
2016-05-17 14:50:24 -06:00
Eli Ribble beb3ad89c5 Add use name and client URI to session response
I probably need to change the URI to the session URI
2016-05-17 14:40:29 -06:00
Eli Ribble d83312234b Add session creation and handling
This commit adds setting the content of the current user from the
session cookie the user sends back and forth. That means we can actually
pull out the session data for use when handling requests. We can also
create new sessions and set up the session cookie
2016-05-17 14:16:14 -06:00
Eli Ribble db066e18d7 Add basic index for webpack dev server 2016-05-17 14:14:28 -06:00
Eli Ribble b118f80281 Set up babel's ability to handle trailing commas 2016-05-17 14:14:10 -06:00
Eli Ribble fece65159a Make CORS debug logs go quiet
Otherwise I'm just inundated with them and I'm rarely debugging CORS
2016-05-17 11:08:19 -06:00
Eli Ribble f766f8dfa4 Add basic CORS support
I don't really need it yet, but I had added it in as I was trying to
sort out how to get the UI working with the API
2016-05-17 11:08:19 -06:00
Eli Ribble 7a3cfa95cd Run debug server on another port
That way it won't conflict with other services I normally run
2016-05-17 11:06:41 -06:00
Eli Ribble 72758a0921 Fix initial migrations and add users table
Apparently I had screwed up the ofxaccount generation in the previous
version of the initial table creation
2016-05-17 10:30:04 -06:00
Eli Ribble 6338c4f066 Add working webpack config and react app
It doesn't do much yet, I'm just sketching out the basic elements and
starting to get a basis for something that will work
2016-05-16 18:21:37 -06:00
Eli Ribble c1c059953f Start the frontend package
This is just based on npm init
2016-05-14 22:16:05 -06:00
Eli Ribble f063c3fcfd Update gitignore for npm modules 2016-05-14 22:13:40 -06:00
Eli Ribble 6a2cb087fc Add GET /user/ implementation that works
Previously my GET was just a placeholder so I could build URIs against
it. Now it actually works and returns information on a user
2016-05-04 07:16:05 -06:00