Commit Graph

1787 Commits

Author SHA1 Message Date
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 bc85165988 Remove stock Phoenix header 2024-09-20 18:27:31 +01:00
Claudio Ortolina 480af30e80 Improve records#show information structure 2024-09-20 18:24: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 1200215321 Enable aggressive caching for the images endpoint 2024-09-16 14:59:54 +01:00
Claudio Ortolina cb8b42aad6 When serving the image, only load its data 2024-09-16 14:47:13 +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 8eb64c6a4c Add dummy pagination with component wiring 2024-09-16 09:08:50 +01:00
Claudio Ortolina 4a8b8dcf43 Streamline information structure on records listing 2024-09-16 08:19:18 +01:00
Claudio Ortolina 5a3ff4be4b Bad fix for genres being nil 2024-09-15 20:59:51 +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 27f57cc68c Display artists in list 2024-09-15 20:31:13 +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 6063e560ba Move album art to the left and constrain its size 2024-09-15 20:28:38 +01:00
Claudio Ortolina 7e394aaa46 Widen main container 2024-09-15 20:28:38 +01:00
Claudio Ortolina d83a14773d Display genres as comma-separated list 2024-09-15 20:28:38 +01:00
Claudio Ortolina b386245740 Display record thumbnail in list 2024-09-15 20:28:38 +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 8255e50e1d Address gettext deprecations
Deprecation warning:

	warning: defining a Gettext backend by calling

	    use Gettext, otp_app: ...

	is deprecated. To define a backend, call:

	    use Gettext.Backend, otp_app: :my_app

	Then, instead of importing your backend, call this in your module:

	    use Gettext, backend: MyApp.Gettext
2024-09-12 14:13:06 +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