DOING Read Only Mode Version 1
Convert markup language into backend posts at startup
JSON/YAML metadata with markdown file posts as JAR resources?
Decide metadata format and location? I decided to use YAML for now
{ id: 0,
…
content: {
location: “resource”,
url: “com/benpence/blog/posts/blah”,
encoding: “markdown”,
},
}
Convert markdown resources to posts
Read Markdown from resources
Create most-recent frontend page Shows most recent N posts
Create layout in elm from static posts content Use Scala PostApi as Post object template
Connect layout to server API
Render post content client side
Add API endpoint for tags
Add frontend client method for tagcount
Individual post (client only)
Make web buttons use anchor
Add frontend client method
Pagination server and client side
Add buttons in UI for page 1
Connect frontend client API to UI
Api.Client as part af Model. Client methods yield new client
Make server-side API changes for selective reading
Time/space-based expiration?
Add unit tests against events
Research how other people do view tests
Better handling of failed fetches
Reduce property-based FilesTest duration
Add revision number for posts, UI, API
Use “The Title: Revision 1.md” and “The Title: Revision 2.md” or something similar
Blog Server feature tests
Delay search results to reduce requests
MySQL or SQLlite. Don’t actually add API write path
Research how/if Slick and Twitter Futures work together
Use Slick for just SQL generation or for DB access?
https://github.com/ikhoon/finatra-mysql-seed/blob/master/src/main/scala/com/github/ikhoon/persistence/slick/user/SlickUserRepository.scala
https://github.com/slick/slick/blob/master/slick/src/main/scala/slick/jdbc/JdbcBackend.scala#L66
Research how Twitter Future concurrency works
Basic Slick SQL writing utility