Commit graph

9 commits

Author SHA1 Message Date
bab52687c7
db&score, feed_channel impl & score from db
Adds a feed_channel implementation which reflects a feed's specific
settings per channel.

Also added an UnparsedTimedScore to score which allows parsing to score
from db in a controlled fashion.
2026-02-06 15:01:21 -08:00
fcb03ead1f
fetch, create fetch mod and AdapterClient
Creates a fetch mod for fetching remote rss content.

This implementation is barebones and not great since it doesn't pass any
compression or timestamp information.
2026-02-06 15:01:21 -08:00
070c55a95b
db, add item and functions to get items
Creates item. It's pretty barebowns until I implement fetching.

I also added get functions for feed and channel to get items with.
2026-02-06 15:01:21 -08:00
2dc4c7bc99
db, add channel and feed; user.get_feeds
Adds the primary functionality for channel and feed

Also adds a function to user to get the feeds associated with a user.
2026-02-06 15:01:21 -08:00
99321e9a5d
db, add core user functionality and tests; db mod
Adds all the basic user functions, and tests for them.

This is also intializes the DB Module, which will have more things in it
2026-02-06 15:01:21 -08:00
b30eefd516
score&test, Tests for a42853a & test_utils mod
Tests for all the core functionality implemented to score in a42853a.

Optimistically adding a test_utils mod for shared test code
2026-02-06 15:01:21 -08:00
dac085756a
db&adapter, add sqlx + schema & add adapter
Adds SQLX for database management, and an Adapter interface for
interacting with it. Through the type "AdapterPool"

Creates an initial_schema with everything I think I'll need.
2026-02-06 15:01:17 -08:00
a42853ac5a
score, initialize core functionality and types
Adds Chrono package

Adds a "Result" type to lib.rs

creates helpful type aliases for Score, Boost, and Gravity.

Creates a "TimedScore" which is a value and time data for calculating
score over time. There are two forms of this, Boosted and Decaying.
Since a Score can either be decaying over time or have been boosted
recently and be kept from decaying for some time.

Also implements a BoostedScore and a DecayingScore, which are both
TimedScores which represent the different states. These are important
because you can't boost a BoostedScore for instance.
2026-02-05 12:13:49 -08:00
38d1cbbd50
Flake and Rust Project Init 2026-01-14 12:15:07 -08:00