Skip to content

Commit

Permalink
v0.1
Browse files Browse the repository at this point in the history
v0.1 release
  • Loading branch information
FOSSforlife authored Apr 17, 2020
2 parents 68eab78 + 88fc0c6 commit b6bfcc3
Show file tree
Hide file tree
Showing 26 changed files with 5,604 additions and 2,299 deletions.
14 changes: 14 additions & 0 deletions .vscode/terminals.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"autorun": true,
"terminals": [
{
"name": "API",
"execute": false,
"commands": [
"cd ../patrician-api",
"clear",
"npm start"
]
}
]
}
3 changes: 3 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Development Setup
1. Have a local copy of the API running (either by cloning the repo or running from Docker Hub)
2. Whenever you make changes to the API schema, replace this directory's "schema.gql" file with the newly generated one from the API folder.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
Patrician is an app that lets you show off your music collection in your own unique way, gathering and importing data from all of your music listening profiles.

### Project Vision/Goals
- **Import your entire library in minutes**: Add music from Spotify, Last.fm, Discogs, your local music player, and more. You can set up continuous imports to keep your collection up-to-date, and fine-tune the settings so it only adds the albums you want. Metadata is acquired through Musicbrainz, but can be overridden on a per-album basis.
- **Import your entire library in minutes**: Add music from Spotify, Last.fm, Discogs, your local music player, and more. You can set up continuous imports to keep your collection up-to-date, and fine-tune the settings so it only adds the albums you want. Albums are automatically auto-tagged using the MusicBrainz database (but it's your choice to use the auto-tags or your own).
- **Self-expression**: Your profile is an expression of your unique identity. You can customize the colors and layout of your profile, add custom images, text, and widgets to the sidebars, categorize your music the way you want, implement a custom rating system, and even write an "about me" page.
- **Collection Management/Ratings**: Once you've set up your imports, you can add unlimited custom tags, write reviews for your albums and artists, organize your collection into folders, and many more advanced features.
- **One Link to Rule Them All**: Your Patrician profile will be the all-encompassing way to share your music library with others, combining data from Spotify, Last.fm, RateYourMusic, Discogs, and more in an elegant, customizable fashion.
- **Self-expression**: Your profile is an expression of your unique identity. You can add custom images, text, and widgets to the sidebars, categorize your music the way you want, and even write an "about me" page.
- **Powerful Search**: Your collection can be searched, filtered, and compared with other collections using advanced search queries.
- **Recommendation Inbox**: Users can share recommendations with each other, and manage lists of recommendations they've received (including outside of the platform).
- **Public APIs**: Collections can be accessed and searched using public APIs at no cost.
- **Public APIs**: Collections can be accessed and searched using our public API at no cost.
- **Exporting**: Collections can always be exported, so you're never locked into the platform.
33 changes: 33 additions & 0 deletions __generated__/getCollection.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions __generated__/globalTypes.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions codegen.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
overwrite: true
schema: "./schema.gql"
documents: "graphql/**/*.graphql"
generates:
generated/gqlTypes.ts:
plugins:
- "typescript-common"
- "typescript-client"
20 changes: 20 additions & 0 deletions data/mock-data-1.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
artist,title,rating,mbid,plays,review
Amon Tobin,Out From Out Where,9,076e4121-045e-3e6e-bcac-7c85cca4462d,300,
Jethro Tull,Aqualung,TBD,204cc47e-2e1a-3877-8e1e-d14bfffd19aa,,
Monolord,Vænir,8.5,3121b8e6-e22a-4c0f-a78e-f9ff24ffe5c9,,
Misþyrming,Söngvar elds og óreiðu,Q,41758fd1-87c0-497b-91b0-6f7814d33817,,
Animals As Leaders,The Joy of Motion,9.5,51a74d4a-f21d-49de-8655-5335dafd82d2,800,
Niechęć,Niechęć,8.5,5b18a603-0859-4cda-b092-112d213d94b0,350,
Electric Wizard,Dopethrone,9.5,5ebf4f0a-61ba-3829-9d0c-0a0e5ad8897e,,
Death,Human,7,6346903b-4480-3b0f-adef-90fe0b338509,,
Converge,All We Love We Leave Behind,9,86037f34-72c6-4ad9-8072-f20bb839f78d,600,
Five Star Hotel,Gray Data,8.8,8af6b3fc-0baf-41a1-85da-8f81e3ad9d0a,,
Vektor,Terminal Redux,8.5,8c14bbdd-de87-48fa-8cc9-153c3d56583e,,
Death Grips,The Money Store,10,aa0b4e86-358e-4c92-aecd-94f5f59233f7,1000,best album ever
Jaco Pastorius,Jaco Pastorius,8,acc5bdc4-64dc-462c-bf80-5333c9172cd7,,
Oranssi Pazuzu,Värähtelijä,8,c655270f-dbe2-4c27-84aa-159b0d2af5d3,250,
Flying Lotus,Cosmogramma,9.8,ddae2c76-1433-4a9a-be05-3447bda75eee,750,space jazz
Emperor,In the Nightside Eclipse,TBD,e8170089-f81a-3103-bb22-e6f43c4fcaf9,,
Jacob's Mouse,I'm Scared,8.5,e978960e-9495-3e6c-83e1-e708a0c9a508,,
Adamski,Liveandirect,TBD,f0c0b52f-8658-3c6b-9f5b-4634041a68bb,100,
Converge,Jane Doe,10,f56e3b38-c620-32f4-9845-2e2115f5e96f,900,
173 changes: 173 additions & 0 deletions data/mock-data-1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,173 @@
[
{
"artist": "Amon Tobin",
"title": "Out From Out Where",
"rating": "9",
"itemDetails": {
"mbid": "076e4121-045e-3e6e-bcac-7c85cca4462d"
},
"plays": 300,
"reviewBody": "",
"coverArt": "https://lastfm.freetls.fastly.net/i/u/770x0/9dfd44d56ee746528573249724c569a0.webp#9dfd44d56ee746528573249724c569a0"
},
{
"artist": "Jethro Tull",
"title": "Aqualung",
"rating": "TBD",
"itemDetails": {
"mbid": "204cc47e-2e1a-3877-8e1e-d14bfffd19aa"
},
"plays": 0,
"reviewBody": ""
},
{
"artist": "Monolord",
"title": "Vænir",
"rating": "8.5",
"itemDetails": {
"mbid": "3121b8e6-e22a-4c0f-a78e-f9ff24ffe5c9"
},
"plays": 0,
"reviewBody": ""
},
{
"artist": "Misþyrming",
"title": "Söngvar elds og óreiðu",
"rating": "Q",
"itemDetails": {
"mbid": "41758fd1-87c0-497b-91b0-6f7814d33817"
},
"plays": 0,
"reviewBody": ""
},
{
"artist": "Animals As Leaders",
"title": "The Joy of Motion",
"rating": "9.5",
"itemDetails": {
"mbid": "51a74d4a-f21d-49de-8655-5335dafd82d2"
},
"plays": 800,
"reviewBody": ""
},
{
"artist": "Niechęć",
"title": "Niechęć",
"rating": "8.5",
"itemDetails": {
"mbid": "5b18a603-0859-4cda-b092-112d213d94b0"
},
"plays": 350,
"reviewBody": ""
},
{
"artist": "Death",
"title": "Human",
"rating": "7",
"itemDetails": {
"mbid": "6346903b-4480-3b0f-adef-90fe0b338509"
},
"plays": 0,
"reviewBody": ""
},
{
"artist": "Converge",
"title": "All We Love We Leave Behind",
"rating": "9",
"itemDetails": {
"mbid": "86037f34-72c6-4ad9-8072-f20bb839f78d"
},
"plays": 600,
"reviewBody": ""
},
{
"artist": "Five Star Hotel",
"title": "Gray Data",
"rating": "8.8",
"itemDetails": {
"mbid": "8af6b3fc-0baf-41a1-85da-8f81e3ad9d0a"
},
"plays": 0,
"reviewBody": ""
},
{
"artist": "Vektor",
"title": "Terminal Redux",
"rating": "8.5",
"itemDetails": {
"mbid": "8c14bbdd-de87-48fa-8cc9-153c3d56583e"
},
"plays": 0,
"reviewBody": ""
},
{
"artist": "Jaco Pastorius",
"title": "Jaco Pastorius",
"rating": "8",
"itemDetails": {
"mbid": "acc5bdc4-64dc-462c-bf80-5333c9172cd7"
},
"plays": 0,
"reviewBody": ""
},
{
"artist": "Oranssi Pazuzu",
"title": "Värähtelijä",
"rating": "8",
"itemDetails": {
"mbid": "c655270f-dbe2-4c27-84aa-159b0d2af5d3"
},
"plays": 250,
"reviewBody": ""
},
{
"artist": "Flying Lotus",
"title": "Cosmogramma",
"rating": "9.8",
"itemDetails": {
"mbid": "ddae2c76-1433-4a9a-be05-3447bda75eee"
},
"plays": 750,
"reviewBody": "space jazz"
},
{
"artist": "Emperor",
"title": "In the Nightside Eclipse",
"rating": "TBD",
"itemDetails": {
"mbid": "e8170089-f81a-3103-bb22-e6f43c4fcaf9"
},
"plays": 0,
"reviewBody": ""
},
{
"artist": "Jacob's Mouse",
"title": "I'm Scared",
"rating": "8.5",
"itemDetails": {
"mbid": "e978960e-9495-3e6c-83e1-e708a0c9a508"
},
"plays": 0,
"reviewBody": ""
},
{
"artist": "Adamski",
"title": "Liveandirect",
"rating": "TBD",
"itemDetails": {
"mbid": "f0c0b52f-8658-3c6b-9f5b-4634041a68bb"
},
"plays": 100,
"reviewBody": ""
},
{
"artist": "Converge",
"title": "Jane Doe",
"rating": "10",
"itemDetails": {
"mbid": "f56e3b38-c620-32f4-9845-2e2115f5e96f"
},
"plays": 900,
"reviewBody": ""
}
]
62 changes: 62 additions & 0 deletions generated/gqlTypes.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
export type Maybe<T> = T | null;

export interface AuthCredentialsInput {
username: string;

password: string;
}

export interface AddItemInput {
artist: string;

album: string;

mbid: string;

rating?: Maybe<string>;
}

export interface RecipeInput {
title: string;

description?: Maybe<string>;
}

export interface RateInput {
recipeId: string;

value: number;
}

/** The javascript `Date` as string. Type represents date and time as the ISO Date string. */
export type DateTime = any;

// ====================================================
// Documents
// ====================================================

export namespace AnonymousQuery_1 {
export type Variables = {};

export type Query = {
__typename?: "Query";

getUser: GetUser;
};

export type GetUser = {
__typename?: "User";

username: string;

collection: Collection[];
};

export type Collection = {
__typename?: "CollectionItem";

artist: string;

albumName: string;
};
}
15 changes: 15 additions & 0 deletions graphql/user/queries/getCollection.graphql
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
query getCollection {
user(where: {id: $userId}) {
username
collection {
artist
title
itemDetails {
mbid
coverArt
}
rating
plays
}
}
}
Loading

1 comment on commit b6bfcc3

@vercel
Copy link

@vercel vercel bot commented on b6bfcc3 Apr 17, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.