Claudio Ortolina
1e0d5486e0
Rename image* to cover*
2024-10-02 16:33:42 +01:00
Claudio Ortolina
fb978406cd
Remove year from records
2024-10-02 14:32:27 +01:00
Claudio Ortolina
024d95da7c
Use release instead of year
2024-10-02 14:22:22 +01:00
Claudio Ortolina
a3eaaef9d2
Move release group assembling logic into MB module
2024-10-01 17:22:31 +01:00
Claudio Ortolina
82b1f12f99
Avoid loading image-related fields when not necessary
...
Image data and url are only necessary when loading the image, which is
done exclusively via the /images endpoint. Most other read queries can
safely exclude them, and rely only on the hash as a cache key.
2024-10-01 12:26:27 +01:00
Claudio Ortolina
9b7429dd9f
Store image hashes in the db - part 2
2024-09-30 20:20:32 +01:00
Claudio Ortolina
180224d381
Store image hashes in the db - part 1
2024-09-30 20:09:32 +01:00
Claudio Ortolina
039ba95a60
Improve home page stats
2024-09-29 17:21:48 +01:00
Claudio Ortolina
64ea8fe3fa
Extend import to support choosing format
2024-09-28 20:23:22 +01:00
Claudio Ortolina
82e5962c74
Add record format (defaulting to CD)
2024-09-28 19:16:15 +01:00
Claudio Ortolina
7dec0309b5
Setup fly.io deployment
2024-09-27 19:38:17 +01:00
Claudio Ortolina
ae45ab44df
Can search and paginate records
2024-09-27 09:46:45 +01:00
Claudio Ortolina
95164cd977
Make search match all artists attribute
...
Ignores the fact that artists is a JSON structure - just treats it as a
giant piece of text.
2024-09-26 16:32:01 +01:00
Claudio Ortolina
f6d2bcf3fd
Add function to search for record
2024-09-24 22:49:40 +01:00
Claudio Ortolina
d3ea26ed8f
Improve importing visual feedback
2024-09-24 18:33:39 +01:00
Claudio Ortolina
31d74fde34
Handle importing errors
2024-09-24 18:33:16 +01:00
Claudio Ortolina
bcb70c9e1b
Store artists when importing a record
2024-09-24 09:40:52 +01:00
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