Commit Graph

93 Commits

Author SHA1 Message Date
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
Eli Ribble 69228f21ca Add API for creating new users 2016-05-03 19:28:56 -06:00
Eli Ribble c84288eaac Set up basic testing framework with py.test
We're just testing that the about route works at all. We aren't even
testing that it does anything. But this represents wiring together a
bunch of things to get tests working including configuration
specifications, DB connections, table definitions, the app itself, etc
2016-05-03 18:59:08 -06:00
Eli Ribble 861b6f0f71 Implement a simple logout mechanism
I would have done a DELETE to /login/ to make it like a resource but my
browser won't do a raw <form> with method="DELETE" :(
2016-05-02 11:58:28 -06:00
Eli Ribble 94b78dacca Add simple user login via flask_login
This doesn't do much - it'll authenticate any username and password. But
at least it will show me when a user is logged in and when they aren't,
which is useful to start figuring out the workflow for sessions
2016-05-02 11:54:32 -06:00
Eli Ribble ccde1908ba Add a script for running all pylint stuff
It's just a conveniece, but it's pretty convenient
2016-05-02 09:31:54 -06:00
Eli Ribble 4386c23f2f Add a standard pylintrc file
I'm using mothermayi so it's nice to do things like turn off the reports
at the end
2016-05-02 09:31:23 -06:00
Eli Ribble 0ff3e50943 Put the version in the root module
Most packages do this, it's kind of an unratified standard
2016-05-02 09:30:59 -06:00
Eli Ribble 03e431a2ce Get basic debug Flask application working
Now I can serve up an API endpoint that indicates the version. yay
2016-05-02 09:30:27 -06:00
Eli Ribble 681a62bbf5 Get alembic up and running
I took a stab at a reasonable schema just to get started. For now I want
workflows that are working. I'll pound the thing into the correct shape
in time
2016-05-02 08:46:12 -06:00
Eli Ribble 3e4eab0802 Ignore my virtual environment
Maybe this should go in a global config. Oh well.
2016-05-02 08:46:12 -06:00
Eli Ribble 8b563c3a8f Add initial setup file with dependencies and simple readme
This is just to start sketching out the repository and how we go about
installing it
2016-05-02 08:46:12 -06:00
Eli Ribble ef6b76e4f0 Initial commit 2016-04-27 19:31:26 -06:00