summaryrefslogtreecommitdiff
path: root/Biz/Devalloc.hs
AgeCommit message (Collapse)Author
2021-04-13Doc fix and factor for readibilityBen Sima
2021-03-30Move Analysis class instances near type definitionBen Sima
2021-03-25Add manual submission formBen Sima
2021-03-24Add a simple admin pageBen Sima
2021-03-22Remove dummy hotspots numberBen Sima
The right way to show number of hotspots would be to find files in which commit frequency is more than like 1 standard deviation from the norm. I could even show a histogram instead of a flame graph...
2021-03-22Deduplicate activeAuthor listBen Sima
This might not be very robust, but it works for now.
2021-03-22Add descriptions to report detailsBen Sima
2021-03-20Display hotspots graph and stacked line chartsBen Sima
I think I should change the colors a bit... to be done later I suppose.
2021-03-20Calculate hotspotMap in AnalysisBen Sima
2021-03-19Add ability to clone private reposBen Sima
The strategy is to clone over https with the OAuth token: git clone https://<user>:<oauth-token>@github.com/<user>/<repo>
2021-03-19Add label for private reposBen Sima
2021-03-17Change auth error message and reorg Analysis cssBen Sima
2021-03-17Add a HasCss classBen Sima
This way I can attach page-specific CSS to the type for the page. I could make this even tighter by combining HasCss with the HTML declaration, but that would basically just be Lucid.ToHtml, so I'm not sure it is worth it.
2021-03-17Restful analysis endpointBen Sima
2021-03-17Remove TODO about XSRF settingBen Sima
Since we don't use a JavaScript frontend, we don't actually need any XSRF protection. All of the requests will be coming from the browser, not from a computer running inside the browser (js).
2021-03-17Put an example analysis on the homepageBen Sima
The design kinda sucks, but I will refresh it later. I just want to get this shipped right now.
2021-02-23Add repoVisibilityBen Sima
2021-02-23Add Biz.Log middleware that works with systemdBen Sima
Perhaps this is not as performant as the wai-provided one, but it is *much* simpler and follows my output format, which I think is much easier to quickly read. Anyway I doubt logging will ever be a bottleneck, and if it is then I should be able to create some instrument to detect that.
2021-02-22Keep a checkpoint on shutdownBen Sima
2021-02-22Add quiet option for devalloc startupBen Sima
It would be good to have this as a general logging config, but I'm not sure how to do that. I probably need a logging monad or something.
2021-02-22Test for empty GitHub user emailBen Sima
2021-02-22Add note about persisted data typesBen Sima
2021-02-22Handle case when GitHub API provides no emailBen Sima
2021-02-19Fix typoBen Sima
2021-02-19Don't blow up when git mtime is emptyBen Sima
2021-02-19Remove dummy pricing link, put small pricing on signup buttonBen Sima
2021-02-19Factor out panicsBen Sima
2021-02-19Move 'developer hot spots' to pitch sectionBen Sima
2021-02-05Combine contributors and collaboratorsBen Sima
It's easier and cleaner this way - I don't have to do complex switching between the two. Instead just treat them as the same thing basically. Can adjust later if need be.
2021-02-05Prefer traverse over mapMBen Sima
2021-02-05Test analyzing a public repoBen Sima
2021-02-05Add Log.mark and convert some putTexts into Log.infosBen Sima
2021-02-05Add 'tidy' to PlanBen Sima
This is supposed to be how to cleanup the database and any other local files. Should only be used before/after test, so maybe I can find a way to enforce this constraint somehow in the code.
2021-02-03Set and guard GitHub API access scopeBen Sima
I need 'repo' scope in order to see private repos. I can't clone and analyze private repos yet, for that I need to handle ssh keys and such, but at least I can ensure that requests are being made with the correct scope. Another addition I should do: check the X-OAuth-Scopes header on every request to ensure the user does not downgrade my scope after registering the app. https://docs.github.com/en/developers/apps/scopes-for-oauth-apps#available-scopes
2021-01-29Add Invoice optionBen Sima
2021-01-29Slighly better form stylingBen Sima
2021-01-29Lint 'return' into 'pure', replace bind operatorBen Sima
2021-01-28Refactor handler functionsBen Sima
Created guardAuth and cleaned up the handlers to be as small and regular as possible. My custom operators make it really fun to write this kind of code, heh. And it looks cool.
2021-01-27Set subscription in user page, operator precedenceBen Sima
I'm still working on figuring out operator precedence with my custom operators. The normal precedences don't work well for writing code in a pipeline as I like, so I have to re-define the operators with my own fixity settings. This will take some fiddling to get right. The user subscription allows setting to "Free" only now. It's fine because I still need to do a design refresh on the pages I just made. One thing I noticed is that it's getting harder to make changes without breaking stuff, so I either need to make smaller incremental changes, or actually write some real tests. I'll probably write tests soon.
2021-01-26Add user subscription fieldBen Sima
Also improved the test situation, did some refactors, and now listing the user's past analyses on their account page.
2021-01-22Property tests for calculateScoreBen Sima
2021-01-22Persist Analysis runsBen Sima
Keep Analysis runs, with a unique id, and index them based on ID, which user asked for the analysis, and commit sha.
2021-01-22Add footer and adjust widthsBen Sima
The footer is just a copyright for now. The header is full width, main and footer max out at 900px. This seems like a reasonable default, so I put it in the base Biz/Look.hs.
2021-01-22Style SelectRepo page and all linksBen Sima
I'm borrowing heavily from Basecamp.com, but I figure after enough itreation I will settle on something more unique. Anyway, copying Basecamp isn't so bad -- they are a great company after all!
2021-01-16Fix colors and structure HTML betterBen Sima
My qutebrowser dark filter messed up my colors. Also now I'm using header and main HTML elements.
2021-01-16Freshen up frontpage designBen Sima
Part of a larger effort, but doing this iteratively in smaller chunks.
2021-01-15Implement Biz.Test with tastyBen Sima
Also changes the --test option to a 'test' command. This is because running the tests for a namespace/exe should never be combined with anything else: you either want to run the tests, or not.
2021-01-15Implement Biz.CliBen Sima
Wraps docopt rather nicely. It's much nicer than optparse-applicative and runs tests with the --test argument automatically. Next I just need to implement a test framework.
2021-01-12Fix score calculationBen Sima
It was always showing 0 because of annoying numeric type conversion stuff. This is my least favorite part of Haskell.
2021-01-11Add navbar mostly everywhereBen Sima
This necessitated adding a few more paths for clarity and such, and a type for the analysis page. There seem to be some bugs with session handling I think, but I'll suss those out later. Also I'm running into many uncaught exceptions so eventually I will need to tackle those as well.