Commit Graph

376 Commits

Author SHA1 Message Date
Claudio Ortolina b6ae022a6a Move obsidian-related imports under Obsidian 2024-09-24 09:21:13 +01:00
Claudio Ortolina d97f21a8ef Can search and import records
Requires refactor and cleanup, along with integration tests
2024-09-23 20:27:40 +01:00
Claudio Ortolina 878a7d7326 Clean up importer and music_brainz modules
- Add missing docs
- Move around existing information for better documentation
- Rename some functions for consistency
2024-09-23 09:42:51 +01:00
Claudio Ortolina 15bc1816cf Add function to search the MusicBrainz API 2024-09-22 21:01:38 +01:00
Claudio Ortolina 5e97f72f2a Sort records by artist, then title 2024-09-22 16:54:38 +01:00
Claudio Ortolina 99960832c8 Adds record pagination 2024-09-20 10:05:49 +01:00
Claudio Ortolina 5623a5239f Resize cover images to 400x400 2024-09-19 13:34:26 +01:00
Claudio Ortolina 74e7d27ba4 Run the image import sequentially
Changed this for debug as many images are huge and were tripping the
logic off - the whole importer logic needs to be
restructured for better parallelism.
2024-09-16 14:46:16 +01:00
Claudio Ortolina 04755eb5fe Removes boilerplate docs 2024-09-16 14:45:59 +01:00
Claudio Ortolina 6ac5a88c47 Raw importer for all cover images 2024-09-16 12:30:54 +01:00
Claudio Ortolina afc1802399 Serve local cover images 2024-09-16 09:50:07 +01:00
Claudio Ortolina 4d17790cbe Main list orders by the main artist 2024-09-15 20:59:30 +01:00
Claudio Ortolina 90e8022a77 Fix incorrect cast 2024-09-15 20:32:10 +01:00
Claudio Ortolina ce1ecf06a7 Import artists on top of existing records 2024-09-15 20:31:13 +01:00
Claudio Ortolina affa7a007e Simplify data model
Artists can be embedded inside records - given the projected size of the
dataset (a few 1000s in the worst case) relationships can be built in
memory without the need to be denormalized into separate tables.
2024-09-15 20:29:52 +01:00
Claudio Ortolina 988d311fef Add artist importer 2024-09-15 20:28:39 +01:00
Claudio Ortolina e3ff0228cd Load artists when showing a record 2024-09-15 20:28:39 +01:00
Claudio Ortolina 99d87a5596 Add http client dependency 2024-09-15 20:28:39 +01:00
Claudio Ortolina e1ab16a5fd Limit the amount of records in the list
Needs to be replaced with pagination
2024-09-15 20:28:38 +01:00
Claudio Ortolina 705fd665d2 Formatter pass 2024-09-15 20:28:37 +01:00
Claudio Ortolina 170f195aae Fix edge cases with parser
- Remove front_matter dependency, and use a hand-rolled simpler parser
  which is suitable for the data to parse (which is well-formed).
- Fix a couple of edge cases with years and titles with commas
2024-09-15 20:28:37 +01:00
Claudio Ortolina 2c42f3ea32 Can parse an obsidian entry to retrieve correct metadata 2024-09-15 20:28:37 +01:00
Claudio Ortolina e4ae157275 Associate artists and records 2024-09-15 20:28:35 +01:00
Claudio Ortolina e08fbe3740 Generate schema and live_view scaffold for records
1. Records are not yet tied to artists
2. The generated edit route, along with related functionality, may be
   deleted as I don't think it's gonna be needed. Leaving it included in
   the commit for reference.
2024-09-12 14:51:58 +01:00
Claudio Ortolina 34111a44ba Generate basic artist schema 2024-09-12 14:51:58 +01:00
Claudio Ortolina d547ee6f8d Generate project
Using `mix phx.new music_library --database sqlite3 --binary-id --no-mailer`
2024-09-12 14:05:08 +01:00