shelves's People
shelves's Issues
Related releases component (album-detail subsection)
- list releases related to the open release
- opening release loads it into detail view (routelink /library/category/[albumid])
- first pass: first 4-5 releases returned
- toggle relation parameter (same artist, label, release year)
- reach: pagination
Sanitize user input in search
For example, typing "Rock/Pop" will navigate to an invalid route. This could potentially be fixed by specifying the search route with query params
Create first draft of search results component and service
- creates basic 'search' service for submitting search queries to server
- input search queries in top-bar search box
- display results for most recent query in main view area as list of releases
- selecting a release opens it in the release-detail view
[FIX] Update the DateLastEdit on Shelf when adding new release
[FIX] - Routing issue in artists grouping
The alphabetic sorting portion of an artist url (for example, '/a/' of /browse/artists/a/aaa436da-b331-4e58-a0fd-3d64d090c120) does not have a bearing on the releases displayed -- you can substitute it with whatever letter you want and that artist's releases will still display
Implement route guards for invalid categories/unknown releases
Since routing for categories follows the pattern: library/:category
we need to implement route guards to prevent users from navigating to routes for nonsense categories (ie library/foobar)
There should probably be a similar method for preventing deep-link navigation to nonsense release id's (ie library/detail/somephonyreleaseid)
At the moment these lead to nonsense pages
[FIX] Duplicate related releases
Create responsive root layout following angular material/flex layout
Using Angular material and material design guidelines (https://material.io/guidelines/layout/structure.html#structure-ui-regions)
create a responsive top-level layout for the entire application with
- sidebar navigation ( specific content TBD)
- main content area (empty container for now)
- bottom bar with search FAB (on mobile and tablet)
Clear search bar after searching
Create first draft of shelf detail view (editor)
Implements basic behavior of:
- populating with data from an opened shelf
- displaying previews for each release in the opened shelf
- adding releases to this shelf
- responding to 'dalet export' button clicks (no-op)
- selecting a release opens it in release-detail
Group releases by artist in browse
- group the list of releases under each category by artist name
- group each artist under their alphabetical letter
Handle invalid routes
- routes such as /library/category/notanactualcategory should be handled gracefully if someone enters them into the address bar (404 or redirect to library top-level)
Hide 'shelves' features from non-authenticated users
- shelf creation/editing should only be enable for authenticated 'KEXP' users
- angular auth?
[IDEA] Snackbars
- On posting a note
- On adding to a shelf
- On sign in/signup?
- For error messages?
Blank input value in search bar returns artists beginning with 'null'
Add extra check for blanks (this can be done server side for robustness' sake)
Refactor shelf preview 'card' as separate component
- shelf previews (as seen in the component drawer) make sense as an individual component
- this would give more flexibility for finding a shelf (eg they could appear in search results and on the main dashboard)
Tiled preview images for categories
- Goal: display a preview image on the category tiles that is made up of a grid of miniature album art images belonging to that collection
process:
- fetch 'n' album images from the genre (random?)
- use css rules to display them in a grid on the genre tile
[TODO] Signup button on login page
[IDEA] Release detail - click on artist name to bring back to that artist's releases
Implement basic error logging
- develop more useful error logging than simply writing out to console.log
[FIX] Browse groups will move beyond category
Since we are using 'greater than' syntax in Mongo to create browse groups, it is technically possible for the user to scroll past a group
For example:
to get group 'A' we find docs with a artist credit > A with a limit of 200, but this will technically get us artists in group 'B' as well if there are less than 200 artists remaining
This is a server side fix with implications on the frontend.
One approach would be to rewrite our get artists code to impose a 'less than' limit, or to use bucketing instead of pagination
[TODO] Conditional Header Rendering
If authorized, display a dropdown menu which users can use to sign out (and edit?) of their account. This should only be displayed if the current user is authorized
Search filter for shelves drawer
- text search filter by shelf name
- filters shelves list in drawer component
- should this be a pipe?
Wrong title on artist page
Not sure if this is a widespread problem, but the artist on the following page shows an album by the title 'Mer de noms', but clicking on the release and looking at the API response, the real title is [untitled]. May just be related to ng serve.
/browse/artists/a/078a9376-3c04-4280-b7d7-b20e158f345d
Create first draft of shelves drawer
Implements basic behavior of:
- listing 'my' shelves
- listing other shelves
- select open shelf in detail view
Create first draft of library browse feature
- implement library service for managing interaction with library db
- display top-level categories in KEXP library, with text descriptions of each (cards?)
- opening category routes to /library/[category]
- library/[category] displays as structured grid-list of all releases in the category
Related releases not updated when clicking "deep"
See #60 for more detail explanation; essentially happens when clicking through a lot of related releases very quickly. Probably related to the router event listener?
Album detail view first draft
- route: /library/[KEXPcategory]/[albumid]
- display full detail information about the open release
- album art, release title, release artist, label
- reach for this sprint: clicking on label, artist, etc opens search results for text="thing you clicked" (ie search: "DFA")
- reach for this sprint: related releases #10
Ideas for landing page
- genre representation in the library (how many albums in each genre, subgenre)
- artist origin map (map of countries with tallies for artists)
- featured collections/shelves ("rarities", "vinyl")
Create first draft of library "home" page
Implements basic behavior of:
- a landing page for the application, establishing context
- links to library browsing routes
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.