Flashcards App
Design deliberations for https://github.com/dchege711/study_buddy/ .
Dated Mar 27, 2024; last modified on Wed, 27 Mar 2024
Design deliberations for https://github.com/dchege711/study_buddy/ .
| Random Link ¯\_(ツ)_/¯ | ||
| Jun 22, 2024 | » | Testing in a Monorepo
7 min; updated Jun 22, 2024
Testing Web ComponentsWhile any test framework can work, it’s better to test web components in a browser environment because that’s where they’ll be used. Node-based frameworks would require too much shimming of DOM calls that’d make the tests unrepresentative. and are good options for browser-based testing. is powered by ES-build, and so is the client-side of the app; let’s go down this path and see where it leads. CommonJS modules don’t work in the browser . Earlier on , using ESM on the server turned out difficult. Hopefully, that doesn’t me bite back now. ... |
| Jun 16, 2024 | » | Database Layer
4 min; updated Jun 16, 2024
Currently using MongoDB’s free tier, which has shared RAM, and up to 5GB of storage . So far, the overall DB usage has been less than 5MB. Query InjectionCurrent State of AffairsCurrently have this protection implemented back in 2018: |
| Jun 9, 2024 | » | Continuous Integration Tooling
4 min; updated Jun 9, 2024
What automatic tools can I add to keep code quality high? CodeQLCodeQL is a tool that runs variant analysis on code. The idea is that we create a query from a known vulnerability, e.g., SQL injection, and then run it against a codebase to find instances of that vulnerability. GitHub authorizes the use of CodeQL for public repos, and so we are covered . ql-analysis.sh has a recipe for running the analysis locally in the repo. CodeQL also runs on every PR, and blocks check-in if new vulnerabilities are discovered. ... |
| Apr 27, 2024 | » | Markup Features
4 min; updated Apr 27, 2024
Syntax HighlightingPreviously, we’d highlight code on the client by loading
Back in
2018
,
we installed |
| Apr 20, 2024 | » | Of Builds and Bundlers
3 min; updated Apr 20, 2024
Moving to TypeScript entails configuring how the JavaScript will be eventually consumed by both the server and the client. Separating the Client Bundle from the Server BundleThe server code runs in Webpack utilizes loaders to preprocess files, allowing the dev to bundle
any static resource. For example, |
| Apr 19, 2024 | » | Client/Server Interface
8 min; updated Apr 19, 2024
How to handle redirects without setting |
| Apr 18, 2024 | » | Use of Local Storage
3 min; updated Apr 18, 2024
Back when I wrote this, the motivation for using
|
| Apr 18, 2024 | » | Using Web Components
(7 items)
Wiki Page; App Layout; Browse Page; The Cards Manager; Reusable Cards; Home Page; Of Stale UI and Re-renders; |
| Mar 27, 2024 | » | Hosting the Flashcards App
3 min; updated Mar 27, 2024
Current State: SaaSThe app is hosted at render.com on Render’s free tier that gives us these free web services:
… with these limitations:
Render’s free PostgreSQL database becomes inaccessible 90 days after creation. For our DB needs, we’re using MongoDB’s free tier , which has shared RAM, and 512MB to 5GB of storage. ... |